一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种积木编程方法及系统、存储介质、计算设备与流程

2022-03-09 01:03:01 来源:中国专利 TAG:
1.本发明涉及积木编程
技术领域
:,特别是一种积木编程方法及系统、存储介质、计算设备。
背景技术
::2.积木编程方法很多,比如scratch、blockly等可视化的编程器,它们降低了编程门槛,让枯燥的编程变成搭积木的游戏,因此让很多少年,甚至儿童就对编程产生浓厚的兴趣。但是,scratch,blockly的语法定义和生成,需要通过底层编程实现,定制一个新的积木比较复杂,用户需要学会类的扩展以及js的编程。技术实现要素:3.鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的积木编程方法及系统、存储介质、计算设备。4.根据本发明的第一方面,提供了一种积木编程方法,所述方法包括:5.获取基于积木编程模板输入的编程数据;所述积木编程模板基于栅格背景创建,包括多行积木行,每行所述积木行可放多个积木,每个积木占有至少两个格子;6.依据所述编程数据生成与各所述积木行对应的多条编程语句;7.基于所述多条编程语句组合生成程序代码。8.可选地,所述获取基于积木编程模板输入的编程数据包括:9.创建具有积木编程模板的可视化编辑页面;10.响应于操作命令在所述积木编程模板中的多个格子设置对应的积木,获取所述积木的积木类型及编辑数据作为所述编程数据。11.可选地,所述类型包括代码、包含代码、表格模板、表格数据、代码参数、注释。12.可选地,所述积木编程模板中利用缩进的积木行表示子语句;13.若任一积木对应的积木类型为包含代码、表格模板、代码参数中任一,则该积木后面一行的积木至少缩进两个格子。14.可选地,所述方法还包括:15.在所述可视化编辑页面同步渲染各所述积木对应的积木颜色。16.可选地,所述依据所述编程数据生成与各所述积木行对应的多条编程语句包括:17.对于任意连续的至少两行积木行,设定位于第一行的积木行为第一积木行,位于第二行缩进的积木行为第二积木行;18.依据所述第一积木行和所述第二积木行中的积木生成编程语句。19.可选地,所述积木编程模板中缩进的积木行能够兼容不同类型的编程语言指令。20.根据本发明的第二方面,提供了一种积木编程系统,包括:21.数据获取模块,用于获取基于积木编程模板输入的编程数据;所述积木编程模板基于栅格背景创建,包括多行积木行,每行所述积木行可放多个积木,每个积木占有至少两个格子;22.语句生成模块,用于依据所述编程数据生成与各所述积木行对应的多条编程语句;23.代码生成模块,用于基于所述多条编程语句组合生成程序代码。24.根据本发明的第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面中任一项所述的积木编程方法。25.根据本发明的第四方面,提供了一种计算设备,所述计算设备包括处理器以及存储器:26.所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;27.所述处理器用于根据所述程序代码中的指令执行第一方面任一项所述的积木编程方法。28.本发明提供了一种积木编程方法及系统、存储介质、计算设备,本发明提供的方案通过在积木编程模板中采用缩进的方式实现编程语句的编辑,可以让用户更加自由的设计新的编程语言,并且,积木编程模板中几乎兼容所有的现有编程语言,而且可以把旧的代码直接复制进去制作成大的积木,从而更方便的搭建积木编程系统。29.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。30.根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。附图说明31.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:32.图1示出了根据本发明实施例的积木编程方法流程示意图;33.图2示出了根据本发明实施例的积木编程模板示意图;34.图3示出了根据本发明实施例的积木编程可视化界面示意图;35.图4示出了根据本发明实施例的一行积木行示意图;36.图5示出了根据本发明一实施例的多行积木行示意图;37.图6示出了根据本发明另一实施例的多行积木行示意图;38.图7示出了根据本发明又一实施例的多行积木行示意图;39.图8示出了根据本发明实施例的积木编程装置结构示意图。具体实施方式40.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。41.图1示出了根据本发明实施例的积木编程方法流程示意图,参见图1可知,本实施例提供的积木编程方法至少可以包括以下步骤s101~s103。42.s101,获取基于积木编程模板输入的编程数据;积木编程模板基于栅格背景创建,包括多行积木行,每行积木行可放多个积木,每个积木占有至少两个格子。43.本实施例提供的积木编程模板是可进行积木的存放与编辑,其中,每个格子可以设置不同类型的积木,设置积木的方式,是通过可视化编辑的方式实现积木的设置于存放。本实施例中的积木编程模板可属于一种开发工具,可通过控件的方式嵌入web页面,以通过web页面进行可视化的展示以及程序编译,或者利用积木编程模板生成客户端程序进行展示编辑,还可以设置有接口以通过其他应用程序实现调用等等,本发明实施例对此不做限定。44.积木编程模板可以呈栅格状。每一行积木行可以生成一行编程语句,且每一行积木行具有两个以上格子。每行积木行可放多个积木,每个积木占有至少两个格子。各个积木所占用的数量可以相同也可以不同,处于同一行的积木所占用的格子在该积木行连续。例如,如果第一个积木占用了一行的1,2两个格子,那么3,4格子就代表第一个参数,5,6格子代表第二个参数,以此类推。45.在本实施例中,如图3所示,积木编程模板包括多个积木行,本实施例中,利用缩进的积木行表示子语句。换言之,对于任一积木行来讲,设定该积木行为第一积木行,积木编程模板中位于第一积木行上一行的积木行作为第二积木行,且第一积木行中的积木相对于第二积木行中的积木缩进设置,且至少缩进两个格子,那么第一积木行对应的第一编程语句为第二积木行对应的第二编程语句的子语句。实际应用中,如果第二个语句是第一个的子语句,这里子语句指if后面的语句,或者循环里面的语句,缩进积木代表有条件的执行,类似编程语言。积木编程模板中缩进的积木行能够兼容不同类型的编程语言指令。本实施例通过缩进的设计,可以兼容python等需要缩进的语言,也可以让其他语言代码格式化,便于阅读。46.在本发明可选实施例中,上述步骤s101获取基于积木编程模板输入的编程数据可以包括:创建具有积木编程模板的可视化编辑页面;响应于操作命令在积木编程模板中的多个格子设置对应的积木,获取积木的积木类型及编辑数据作为编程数据。47.本实施例中的可视化编辑页面可针对积木编程模板中放置的任一个积木进行编辑,检测到针对可视化编辑页面中积木编程模板的任一积木的操作指令时,可创建对应的编辑页面,积木的编辑页面可如图3所示。实际应用中,在格子中设置积木时,可通过对应的编辑页面对积木对应积木的积木类型、积木颜色等数据进行设置,例如,积木类型为包含代码,对应的函数名称以及代码等均可进行编辑,一个积木行可以有一个积木或者是多个积木,当一个积木行有多个积木时,可以结合多个积木对应的编辑数据最终生成该积木行对应的编程语句。48.本实施例中,积木类型可以包括代码(code)、包含代码(code2)、表格模板(code_table)、表格数据(table_data)、代码参数(code_param)、注释(comment)。上述实施例提及,积木编程模板中利用缩进的积木行表示子语句。可选地,若任一积木对应的积木类型为包含代码,表格模板,代码参数中任一,则该积木后面一行的积木至少缩进两个格子。49.s102,依据编程数据生成与各积木行对应的多条编程语句。50.s103,基于多条编程语句组合生成编程代码。在得到对应每一行的编程语句之后,就可以进行组合以生成最终的程序代码。51.本实施例的积木类型可以有多种,包括code类型、code2类型、code_table类型、table_data类型、code_param类型、comment类型。52.对于只有一行积木行的代码,如图4所示,所有的积木均在同一积木行,其中,1,2,3,4格子为第一个积木,5,6格子为第二个积木,7,8格子为第三个积木,这3个积木的积木类型都为code。53.第一个积木代码为:{1}*x {2}*y54.第二个积木代码为:a它是第一个积木的第2个参数也就是替换{1}55.第三个积木代码为:b它是第一个积木的第3个参数也就是替换{2}56.则,生成的语句为a*x b*y57.也就是第一个积木后面2格位置为第1个参数,第4格为第2个参数,第6格为第3个参数...58.假设有多行积木行,如果第一行的积木对应的积木类型是code2类型、code_table类型、code_param类型中任一,则第二行开始就要缩进。59.以图5所示积木为例60.第1个积木类型是code261.代码为:[0062][0063]可以理解的是,积木缩进一个格子,代表代码的两个空格。以图5为例,假设积木“a=1”对应的积木行相对于上一积木行缩进一个格子,那么对应生成“a=1”的代码时,则该行代码起始位有两个空格,以兼容python语言。[0064]如果第一行积木的积木类型是code_table[0065]第二行以及后面各行积木的积木类型是table_data[0066]如图6所示,第1个积木类型是code_table,[0067]代码为:[0068][0069]如果第一行积木的积木类型是code_param[0070]如图7所示[0071]第1个积木类型是code_param,[0072]代码为:[0073]namespace.test_obj[0074]第2个积木类型是table_data[0075]代码为[0076][0077]comment类型(中文名:注释)[0078]代表注释,不输出任何信息,也就是输出为空字符串[0079]在积木编程模板编辑积木时,可通过选择或者是信息数据的方式实现对积木类型的选择,当确定用户选定积木类型之后,即可结合上下语句以生成最终的程序代码。[0080]本发明实施例提供的编程方法,通过在积木编程模板中采用缩进的方式实现编程语句的编辑,可以让用户更加自由的设计新的编程语言,并且,积木编程模板中几乎兼容所有的现有编程语言,而且可以把旧的代码直接复制进去制作成大的积木,从而更方便的搭建积木编程系统。进一步地,本实施例提供可积木编程模板可在web端进行可视化展示,通过web管理编译所有代码,方便共享,协作,提高效率。[0081]基于本实施例提供的方案,用积木编程的方法可以把程序的复杂部分交个专业开发人员,让简单的逻辑设定让给用户设置。这样可以方便用户更加自由的设定软件的功能。甚至可以让用户在某个自由度内,个性化的定制自己的软件、应用程序app。[0082]进一步地,本发明可以避开定制新积木旧要重写底层类库的麻烦,支持一个新的语言,都不需要重写底层代码,和类库,直接定义新的积木即可,用户只需要把代码格式按照我们的规范输入即可。[0083]基于同一发明构思,本发明实施例还提供了积木编程系统,如图8所示,本实施例提供的积木编程系统可以包括:[0084]数据获取模块410,用于获取基于积木编程模板输入的编程数据;积木编程模板基于栅格背景创建,包括多行积木行,每行所述积木行可放多个积木,每个积木占有至少两个格子。[0085]语句生成模块420,用于依据编程数据生成与各积木行对应的多条编程语句。[0086]代码生成模块430,用于基于多条编程语句组合生成程序代码。[0087]在本发明一可选实施例中,数据获取模块410还可以用于:[0088]创建具有积木编程模板的可视化编辑页面;[0089]响应于操作命令在积木编程模板中的多个格子设置对应的积木,获取积木的积木类型及编辑数据作为编程数据。[0090]可循地,积木类型包括代码(code)、包含代码(code2)、表格模板(code_table)、表格数据(table_data)、代码参数(code_param)、注释(comment)。所述积木编程模板中利用缩进的积木行表示子语句;若任一积木对应的积木类型为包含代码,表格模板,代码参数中任一,则该积木后面一行的积木至少缩进两个格子。[0091]在本发明一可选实施例中,语句生成模块420还可以用于:[0092]在可视化编辑页面同步渲染各积木对应的积木颜色。[0093]在本发明一可选实施例中,语句生成模块420还可以用于:[0094]对于任意连续的至少两行积木行,设定位于第一行的积木行为第一积木行,位于第二行缩进的积木行为第二积木行;[0095]依据第一积木行和第二积木行中的积木生成编程语句。[0096]本发明一可选实施例还提供了一种计算机可读存储介质,计算机可读存储介质用于存储程序代码,程序代码用于执行上述实施例的积木编程方法。[0097]本发明一可选实施例还提供了一种计算设备,计算设备包括处理器以及存储器:存储器用于存储程序代码,并将程序代码传输给处理器;处理器用于根据程序代码中的指令执行上述实施例任一项的积木编程方法。[0098]所属领域的技术人员可以清楚地了解到,上述描述的系统、装置、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,为简洁起见,在此不另赘述。[0099]另外,在本发明各个实施例中的各功能单元可以物理上相互独立,也可以两个或两个以上功能单元集成在一起,还可以全部功能单元都集成在一个处理单元中。上述集成的功能单元既可以采用硬件的形式实现,也可以采用软件或者固件的形式实现。[0100]本领域普通技术人员可以理解:集成的功能单元如果以软件的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,其包括若干指令,用以使得一台计算设备(例如个人计算机,服务器,或者网络设备等)在运行指令时执行本发明各实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom)、随机存取存储器(ram),磁碟或者光盘等各种可以存储程序代码的介质。[0101]或者,实现前述方法实施例的全部或部分步骤可以通过程序指令相关的硬件(诸如个人计算机,服务器,或者网络设备等的计算设备)来完成,程序指令可以存储于一计算机可读取存储介质中,当程序指令被计算设备的处理器执行时,计算设备执行本发明各实施例方法的全部或部分步骤。[0102]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:在本发明的精神和原则之内,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案脱离本发明的保护范围。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献