CN111773733A - 基于Arcade平台的编程方法、设备及存储介质 - Google Patents
基于Arcade平台的编程方法、设备及存储介质 Download PDFInfo
- Publication number
- CN111773733A CN111773733A CN202010642405.0A CN202010642405A CN111773733A CN 111773733 A CN111773733 A CN 111773733A CN 202010642405 A CN202010642405 A CN 202010642405A CN 111773733 A CN111773733 A CN 111773733A
- Authority
- CN
- China
- Prior art keywords
- target
- program
- application program
- programming language
- programmable device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000003860 storage Methods 0.000 title claims abstract description 16
- 238000003825 pressing Methods 0.000 claims description 70
- 238000004590 computer program Methods 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 10
- 230000009471 action Effects 0.000 claims description 7
- 230000004048 modification Effects 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 abstract description 48
- 230000000875 corresponding effect Effects 0.000 description 20
- 230000000694 effects Effects 0.000 description 19
- 238000004891 communication Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 230000001276 controlling effect Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000004880 explosion Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/77—Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供一种基于Arcade平台的编程方法、设备及存储介质。本申请实施例中,通过在基于Arcade平台的可编程设备中扩展支持目标编程语言的功能,可以让用户在使用可编程设备进行编程时使用不同于Arcade平台默认编程语言的目标编程语言进行编程,给用户提供了更多的选择,提升了可编程设备使用的灵活性。并且,基于目标编程语言对应的底层驱动程序,还可以对可编程设备的物理硬件进行功能自定义,对应用程序进行对应的控制,丰富了可编程硬件设备的功能,提升了用户体验。
Description
技术领域
本申请涉及游戏编程技术领域,尤其涉及一种基于Arcade平台的编程方法、设备及存储介质。
背景技术
Arcade平台是微软MakeCode平台的一个分支,主要用于游戏编程,通过Arcade平台可以创建复古街机游戏。它将复杂的游戏逻辑简化成积木块的形式,使之通俗易懂,只要能理解每个积木块的文字意思就可以轻松地入门这款游戏编程平台。Arcade平台的游戏接口,可以提供控制游戏角色的物理信息、特效、碰撞、重叠、动画和生命周期管理等功能。在游戏中还支持更新、提示、对话和场景定义等功能,例如,控制游戏界面中的背景地图、游戏角色碰撞以及摄影机位置等,让学习游戏开发充满乐趣,有助于玩家通过编写游戏的方式学习现代程序设计概念。
通常情况下,Arcade平台只支持其识别的编程语言,无法兼容其他编程语言,如果玩家想使用其他编程语言在Arcade平台实现游戏编程,需要安装驱动程序或者软件工具,以及对Arcade平台的引导程序进行更新,整个过程较为繁琐。
发明内容
本申请的多个方面提供一种基于Arcade平台的编程方法、设备及存储介质,用以扩展Arcade所在编程设备中使用的编程语言种类,提升编程的灵活性。
本申请实施例提供了一种基于Arcade平台的编程方法,所述方法包括:在Arcade平台所在可编程设备中安装目标插件,所述目标插件包括采用目标编程语言编写的目标引导程序和目标应用程序,所述目标编程语言不同于所述Arcade平台的默认编程语言;响应于对所述可编程设备上加载按钮的第一按压操作,在所述可编程设备中创建目标闪存空间,并将所述目标引导程序和所述目标应用程序转义成所述Arcade平台支持的文件格式后存储至所述目标闪存空间中;加载所述目标引导程序,以在所述可编程设备上创建所述目标编程语言的运行环境;在所述目标编程语言的运行环境下,加载所述目标闪存空间中的目标应用程序。
本申请实施例还提供了一种可编程硬件设备,包括:Arcade芯片、处理器以及存储有计算机程序的存储器;
所述处理器,用于执行所述计算机程序,以用于:获取在所述可编程设备中安装的目标插件,所述目标插件包括采用目标编程语言编写的目标引导程序和目标应用程序,所述目标编程语言不同于所述Arcade芯片的默认编程语言;响应于对所述可编程设备上加载按钮的第一按压操作,在所述可编程设备中创建目标闪存空间,并将所述目标引导程序和所述目标应用程序转义成所述Arcade芯片支持的文件格式后存储至所述目标闪存空间中;
所述Arcade芯片,用于加载所述目标引导程序,以在所述可编程设备上创建所述目标编程语言的运行环境;以及在所述目标编程语言的运行环境下,加载所述目标闪存空间中的目标应用程序。
本申请实施例还提供了一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被处理器执行时,致使所述处理器至少实现以下动作:获取在所述可编程设备中安装的目标插件,所述目标插件包括采用目标编程语言编写的目标引导程序和目标应用程序,所述目标编程语言不同于所述Arcade芯片的默认编程语言;响应于对所述可编程设备上加载按钮的第一按压操作,在所述可编程设备中创建目标闪存空间,并将所述目标引导程序和所述目标应用程序转义成所述Arcade芯片支持的文件格式后存储至所述目标闪存空间中;
当所述目标闪存空间中的目标引导程序和目标应用程序被执行时,致使所述Arcade芯片实现以下动作:加载所述目标引导程序,以在所述可编程设备上创建所述目标编程语言的运行环境;在所述目标编程语言的运行环境下,加载所述目标闪存空间中的目标应用程序。
本申请实施例中,通过在基于Arcade平台的可编程设备中扩展支持目标编程语言的功能,可以让用户在使用可编程设备进行编程时使用不同于Arcade平台默认编程语言的目标编程语言进行编程,给用户提供了更多的选择,提升了可编程设备使用的灵活性。并且,基于目标编程语言对应的底层驱动程序,还可以对可编程设备的物理硬件进行功能自定义,对应用程序进行对应的控制,丰富了可编程硬件设备的功能,提升了用户体验。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1a为本申请实施例提供的一种基于Arcade平台的编程方法的流程图;
图1b为本申请实施例提供的另一种基于Arcade平台的编程方法的流程图;
图2为本申请实施例提供的一种可编程设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
Arcade平台是微软MakeCode平台的一个分支,主要用于游戏编程,通过Arcade平台可以创建复古街机游戏,将Arcade平台应用于可编程设备,用户可以基于Arcade平台在可编程设备上实现自定义的编程功能。例如,用户可以利用可编程设备编写游戏程序,基于Arcade平台提供的功能,实现对游戏角色的物理信息、特效、碰撞、重叠、动画以及生命周期等功能进行管理和控制,还可以对游戏进行更新、提示、对话和场景定义等功能。例如,控制游戏界面中的背景地图、游戏角色碰撞以及摄影机位置等,使游戏的内容和功能更加丰富和有趣。通常情况下,Arcade平台只支持默认编程语言的运行环境,如果用户想要使用其他编程语言在可编程设备上编程,需要对Arcade平台的软件程序进行修改或封装来为其他编程语言提供运行环境,在操作和实现上都比较复杂,灵活性较低。因此,有必要针对Arcade平台可支持的编程语言进行扩展,提升用户在切换编程语言时的简单性和灵活性,以满足用户不同的编程需求。
图1a为本申请实施例提供了一种基于Arcade平台的编程方法,如图1a所示,方法包括:
S1a、在Arcade平台所在可编程设备中安装目标插件,目标插件包括采用目标编程语言编写的目标引导程序和目标应用程序,目标编程语言不同于Arcade平台的默认编程语言。
S2a、响应于对可编程设备上加载按钮的第一按压操作,在可编程设备中创建目标闪存空间,并将目标引导程序和目标应用程序转义成Arcade平台支持的文件格式后存储至目标闪存空间中。
S3a、加载目标引导程序,以在可编程设备上创建目标编程语言的运行环境。
S4a、在目标编程语言的运行环境下,加载目标闪存空间中的目标应用程序。
由于Arcade平台默认只提供一种编程语言的运行环境,即Arcade平台默认编程语言的运行环境,用户只能通过Arcade平台的默认编程语言实现在与可编程设备通信连接的计算机设备上直接编程。因此,想要实现在Arcade平台所在的可编程设备上运行用目标编程语言编写的应用程序,首先需要在Arcade平台所在可编程设备中为目标编程语言创建运行环境。其中,目标编程语言是指不同于Arcade平台的默认编程语言的编程语言。在本申请实施例中,通过在Arcade平台所在可编程设备中安装目标插件来为创建目标编程语言的运行环境提供基础。其中,目标插件中包括采用目标编程语言编写的目标引导程序和目标应用程序。在实际应用中,目标引导程序用于在启动目标应用程序之前被加载,以用于在Arcade平台所在可编程设备中为加载目标应用程序创建运行环境。在本实施例中,并不限定Arcade平台的默认编程语言的种类,根据Arcade平台的官方设置或者对Arcade平台的版本更新及维护,该默认编程语言也可能发生变化,例如,可以是JavaScript、HTML或XML等。进一步,也不限定目标编程语言的种类,例如,可以是MicroPython、CircuitPython或PHP等。进一步,也不限定安装目标插件的方式,例如,用户可以通过在与可编程设备通信连接的计算机设备中插入U盘的方式安装目标插件。
在本申请实施例中,若用户选择使用目标编程语言编写程序,当安装目标插件后,可以通过操作Arcade平台所在可编程设备上的加载按钮启动插件。Arcade平台所在可编程设备在响应到用户对可编程设备上加载按钮的第一按压操作后,可以在可编程设备中创建目标闪存空间,并将目标插件中的目标引导程序和目标应用程序转义成Arcade平台支持的文件格式后存储至目标闪存空间中。在本实施例中,加载按钮可复用,支持多种按压操作,不同按压操作代表不同指令。在本实施例中,并不限定加载按钮所支持的各种按压操作的方式,Arcade平台所在可编程设备可以通过加载按钮被按压的时长、次数、力度等信息来区分不同按压操作,同理,也可以通过加载按钮被按压的时长、次数、力度等信息来识别当前的按压操作是否为第一按压操作,例如,长安1秒种以上为第一按压操作。在本实施例中,也不限定目标闪存空间的实现形态,根据可编程设备的数据读取方式不同,目标闪存空间的实现形态也可以不同,例如,目标闪存空间可以是串行接口闪存(serial peripheralinterface Flash,SPIFlash)。在本实施例中,也不限定Arcade平台支持的文件格式,根据Arcade平台的官方设置或者对Arcade平台的版本更新及维护,所支持的文件格式也可能发生变化,例如,可以是uf2文件格式。在本实施例中,被转义后的目标引导程序和目标应用程序可以被Arcade平台识别和加载,可编程设备在将转义后的目标引导程序和目标应用程序存储到目标闪存空间后,可向Arcade平台发送加载指令,Arcade平台根据该加载指令可以加载目标闪存空间中的目标应到程序和目标应用程序。在本实施例中,存储到目标闪存空间中的目标引导程序先被加载,加载目标引导程序之后可以在可编程设备上创建出目标编程语言的运行环境。进一步,在目标编程语言的运行环境下,可成功加载目标闪存空间中的目标应用程序,进而,用户可以在可编程设备上查看目标应用程序的运行效果,以及在可编程设备上对目标应用程序进行更新或者使用等操作。以目标应用程序是游戏程序为例,这里提到的用户使用目标应用程序是指利用目标应用程序玩游戏、利用目标编程语言编写游戏程序以控制游戏中的角色等。
在本申请实施例中,在加载目标应用程序之后,若用户想要对目标应用程序进行更新,可以在Arcade平台所在可编程设备中导入新的目标应用程序,并将新的目标应用程序转义成Arcade平台支持的文件格式;进一步,将目标闪存空间中原有的目标应用程序替换为新的目标应用程序后加载新的目标应用程序。具体地,用户通过在与可编程设备通信连接的计算机设备中编写新的应用程序,将编写后的应用程序保存后可以生成目标编程语言对应格式的文件,进一步将该具有目标编程语言对应格式的文件转换成Arcade平台支持的文件格式后作为新的目标应用程序,并替换目标闪存空间中原有的目标应用程序,即实现了对目标程序更新的过程。进一步,可向Arcade平台发送加载指令,Arcade平台根据该加载指令可以加载新的目标应用程序,进而,用户可以在可编程设备上查看新的目标应用程序的运行效果,以及在可编程设备上对新的目标应用程序进行更新或者使用等操作。
以目标编程语言是MicroPython编程语言为例,用户安装的插件中包含用MicroPython编程语言编写的目标引导程序和目标应用程序,则当目标引导程序被加载后,在可编程设备上可以创建出MicroPython编程语言对应的运行环境,用户可以在与可编程设备通信连接的计算机设备上使用MicroPython编程语言编写自己想要的目标应用程序。当用户使用MicroPython编程语言编写程序并保存后,会生成具有.py格式的文件。由于生成的.py格式的文件不是Arcade平台支持的默认文件格式,Arcade平台无法对其进行识别和加载,因此,在替换目标闪存空间中原有的目标应用程序之前,需要将生成的.py格式的文件转义成Arcade平台支持的文件格式后再进行替换操作。例如,Arcade平台支持的文件格式为uf2格式,则需要将.py格式的文件转换成uf2格式的文件,该转义后的uf2格式的文件即可作为新的目标应用程序替换目标闪存空间中原有的目标应用程序。进一步,替换后的目标应用程序在已经创建好的运行环境下被加载,进而,用户可以在可编程设备上查看更新后的目标应用程序的运行效果,以及在可编程设备上对新的目标应用程序进行更新或者使用等操作。
在本实施例中,在加载目标闪存空间中的目标应用程序之后,用户还可以对可编程设备上的加载按钮执行第二按压操作,该第二按压操作不同于上述第一按压操作,Arcade平台所在可编程设备同样可以通过加载按钮被按压的时长、次数、力度等信息,识别当前的按压操作是否为第二按压操作,例如,短按一下为第二按压操作。Arcade平台所在可编程设备在响应到用户对可编程设备上的加载按钮的第二按压操作后,向Arcade平台发送用户执行第二按压操作的指令,Arcade平台根据该指令可以在目标闪存空间中的目标引导程序和目标应用程序之间进行切换加载。例如,用户在使用目标应用程序的过程中想要重启目标应用程序,则可以短按一下加载按钮,切换为加载目标引导程序,以使得目标应用程序实现重启的效果。在本实施例中,并不限定切换加载目标引导程序和目标应用程序的方式。例如,在目标应用程序加载的过程中,Arcade平台所在可编程设备响应到第二按压操作后,向Arcade平台发送用户执行第二按压操作的指令,Arcade平台根据该指令由当前加载目标应用程序切换为加载目标引导程序,在目标引导程序加载的过程中,Arcade平台所在可编程设备响应到第二按压操作后,向Arcade平台发送用户执行第二按压操作的指令,Arcade平台根据该指令由当前加载目标引导程序切换为加载目标应用程序等。也可以通过按压的次数来确定切换加载目标引导程序和目标应用程序的方式,例如,在目标闪存空间中的目标应用程序被加载后,Arcade平台所在可编程设备第一次响应到第二按压操作后,向Arcade平台发送用户执行第二按压操作的指令,Arcade平台根据该指令可以先加载目标引导程序再加载目标应用程序,后续再次接收到第二按压操作的指令后,则加载目标引导程序,再次接收到第二按压操作的指令后,则加载目标应用程序,以此类推。
在本申请实施例中,在加载目标闪存空间中的目标应用程序之后,目标应用程序处于运行状态中,用户还可以对可编程设备上的复位按钮进行按压操作,Arcade平台所在可编程设备在响应到用户对可编程设备上的复位按钮的按压操作后,可以对目标闪存空间中的目标应用程序进行复位操作,即将目标应用程序调整为初始状态。在实际应用中,目标应用程序在没有被加载之前处于初始状态,当目标应用程序被加载后会处于运行状态。因此,对于处于运行状态中的目标应用程序,用户可以通过按压复位按钮将处于运行状态中的目标应用程序切换为初始状态,即停止当前运行的目标应用程序。在本实施例中,不限定用户对复位按钮的操作方式,例如,可以是长安、短按、按一下或按两下等。也不限定将目标应用程切换成初始状态后的效果,例如,可以在目标应用程序切换为初始状态后重新加载目标应用程序,实现重启的效果;也可以在目标应用程序切换为初始状态后不再加载目标应用程式,实现结束或暂停运行的效果。对于可编程设备上按钮的功能,用户可以灵活自定义。关于对可编程设备上的按钮进行功能自定义的内容将在后续实施例中做具体的介绍,在此不过多描述。
在本申请实施例中,在加载目标闪存空间中的目标应用程序之后,用户还可以对可编程设备上的恢复初始设置按钮进行按压操作,Arcade平台所在可编程设备在响应到用户对可编程设备上的恢复初始设置按钮的按压操作后,可以对目标闪存空间中的目标应用程序进行恢复初始设置操作。在本实施例中,恢复初始设置是指将目标闪存中的目标应用程序的状态,恢复为从目标插件刚导入目标闪存中对应的状态。例如,用户在编写目标应用程序过程中,由于疏忽导致程序编写错误,但用户不想对编写错误的目标应用程序进行修改,或者修改起来特别繁琐,则用户可以通过按压可编程设备上的恢复初始设置按钮对目标应用程序进行恢复初始设置操作,以用于重新编写正确的目标应用程序。或者,用户本次编写的应用程序已经使用过,用户想再编写一个新的目标应用程序,也可以通过按压可编程设备上的恢复初始设置按钮对目标应用程序进行恢复初始设置操作,以用于编写新的目标应用程序。在本申请实施例中,不限定用户对恢复初始设置按钮进行按压操作的方式,例如,可以是长按、短按、按一下或者按两下等。也不限定目标应用程序恢复到初始状态后的加载方式,例如,可以是自动加载,也可以是通过用户按压加载按钮后实现对目标应用程序进行加载。
图1b为本申请实施例提供的基于Arcade平台的编程方法整体流程图,如图1b所示,在Arcade平台所在可编程设备上安装目标插件之前,可以通过将Arcade平台所在可编程设备连接计算机设备,以加载Arcade平台中的默认引导程序,并在本地创建目标磁盘,以供用户选择是否采用Arcade平台默认的编程语言进行编写程序。若用户选择采用不同于Arcade平台默认的编程语言的目标编程语言编写程序,则如图1b所示,可以通过与Arcade平台所在可编程设备通信连接的计算机设备向可编程设备中安装目标插件,以执行上述实施例中的步骤实现用目标编程语言编程。若用户选择采用Arcade平台默认的编程语言编写程序,则如图1b所示,可以向目标磁盘中导入采用默认编程语言编写的应用程序。在实际应用中,当Arcade平台所在的可编程设备接入计算机设备后,Arcade平台可以识别当前是否接入计算机设备,在判断接入计算机设备后,可以通过加载Arcade平台中默认的引导程序启动Arcade平台,并在可编程设备本地创建目标磁盘。用户可以根据自己的意愿选择使用Arcade平台默认的编程语言编写程序,或者选择使用不同于默认编程语言的目标编程语言编写程序。若用户选择使用Arcade平台默认的编程语言编写程序,则在用户没有安装目标插件的情况下,可以在目标磁盘中导入采用默认编程语言编写的应用程序,并加载采用默认编程语言编写的应用程序。具体地,用户可以在与Arcade所在可编程设备通信连接的计算机设备上利用默认编程语言编写应用程序,将利用默认编程语言编写完成的应用程序进行保存可以生成具有Arcade平台支持格式的文件。进一步,将该文件导入到目标磁盘中,Arcade平台可以对目标磁盘中采用默认编程语言编写的应用程序进行识别和加载,之后可在可编程设备上查看该应用程序的运行效果,对该应用程序进行更新或者使用等操作。例如,Arcade平台默认的编程语言是JavaScript编程语言,支持的文件格式为uf2格式,当可编程设备连接计算机设备后,用户可以在与可编程设备通信连接的计算机设备上利用JavaScript编程语言编写应用程序,编写后的应用程序保存后可以生成具有uf2格式的文件,进一步,将该uf2格式的应用程序导入目标磁盘中即可被加载。在本申请实施例中,并不限定目标磁盘的实现形态,根据可编程设备数据读取方式的不同,目标磁盘的实现形态也可以不同,例如,目标磁盘可以是USB磁盘。
在本申请实施例中,如图1b所示,用户还可以在目标磁盘中导入采用默认编程语言编写的引导程序,当在目标磁盘中导入采用默认编程语言编写的引导程序,Arcade平台可以对目标磁盘中采用默认编程语言编写的引导程序进行识别和加载。在后续启动采用默认编程语言编写的应用程序之前也会先加载该采用默认编程语言编写的引导程序,而不是加载Arcade平台默认的引导程序,以此来实现对Arcade平台默认引导程序的更新。例如,用户可以在与Arcade所在可编程设备通信连接的计算机设备上采用默认编程语言编写引导程序,将采用默认编程语言编写完成的引导程序进行保存可以生成具有Arcade平台支持格式的文件。进一步,将该文件导入到目标磁盘中即可加载该引导程序,以为采用默认编程语言编写的应用程序创建运行环境,实现替换Arcade平台默认引导程序的过程。在创建的运行环境下,目标磁盘中采用默认编程语言编写的应用程序可以被加载。进一步,在目标磁盘中采用默认编程语言编写的应用程序加载之后,用户还可以对可编程设备上的加载按钮执行第二按压操作,可编程设备在响应到该第二按压操作后,向Arcade平台发送用户执行第二按压操作的指令,Arcade平台根据该指令可以实现在目标磁盘中的引导程序和应用程序之间进行切换加载。例如,用户在使用应用程序的过程中想要重启应用程序,则可以通过按压加载按钮切换为加载引导程序,以使得应用程序实现重启效果。关于第二按压操作的方式以及切换加载目标磁盘中的引导程序和应用程序的方式不做限定,具体可参见上述关于切换加载目标闪存空间中的目标引导程序和目标应用程序的说明,在此不再赘述。
在本申请实施例中,在加载目标磁盘中的应用程序之后,用户还可以对可编程设备上的复位按钮进行按压操作,Arcade平台所在可编程设备在响应到用户对可编程设备上复位按钮的按压操作后,可以对目标磁盘中的应用程序进行复位操作。在实际应用中,应用程序在没有被加载之前处于初始状态,当应用程序被加载后会处于运行状态。因此,对于处于运行状态中的应用程序,用户可以通过按压复位按钮将处于运行状态中的应用程序切换为初始状态,即停止当前运行的应用程序。相应地,对于用户通过按压复位按钮对目标磁盘中的应用程序进行复位操作的具体过程可参见上述对目标闪存空间中目标应用程序进行复位操作的实施例内容,在此不再赘述。
在本申请实施例中,在加载目标磁盘中的应用程序之后,用户还可以对可编程设备上的恢复初始设置按钮进行按压操作,Arcade平台所在可编程设备在响应到用户对可编程设备上的恢复初始设置按钮的按压操作后,可以对目标磁盘中的应用程序进行恢复初始设置操作。相应地,对于用户通过按压恢复初始设置按钮对目标磁盘中的应用程序进行恢复初始设置操作的具体过程可参见上述对目标闪存空间中目标应用程序进行恢复初始设置操作的实施例内容,在此不再赘述。
在本申请实施例中,若用户采用不同于Arcade平台默认的编程语言编写程序,用户还可以通过按压更新按钮对编写的目标应用程序进行修改。如图1b所示,在加载目标应用程序加载之前,Arcade平台可以判断可编程设备上的更新按钮是否被按压,若更新按钮被按压,判断目标闪存空间中是否存在目标应用程序,在目标闪存空间中存在目标应用程序的情况下,在与可编程设备通信连接的计算机设备上显示目标应用程序,以及响应用户对目标应用程序的修改操作,以得到修改后的目标应用程序。例如,用户在编写程序时因为编写出错,导致代码出现无限循环现象,使得应用程序被持续加载,则用户可通过按压编辑按钮对写错的程序进行重新编辑。当Arcade平台所在可编程设备响应到用户按下更新按钮的操作后会进入访问模式,以获得目标闪存空间中的程序文件。若Arcade平台所在可编程设备判断目标闪存空间中存在目标应用程序,则可以通过与Arcade平台所在可编程设备通信连接的计算机设备向用户呈现访问到的目标应用程序,用户可以在与可编程设备通信连接的计算机设备上对目标应用程序进行编辑,修改编写错误的代码。进一步,Arcade平台可以对修改后的目标应用程序进行加载,则用户可以在可编程设备上查看修改后的目标应用程序的运行效果,以及在可编程设备上对修改后的目标应用程序进行更新个使用等操作。在本实施例中,不限定Arcade平台对修改后的目标应用程序进行加载方式,例如,可编程设备在响应到用户保存修改后的目标应用程序后,可以向Arcade平台发送加载指令,Arcade平台根据该加载指令可以在已经创建好的运行环境下直接加载修改后的目标应用程序。也可以在可编程设备在响应到用户按压加载按钮后向Arcade平台发送加载指令,Arcade平台根据该加载指令可以在已经创建好的运行环境下直接加载修改后的目标应用程序。
在本申请实施例中,目标应用程序可以是游戏程序,其中,游戏程序是调用基于目标编程语言底层驱动实现的显示驱动程序、按钮驱动程序、音频驱动程序以及彩灯驱动程序中的至少一个实现的。其中,显示驱动程序可以供用户利用显示驱动程序在可编程硬件设备上的显示器上至少进行游戏背景和游戏角色的显示控制;例如,为游戏画面设置游戏背景地图的颜色和图案,设置游戏的角色和角色的状态等。按钮驱动程序可以供用户利用按钮驱动程序在可编程硬件设备上自定义使用的物理按钮并通过物理按钮实现对游戏角色的控制;例如,根据可编程设备的功能需求将可编程设备上的游戏按钮和功能按钮设置成不同的功能,用户通过操控具有不同功能的游戏按钮控制游戏角色实现不同的动作;或者,还可以实现多人在同一可编程设备上操控不同的游戏按钮控制不同的游戏角色,实现多人共同游戏;用户通过操控具有特定功能的功能按钮可以实现对可编程设备中的程序进行控制,例如在上述实施例中,用户通过加载按钮、复位按钮、恢复初始设置按钮以及更新按钮对可编程设备中的程序进行控制的操作。音频驱动程序可以供用户利用音频驱动程序对可编程硬件设备上的音频电路进行播放控制;例如,控制可编程设备播放不同旋律的音频;或者,自定义自己想要的音频并进行播放。彩灯驱动程序用以供用户利用彩灯驱动程序对可编程硬件设备上的彩灯进行显示控制;例如,控制彩灯显示不同的颜色、控制彩灯显示的时长、频率等。在上述实施例中,关于基于目标编程语言底层驱动实现的驱动程序仅为示例性说明,在实际应用中并不限于上述四种驱动程序,用户可根据可编程设备的需求灵活设置。下面对上述底层驱动程序的实现过程,以及基于上述底层驱动程序实现游戏程序和对游戏进行控制的过程进行说明。
在本申请实施例中,显示驱动程序可以包含图形数据存储空间、游戏图层、文本图层、屏幕显示层以及硬件底层驱动等显示控制功能。游戏图层可以将从图形数据存储空间获取的图形数据构建成游戏背景和游戏角色,文本图层可以将从图形数据存储空间获取的图形数据构建成游戏文本。进一步,通过屏幕显示层对游戏背景和游戏角色进行计算得到对应的图层像素,以及对游戏文本进行计算得到对应的文本像素,最后通过硬件底层驱动将图层像素和文本像素显示到可编程设备的显示器上。在本实施例中,对于显示驱动程序的实现形式不做限定,上述关于显示驱动程序所包含的内容和功能仅为示例性说明,根据可编程设备的不同需求,用户可以灵活设置。
在本申请实施例中,按钮驱动程序可以包括位接口、ID接口、高低值接口以及下降沿接口等按钮控制接口。ID接口、高低值接口和下降沿接口基于调用位接口得到当前被按下的按钮对应的位值,可以进一步根据位值计算得到当前被按下的按钮对应的ID值、高低值和下降沿等信息,根据上述按钮控制接口可以判断当前被按下的按钮是否为目标按钮以及当前按钮的状态,进而对目标按钮进行具体的功能定义,以用于上层游戏程度实现对游戏按钮的功能控制。在本实施例中,对于按钮驱动程序的实现形式不做限定,上述关于按钮驱动程序所包含的内容和功能仅为示例性说明,根据可编程设备的不同需求,用户可以灵活设置。
在本实施例中,用户在编写游戏程序时可以编写对游戏角色的控制逻辑,在加载游戏程序时,基于调用上述显示驱动程序和按钮驱动程序,可以确定针对每个角色进行功能控制的游戏按钮,用户在操作游戏按钮时即可按照游戏程序中的逻辑控制游戏角色实现对应的动作。例如,通过上述按钮驱动程序为可编程设备上的4个游戏按钮分别定义了“上、下、左、右”功能,用户在游戏程序中定义将上述4个游戏按钮作为一组游戏按钮并与角色A绑定,并且当可编程设备响应到用户操作上述一组游戏按钮后,可以向Arcade平台发送用户执行按压游戏按钮的操作指令,Arcade平台根据该指令执行游戏程序可以控制角色A实现向上、向下、向左以及向右移动,并通过调用显示驱动程序将角色A的动态效果显示在可编程设备的显示器上,这样用户即可以查看游戏程序的运行效果,以对角色A进行控制。进一步,用户在编写游戏程序时还可以通过调用按钮驱动程序再定义一组具有“上、下、左、右”功能的游戏按钮,并将该组按钮与角色B绑定,并通过调用显示驱动程序定义角色碰撞的效果,以实现多人在同一编程设备上玩游戏的功能。例如,用户1通过与角色A绑定的一组游戏按钮可以控制角色A进行向上、向下、向左以及向右移动,用户2通过与角色B绑定的一组游戏按钮可以控制角色B进行向上、向下、向左以及向右移动。当用户1和用户2分别操控角色A和角色B移动并且发生碰撞时会向游戏程序返回该碰撞信息,游戏程序根据该碰撞信息可以调用显示驱动程序在可编程设备的显示器上向用户显示碰撞效果,例如,在两个角色碰撞的位置显示爆炸效果,以增加游戏的趣味性。
在本申请实施例中,音频驱动程序可以包括音调接口、声调接口、旋律接口以及音量接口等音频控制接口。通过上述音频控制接口可以实现对内置音频的播放控制、改变音频的旋律以及自定义音频等功能,以在用户玩游戏时增加更多的趣味性。在本实施例中,对于音频驱动程序的实现形式不做限定,上述关于音频驱动程序所包含的内容和功能仅为示例性说明,根据可编程设备的不同需求,用户可以灵活设置。
在本申请实施例中,彩灯驱动程序可以包括设置单个彩灯接口、设置多个彩灯接口以及设置彩灯显示等彩灯控制接口。通过上述彩灯控制接口可以实现对彩灯显示的颜色、时长和频率进行控制等功能,以实现彩灯闪烁和跑马灯等效果,增加用户在玩游戏时的趣味性。在本实施例中,对于彩灯驱动程序的实现形式不做限定,上述关于彩灯驱动程序所包含的内容和功能仅为示例性说明,根据可编程设备的不同需求,用户可以灵活设置。
进一步,在上述多用户在同一可编程设备上玩游戏的过程中,可编程设备在响应到用户操作游戏按钮以控制游戏角色移动的操作后,可以向Arcade平台发送用户执行按压游戏按钮的操作指令,Arcade平台根据该指令在执行游戏程序时,还可以调用音频驱动程序控制播放音频以及调用彩灯驱动程序控制彩灯显示。例如,用户在编写游戏程序时,可以在游戏程序中可以定义用户1和用户2在操作游戏按钮控制游戏角色移动时,调用音频驱动程序以控制可编程设备播放具有趣味性的音频。当角色A和角色B发生碰撞时,会向游戏程序返回该碰撞信息,游戏程序根据该碰撞信息调用音频驱动程序,以控制可编程设备播放具有爆炸音效的音频,并且调用彩灯驱动程序控制可编程设备上的彩灯以红色闪烁的形式进行显示,用以警示用户。
在上述实施例中,对于可编程设备上的显示器、功能按钮、游戏按钮以及彩灯等物理硬件的实现形态不做限定,对于功能按钮、游戏按钮以及彩灯的个数也不做限定。根据可编程设备实现形态的不同,对应的物理硬件也可以不同。相应地,对应控制各物理硬件的底层驱动程序的控制逻辑也会不同,用户可以根据实际需求进行有针对性的设置,在本申请实施例中不做限定。
在本申请实施例中,通过在基于Arcade平台的可编程设备中扩展支持目标编程语言的功能,可以让用户在使用可编程设备进行编程时使用不同于Arcade平台默认编程语言的目标编程语言进行编程,给用户提供了更多的选择,提升了可编程设备使用的灵活性。并且,基于目标编程语言对应的底层驱动程序,还可以对可编程设备的物理硬件进行功能自定义,对应用程序进行对应的控制,丰富了可编程硬件设备的功能,提升了用户体验。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤S1a至步骤S4a的执行主体可以为设备A;又比如,步骤S1a和S2a的执行主体可以为设备A,步骤S3a和S4a的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如S1a、S2a等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图2为本申请实施例提供的一种可编程设备的结构示意图,在本申请实施例中,并不限定可编程设备的实现形态,例如,可以是可编程机器人、可编程小车、可编程计算器或者其他可编程硬件设备。
如图2所示,本申请实施例的可编程设备100包括:Arcade芯片00、处理器10、存储有计算机程序的存储器20以及显示器30、按钮40、音频电路50和彩灯60中的至少一种硬件模块。
存储器20,主要用于存储计算机程序,这些计算机程序可被处理器10执行,致使处理器10控制可编程设备100实现相应功能、完成相应动作或任务。除了存储计算机程序之外,存储器20还可被配置为存储其它各种数据以支持在可编程设备100上的操作。这些数据的示例包括用于在可编程设备100上操作的任何应用程序或方法的指令。
存储器20,可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
在本申请实施例中,并不限定处理器10的实现形态,例如可以是但不限于CPU、GPU或MCU等。处理器10,可以看作是可编程设备100的控制系统,可用于执行存储器20中存储的计算机程序,以控制可编程设备100实现相应功能、完成相应动作或任务。值得说明的是,根据可编程设备100实现形态以及所处于场景的不同,其所需实现的功能、完成的动作或任务会有所不同;相应地,存储器20中存储的计算机程序也会有所不同,而处理器10执行不同计算机程序可控制可编程设备100实现不同的功能、完成不同的动作或任务。
在一些可选实施例中,如图2所示,可编程设备100还可以包括:驱动组件70、电源组件80以及通信组件90等其它组件。图2中仅示意性给出部分组件,并不意味着可编程设备100只包括图2所示组件,针对不同的应用需求,可编程设备100可包含不同的组件。其中,驱动组件70可以包括驱动轮、驱动电机、万向轮等。在图2中,可以理解为虚线框内的组件为可选组件,而非必选组件,具体可视可编程设备100的产品形态而定,在此不做过多说明。
在本申请实施例中,当处理器10执行存储器20中的计算机程序时,以用于:获取在可编程设备100中安装的目标插件,目标插件包括采用目标编程语言编写的目标引导程序和目标应用程序,目标编程语言不同于Arcade芯片00的默认编程语言;响应于对可编程设备100上加载按钮的第一按压操作,在可编程设备100中创建目标闪存空间,并将目标引导程序和目标应用程序转义成Arcade芯片00支持的文件格式后存储至目标闪存空间中;
Arcade芯片00,用于加载目标引导程序,以在可编程设备100上创建目标编程语言的运行环境;以及在目标编程语言的运行环境下,加载目标闪存空间中的目标应用程序。
在一可选实施例中,在Arcade芯片00加载目标应用程序之后,处理器10还用于:获取在可编程设备100中导入的新的目标应用程序,并将新的目标应用程序转义成Arcade芯片00支持的文件格式;将目标闪存空间中原有的目标应用程序替换为新的目标应用程序,并向Arcade芯片00发送加载指令,Arcade芯片00根据加载指令加载新的目标应用程序。
在一可选实施例中,在Arcade芯片00加载目标闪存空间中的目标应用程序之后,处理器10还用于:响应于对可编程设备100上加载按钮的第二按压操作,并向Arcade芯片00发送操作指令,Arcade芯片00根据操作指令在目标闪存空间中的目标引导程序和目标应用程序之间进行切换加载。
在一可选实施例中,在Arcade芯片00加载目标闪存空间中的目标应用程序之后,处理器10还用于:响应于对可编程设备100上复位按钮的按压操作,对目标闪存空间中的目标应用程序进行复位操作。
在一可选实施例中,在Arcade芯片00所在可编程设备100上安装目标插件之前,Arcade芯片00还用于:加载Arcade芯片00中的默认引导程序,在可编程设备100本地创建目标磁盘,以供导入采用默认编程语言编写的应用程序。
在一可选实施例中,在可编程设备100本地创建目标磁盘后,处理器10还用于:在没有安装目标插件的情况下,获取在目标磁盘中导入采用默认编程语言编写的应用程序,并向Arcade芯片00发送加载指令,Arcade芯片00根据加载指令加载采用默认编程语言编写的应用程序。
在一可选实施例中,处理器10还用于:判断可编程设备100上更新按钮是否被按压;若更新按钮被按压,判断目标闪存空间中是否存在目标应用程序;在目标闪存空间中存在目标应用程序的情况下,在与可编程设备通信连接的计算机设备上显示目标应用程序;以及响应用户对目标应用程序的修改操作,得到修改后的目标应用程序。
在一可选实施例中,目标应用程序是游戏程序,游戏程序是调用基于目标编程语言底层驱动实现的显示驱动程序、按钮驱动程序、音频驱动程序以及彩灯驱动程序中的至少一个实现的。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当计算机程序被处理器执行时,致使处理器至少实现以下动作:获取在可编程设备中安装的目标插件,目标插件包括采用目标编程语言编写的目标引导程序和目标应用程序,目标编程语言不同于Arcade芯片的默认编程语言;响应于对可编程设备上加载按钮的第一按压操作,在可编程设备中创建目标闪存空间,并将目标引导程序和目标应用程序转义成Arcade芯片支持的文件格式后存储至目标闪存空间中;
当目标闪存空间中的目标引导程序和目标应用程序被执行时,致使Arcade芯片实现以下动作:加载目标引导程序,以在可编程设备上创建目标编程语言的运行环境;在目标编程语言的运行环境下,加载目标闪存空间中的目标应用程序。
上述图2中的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G/LTE、5G等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件还可以包括近场通信(NFC)模块,射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术等。
上述图2中的显示器包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
上述图2中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
上述图2中的音频电路对应的组件,可被配置为输出和/或输入音频信号。例如,音频电路对应的组件包括一个麦克风(MIC),当音频电路所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种基于Arcade平台的编程方法,其特征在于,所述方法包括:
在Arcade平台所在可编程设备中安装目标插件,所述目标插件包括采用目标编程语言编写的目标引导程序和目标应用程序,所述目标编程语言不同于所述Arcade平台的默认编程语言;
响应于对所述可编程设备上加载按钮的第一按压操作,在所述可编程设备中创建目标闪存空间,并将所述目标引导程序和所述目标应用程序转义成所述Arcade平台支持的文件格式后存储至所述目标闪存空间中;
加载所述目标引导程序,以在所述可编程设备上创建所述目标编程语言的运行环境;
在所述目标编程语言的运行环境下,加载所述目标闪存空间中的目标应用程序。
2.根据权利要求1所述的方法,其特征在于,在加载所述目标应用程序之后,还包括:
在所述Arcade平台所在可编程设备中导入新的目标应用程序,并将所述新的目标应用程序转义成所述Arcade平台支持的文件格式;
将所述目标闪存空间中原有的目标应用程序替换为所述新的目标应用程序,并加载所述新目的标应用程序。
3.根据权利要求1-2任一项所述的方法,其特征在于,在加载所述目标闪存空间中的目标应用程序之后,还包括:
响应于对所述可编程设备上加载按钮的第二按压操作,在所述目标闪存空间中的目标引导程序和目标应用程序之间进行切换加载。
4.根据权利要求1所述的方法,其特征在于,在加载所述目标闪存空间中的目标应用程序之后,还包括:
响应于对所述可编程设备上复位按钮的按压操作,对所述目标闪存空间中的目标应用程序进行复位操作。
5.根据权利要求1所述的方法,其特征在于,在所述Arcade平台所在可编程设备上安装目标插件之前,还包括:
加载所述Arcade平台中的默认引导程序,在本地创建目标磁盘,以供导入采用所述默认编程语言编写的应用程序。
6.根据权利要求5所述的方法,其特征在于,在本地创建所述目标磁盘后,还包括:
在没有安装所述目标插件的情况下,在所述目标磁盘中导入采用所述默认编程语言编写的应用程序,并加载所述采用默认编程语言编写的应用程序。
7.根据权利要求1所述的方法,其特征在于,还包括:
判断所述可编程设备上更新按钮是否被按压;
若所述更新按钮被按压,判断所述目标闪存空间中是否存在所述目标应用程序;
在所述目标闪存空间中存在所述目标应用程序的情况下,在与所述可编程设备通信连接的计算机设备上显示所述目标应用程序;以及
响应用户对所述目标应用程序的修改操作,得到修改后的目标应用程序。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述目标应用程序是游戏程序,所述游戏程序是调用基于所述目标编程语言底层驱动实现的显示驱动程序、按钮驱动程序、音频驱动程序以及彩灯驱动程序中的至少一个实现的。
9.一种可编程硬件设备,其特征在于,包括:Arcade芯片、处理器以及存储有计算机程序的存储器;
所述处理器,用于执行所述计算机程序,以用于:
获取在所述可编程设备中安装的目标插件,所述目标插件包括采用目标编程语言编写的目标引导程序和目标应用程序,所述目标编程语言不同于所述Arcade芯片的默认编程语言;
响应于对所述可编程设备上加载按钮的第一按压操作,在所述可编程设备中创建目标闪存空间,并将所述目标引导程序和所述目标应用程序转义成所述Arcade芯片支持的文件格式后存储至所述目标闪存空间中;
所述Arcade芯片,用于加载所述目标引导程序,以在所述可编程设备上创建所述目标编程语言的运行环境;以及在所述目标编程语言的运行环境下,加载所述目标闪存空间中的目标应用程序。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,当所述计算机程序被处理器执行时,致使所述处理器至少实现以下动作:
获取在所述可编程设备中安装的目标插件,所述目标插件包括采用目标编程语言编写的目标引导程序和目标应用程序,所述目标编程语言不同于所述Arcade芯片的默认编程语言;
响应于对所述可编程设备上加载按钮的第一按压操作,在所述可编程设备中创建目标闪存空间,并将所述目标引导程序和所述目标应用程序转义成所述Arcade芯片支持的文件格式后存储至所述目标闪存空间中;
当所述目标闪存空间中的目标引导程序和目标应用程序被执行时,致使所述Arcade芯片实现以下动作:
加载所述目标引导程序,以在所述可编程设备上创建所述目标编程语言的运行环境;
在所述目标编程语言的运行环境下,加载所述目标闪存空间中的目标应用程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010642405.0A CN111773733B (zh) | 2020-07-06 | 2020-07-06 | 基于Arcade平台的编程方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010642405.0A CN111773733B (zh) | 2020-07-06 | 2020-07-06 | 基于Arcade平台的编程方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111773733A true CN111773733A (zh) | 2020-10-16 |
CN111773733B CN111773733B (zh) | 2024-04-19 |
Family
ID=72758082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010642405.0A Active CN111773733B (zh) | 2020-07-06 | 2020-07-06 | 基于Arcade平台的编程方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111773733B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0422300D0 (en) * | 2003-10-07 | 2004-11-10 | Symbian Software Ltd | Extensible framework for handling different mark up language parsers and generators in a computing device |
CN101763280A (zh) * | 2008-09-30 | 2010-06-30 | Ics三重自动化软件有限公司 | 编译模型 |
US7921415B1 (en) * | 2006-05-19 | 2011-04-05 | Tellme Networks, Inc. | Externally loaded browser interpreter for non-native language support |
US20140229726A1 (en) * | 2013-02-08 | 2014-08-14 | Automatic Data Capture Technologies Group, Inc. | Systems and methods for metadata-driven command processor and structured program transfer protocol |
CN104572042A (zh) * | 2013-10-15 | 2015-04-29 | 航天信息股份有限公司 | 移动终端设备的跨平台中间件装置及其实现方法 |
CN106445518A (zh) * | 2016-09-22 | 2017-02-22 | 中国传媒大学 | 一种跨平台移动终端应用程序开发方法及系统 |
US9678726B1 (en) * | 2015-03-27 | 2017-06-13 | Amazon Technologies, Inc. | Automatic generation of plugins for development tools |
CN107678941A (zh) * | 2017-08-31 | 2018-02-09 | 深圳市小牛在线互联网信息咨询有限公司 | 应用程序测试的方法及装置、存储介质和计算机设备 |
CN109284147A (zh) * | 2018-09-06 | 2019-01-29 | 平安科技(深圳)有限公司 | 一种插件适配方法和装置 |
CN109388430A (zh) * | 2017-08-02 | 2019-02-26 | 丰郅(上海)新能源科技有限公司 | 实现微处理器对外设硬件控制的方法 |
US10303492B1 (en) * | 2017-12-13 | 2019-05-28 | Amazon Technologies, Inc. | Managing custom runtimes in an on-demand code execution system |
CN110379257A (zh) * | 2019-06-13 | 2019-10-25 | 广东工业大学 | 一种多语言跨平台的在线代码对战系统和方法 |
CN110874236A (zh) * | 2019-11-13 | 2020-03-10 | 中国建设银行股份有限公司 | 一种跨平台应用装置、终端及存储介质 |
CN111240643A (zh) * | 2019-12-27 | 2020-06-05 | 苏州铃空网络科技有限公司 | 一种跨平台的软件设计方法 |
-
2020
- 2020-07-06 CN CN202010642405.0A patent/CN111773733B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0422300D0 (en) * | 2003-10-07 | 2004-11-10 | Symbian Software Ltd | Extensible framework for handling different mark up language parsers and generators in a computing device |
US7921415B1 (en) * | 2006-05-19 | 2011-04-05 | Tellme Networks, Inc. | Externally loaded browser interpreter for non-native language support |
CN101763280A (zh) * | 2008-09-30 | 2010-06-30 | Ics三重自动化软件有限公司 | 编译模型 |
US20140229726A1 (en) * | 2013-02-08 | 2014-08-14 | Automatic Data Capture Technologies Group, Inc. | Systems and methods for metadata-driven command processor and structured program transfer protocol |
CN104572042A (zh) * | 2013-10-15 | 2015-04-29 | 航天信息股份有限公司 | 移动终端设备的跨平台中间件装置及其实现方法 |
US9678726B1 (en) * | 2015-03-27 | 2017-06-13 | Amazon Technologies, Inc. | Automatic generation of plugins for development tools |
CN106445518A (zh) * | 2016-09-22 | 2017-02-22 | 中国传媒大学 | 一种跨平台移动终端应用程序开发方法及系统 |
CN109388430A (zh) * | 2017-08-02 | 2019-02-26 | 丰郅(上海)新能源科技有限公司 | 实现微处理器对外设硬件控制的方法 |
CN107678941A (zh) * | 2017-08-31 | 2018-02-09 | 深圳市小牛在线互联网信息咨询有限公司 | 应用程序测试的方法及装置、存储介质和计算机设备 |
US10303492B1 (en) * | 2017-12-13 | 2019-05-28 | Amazon Technologies, Inc. | Managing custom runtimes in an on-demand code execution system |
CN109284147A (zh) * | 2018-09-06 | 2019-01-29 | 平安科技(深圳)有限公司 | 一种插件适配方法和装置 |
CN110379257A (zh) * | 2019-06-13 | 2019-10-25 | 广东工业大学 | 一种多语言跨平台的在线代码对战系统和方法 |
CN110874236A (zh) * | 2019-11-13 | 2020-03-10 | 中国建设银行股份有限公司 | 一种跨平台应用装置、终端及存储介质 |
CN111240643A (zh) * | 2019-12-27 | 2020-06-05 | 苏州铃空网络科技有限公司 | 一种跨平台的软件设计方法 |
Non-Patent Citations (2)
Title |
---|
廖亚风;王正勇;何小海;: "基于DM642的FLASH多页加载方法研究与实现", 四川大学学报(自然科学版), no. 06 * |
马强;刘佩林;: "基于编程语言结构的通用配置代码生成方法", 计算机工程, no. 18 * |
Also Published As
Publication number | Publication date |
---|---|
CN111773733B (zh) | 2024-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109848985B (zh) | 一种机器人的图形编程方法、装置及智能终端 | |
CN101923479B (zh) | 一种终端启动时控制屏幕显示的方法及移动终端 | |
CA3042322A1 (en) | Object display method, terminal device, and computer storage medium | |
CN104246659A (zh) | 可实例化的手势对象 | |
US20160184724A1 (en) | Dynamic App Programming Environment with Physical Object Interaction | |
CN109947388B (zh) | 页面播读的控制方法、装置、电子设备及存储介质 | |
CN103634682A (zh) | 智能电视中的全局设置实现方法及装置 | |
CN105045555A (zh) | 一种基于配置文件实现音频冲突解决的方法及装置 | |
WO2015148797A1 (en) | System and method for providing an audio interface for table computer | |
CN113082721B (zh) | 集成游戏模块的应用程序的资源管理方法、装置、电子设备及存储介质 | |
CN111459586A (zh) | 远程协助方法、装置、存储介质及终端 | |
CN112511874B (zh) | 游戏操控方法、智能电视及存储介质 | |
CN111701241A (zh) | 形态切换方法及装置、存储介质、计算机设备 | |
CN103744606A (zh) | 一种控制方法及电子设备 | |
CN111773733B (zh) | 基于Arcade平台的编程方法、设备及存储介质 | |
CN104714629B (zh) | 一种信息处理方法及电子设备 | |
CN113342330A (zh) | 前端工程生成方法及装置 | |
CN111385781B (zh) | 一种文件分享方法、智能手表、存储介质及电子设备 | |
CN110851370B (zh) | 程序测试方法及装置、存储介质 | |
CN111796786A (zh) | 投屏方法、装置、终端及存储介质 | |
JP2009163518A (ja) | 情報処理装置及びプログラム | |
CN111773692A (zh) | 基于MicroPython的硬件驱动方法、设备及存储介质 | |
CN114222272A (zh) | 车辆控制方法、终端设备、车载终端及存储介质 | |
US20210065409A1 (en) | Electronic apparatus and control method thereof | |
CN112925457A (zh) | 应用程序的控制方法、装置、存储介质及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |