玩具、儿童益智游戏、儿童逻辑训练、编程,特别是涉及一种迷宫编程桌面游戏装置及方法。
背景技术:
在当今世界,工作和学习中,多多少少会遇到一些需要编程解决的问题,而帮助儿童掌握编程思想,对儿童人生发展是大有裨益的。本申请涉及内容的目的就是启发儿童的逻辑能力和编程能力,寓教于乐,使他们在玩耍的过程中学习到编程的相关知识,为他们适应新的世界环境打好必要的基础。
技术实现要素:
本发明的目的是阐述一种儿童教育的编程桌面游戏,此桌面游戏装置具有高度的可拓展性,游戏者通过动手构建迷宫和动手编辑流程解迷宫,获得一定的编程知识。此装置可以覆盖计算机科学领域的流程、分支、循环、参数传递、函数调用、递归等功能,对儿童来说,是一个获取编程知识的良好途径。
为了达到上诉效果,本发明提供了如下方案。
一种迷宫编程桌面游戏装置,包括:拼图块、指令牌、游戏角色,所述拼图块用以拼接、构建迷宫地图,所述指令牌为编程的动作单元,所述游戏角色用来表示游戏中用来记录位置的棋子,指导游戏角色进行动作。
优选的,拼图块内部元素按照概念分为障碍区域和道路区域。只有当道路两两相接时游戏角色才能进行移动。
优选的,角色为带指向性的卡片或者物体。
优选的,指令牌为矩形卡片,正面印有表示具体动作的图案,而反面印有表示相应意义的代码。
优选的,指令牌分为条件牌和命令牌,条件牌表示地图中出现的某种特定的条件,命令牌表示一个有效的执行指令,条件牌需要和它后面的一张牌组合起来使用,如果条件牌条件成立,则执行条件牌后面一张指令牌,如果条件牌条件不成立,则跳过条件牌后面一张牌而继续执行后边的指令牌。
优选的,命令牌分为函数牌和动作牌,所述函数牌表示对函数的调用指令,所述动作牌表示游戏角色一个特定的动作。
优选的,装置还包括一个指令编辑器,指令辑器由2块硬质板活页和活页夹组成,指令编辑器可以分为若干个函数区,且指令编辑器至少包含一个主函数区,游戏者可以将指令牌插入到函数区来进行编程。
优选的,装置包括游戏道具,游戏道具在迷宫中表示一种条件或者物品,游戏道具为正方形的卡片,尺寸比拼图块要小,在地图构建过程中将其放入某一拼图块中使用。
一种迷宫编程桌面游戏方法,其特征步骤为:
1.游戏者选取拼图块进行迷宫地图构建,构造特定通路特征的迷宫,将游戏角色放到迷宫起点;
2.游戏者根据已构建迷宫的通路特性,选取特定的动作牌,决定他们在程序编辑器中的顺序和位置,并将他们放入活页夹中;
3.闭合活页夹,从主函数区开始,翻动指令牌,并根据当前指令牌对游戏角色进行动作。过程中如有函数调用的情况,在退出函数后,要把程序编辑器中此函数区的指令牌全部翻回到初始状态,方便下次调用;
4.根据程序编辑器中的内容推演结果,反复调整程序编辑器中的指令牌,直到推演的结果能够使得游戏角色达到迷宫构建时设置的最终目标。
该桌面编程游戏装置及方法有如下优点:
拓展性强、自由度高,由于地图本身来源于拼接,所以游戏中的地图是可以千变万化的。同时,一种地图对应的解法流程可能不止一种,所以流程上也具有高度的自由性;
锻炼拓扑能力和逻辑能力,精妙地图的构建需要拓扑能力的充分发挥,而精妙地图的解答需要很强的逻辑推理能力,游戏者在玩耍的过程中,同时得到了两方面的锻炼;
趣味性强,由于拥有很高的自由度,所以迎合儿童天性中的创造性,使得本发明特别适合于儿童编程教育。同时,本发明可以采取多人一问一答式的游戏方法,使得游戏者在协作中获得相应的能力。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有方案中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图是本发明的一些实例,对于本领域的相关人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明一种具有实施方式所提供的一种迷宫编程桌面游戏装置的构成示意图。
图2为本发明一种具有实施方式所提供的一种迷宫编程桌面游戏装置的拼图块示意图。
图3为本发明一种具有实施方式所提供的一种迷宫编程桌面游戏装置的指令牌示意图,具体的说,是一种表示角色直行的动作牌。
图4为本发明一种具有实施方式所提供的一种迷宫编程桌面游戏装置的条件牌的示意图,具体的说,是一种表示角色在当前位置可否右转的判断条件。
图5为本发明一种具有实施方式所提供的一种迷宫编程桌面游戏装置的函数牌示意图。
图6为本发明一种具有实施方式所提供的一种迷宫编程桌面游戏装置程序编辑器示意图。
图7为本发明一种具有实施方式所提供的一种迷宫编程桌面游戏装置的按照游戏规则拼接出的一种形式的迷宫地图及其解答路径。
图8为本发明一种具有实施方式所提供的一种迷宫编程桌面游戏装置的根据图7所示迷宫地图提供的一种破解迷宫的程序集合构成。
附图标记如下:
1为拼图块,2为游戏道具,3为游戏角色,4为程序编辑器,5为指令牌,2-1为拼图块障碍区域,2-2为拼图块道路区域,3-1为指令牌预留的孔洞,3-2表示指令牌的正面,3-2表示与指令牌动作相关的图案,3-4表示指令牌的反面,3-5表示指令牌反面与动作相关的代码,4-1表示条件指令牌的正面,4-2表示条件指令牌的条件图案,4-3表示条件指令牌的反面,4-4表示条件指令牌反面与条件判定相关的代码,5-1表示函数牌的正面,5-2表示函数牌的方面,6-1表示程序编辑器的两块硬纸板之一,6-2表示程序编辑器的函数区域之一,6-3表示程序编辑器的活页夹,6-4表示活页夹处于打开状态且还没有插入指令牌时得情况。
具体实施方式
本申请阐述了一种迷宫编程桌面游戏装置及方法。所述装置包括拼图块、游戏角色、指令牌。拼图块用来构建游戏迷宫地图,游戏角色用来模拟在迷宫中的行走以及记录当前的位置、方向,指令牌用以指导游戏角色在迷宫中行走。游戏过程中,游戏者先使用拼图块构造地图,然后选取指令牌进行排列编程,之后游戏者通过指令牌的顺序进行动作的推演,最终达到游戏目标。
为了使本发明的上述目的、特征能够更为明显移动,下面结合附图,对本发明的具体实施方式做详细的说明。
在以下描述中阐述了具体细节以便于充分理解本发明。但是本发明能够以多种不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广。因此本发明不受下面公开的具体实施方式的限制。
请参考图1,图1为本发明一种具有实施方式所提供的一种迷宫编程桌面游戏装置的构成示意图。
本发明描述了一种桌面迷宫编程游戏,主要突出两大功能,一是迷宫的自定义功能,二是解迷宫的程序编辑功能。所述装置包括拼图块、指令牌、游戏角色,游戏者可以通过使用拼图块按照想法构建迷宫地图,然后使用指令牌进行程序编辑,使得游戏角色按照编辑好的程序进行动作,最终使游戏角色达成迷宫地图构建时所设立的目标。
游戏拼图块是构成迷宫的基本元素,请参考图2,其内容分为广义上的障碍和广义上的道路。在拼图块之间,障碍区域与障碍区域之间进行拼接不能构成通路,童谣的障碍区域与道路区域之间拼接同样不能构成通路,只有当道路区域与道路区域之间进行拼接,构成的路径才能使游戏角色在此两个拼图块之间进行移动,游戏者迷宫构建的过程实际上就是将各个拼图块进行拼接,构成一套通路的过程,当然,迷宫中还可能有很多无法通行的路径,作为人为设置的障碍。
指令牌是游戏者用来进行程序编辑的基本元素,请参考图3,指令牌为矩形,一侧预留有孔洞,方便其插入活页夹中,指令牌的正面绘制着其意义对应的图案,背面印制着其意义对应的程序代码。
指令牌分为条件牌和命令牌。条件牌用来表示一个条件判断,如图4,代表一个进行是否可以进行右转的判断条件,条件牌需要和其后第一张指令牌配合使用,只有当当前条件牌条件成立的时候,其后第一张指令牌的内容才会执行。命令牌表示具有实际执行意义的指令牌,区别于条件牌,它不指示一个判断条件。
命令牌分为动作牌和函数牌,动作牌对应游戏角色的某一个特定、具体动作,比如直行、转弯等,如图3所示,为一个游戏角色直行的动作牌。函数牌表示对某个函数内所有指令牌的调用,请参考图5,代表一个对函数1的调用,如果函数1里面存在指令牌,则按顺序执行该函数内的指令牌,执行完毕后,继续执行该函数牌的下一张指令牌。
进一步的,由于在程序编辑时,散放的指令牌可能会造成不方便,更有甚者可能给游戏者造成误导,所以本发明阐述一种用于方便进行程序编辑的程序编辑器,请参考图6,程序编辑器由两块硬质板和活页夹构成。程序编辑器分为若干个函数区域,且至少存在一个主函数区域,主函数为最开始执行的起点,指令牌插入哪个区域就代表它是哪个函数中的一个指令。编辑程序时,打开活页夹,将指令牌放入到指定区域的活页夹扣中,再将活页夹闭合起来,这样程序编制好的顺序就不会错乱了。进行程序推演时,游戏者按照顺序翻看指令牌,程序执行顺序得到很好的引导。
进一步的,为了丰富迷宫地图的可交互性,本发明阐述了一种用于表示特定物品的道具牌,此道具牌可以和指令牌系统相结合产生一些交互。例如在拾取物品动作牌中,物品道具牌可以作为返回值,而游戏者也可以实实在在地从迷宫地图上收集此道具,因为此道具可能在迷宫地图地其他地方派上用场。
列举一个简单的游戏实例,假设游戏者使用拼图块,拼接一个如图7中的迷宫地图,那么它的解答路径即是:直行-直行-左转90度-直行-捡起钥匙-直行-直行-左转90度-直行-直行-左转90度-直行-直行-左转90度-直行-左转90度直行-打开箱子。由于程序编辑器的正视图不适合展现指令牌的具体情况,所以使用平面展开讲解。
如图8,主函数中的指令牌有1个,为调用函数1。函数1中有9张指令牌,他们的意义分别是:1如果当前位置有箱子、2用钥匙开箱子、3如果当前位置有钥匙、4拾取物品、5如果当前位置可左转、6左转90度、7如果当前位置可直行、8直行、9调用自身实现循环。
主函数中指令牌对应的代码集合为:
mainfunction()
{
function1();
}
而函数1中的指令牌对应的代码集合为(/*…*/表示对代码的注释):
function1()
{
if(ischest==true)/*如果当前位置有箱子*/
player.openchest(key);/*用钥匙开箱子*/
if(iskey==true)/*如果当前位置有钥匙*/
key=player.pickupkey();/*拾取物品*/
if(turnleftenable==true)/*如果当前位置可左转*/
player.turnleft();/*左转90度*/
if(moveforwardenable==true)/*如果当前位置可直行*/
player.moveforward();/*直行*/
function1();/*调用自身实现循环*/
}
在起初的几个循环当中,由于地图中不满足程序的某些条件,所以拾取钥匙和开箱子并不能执行,而随着游戏角色的移动,地图中关于程序的条件得到满足,最后箱子被打开,游戏者闯关成功。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。