标签:
本游戏为推箱子游戏,即通过移动方向键来控制小人去推动箱子,直到把所有的箱子都推动到各个目标中。游戏需要在人物行走过程中无法穿越墙和箱子,并在有限的范围中放好各箱子,且每次只能搬运一个箱子。所基于的语言是8086汇编,使用的编译环境是唐都的集中开发环境TD-PIT。
本次设计的基本思想是通过将不同的元素(墙、路、箱子、人、目标位)抽象为不同的矩阵,然后将所设计的地图描抽象成一个控制矩阵来控制图像的显示,每一个控制矩阵块代表一个元素,我们通过不断刷新控制矩阵来达到显示人物移动及推箱子的效果。
游戏需要提供货源主菜单让玩家进行游戏设置,同时能够把地图文件中的信息转化成图像显示到主游戏界面上。
能够接收到键盘输入的方向键信息,并根据不同的方向键把游戏人物移动到相应的位置。例如,玩家按方向键“上”时,如果向上的位置是可移动的,那么就当把游戏人物向上移动一个方格。
当玩家把箱子推到指定位置的格子时,需要把这个箱子进行变色。这样就能明确的显示出该箱子已经放置到指定的位置上。
当玩家开始游戏时就开始计时,游戏中的小人物每走一步就会记录一次步数。
如果玩家无法将指定的箱子全部推到放置点时,可以通过游戏中设的隐藏炸弹引爆阻挡的墙可以继续游戏。
玩家在游戏中可自行选择需要挑战的关口。当玩家点击菜单中的“下一关, 上一关”按钮时可进行关口的调节
在游戏中,当玩家把所有的箱子都推到箱子放置点时,玩家胜利通过当前游戏关口,进行下一关口的游戏。如果玩家无法将指定的箱子全部推到放置点时,玩家失败。玩家可以选择重新进行当前关口的游戏,还是退出游戏。
在游戏的菜单中,提供一个使用说明项,以便对本游戏不了解的玩家对游戏进行操作和使用。
本程序包括六个模块,分别是初始化模块,画图 模块,移动箱子模块,移动小人模块,作弊模块和功能控制模块,各个模块的功能描述如下
该模块包括屏幕初始化和游戏第一关的初始化。游戏每一关的初始化是构建每一关的关卡。
该模块主要是被其他模块的调用,用于画墙,在空地画箱子,画小人和画目的地。
该模块用于移动箱子,包括目的地之间,空地之间和目的地与空地之间的箱子移动
该模块用于控制小人移动,从而推动箱子到目的地。
该模块用于无路可走的情况下,可以把墙炸掉,可以给箱子提供一个可走的路。
该模块是几个功能函数的集合,包括屏幕输出功能,指定位置状态判断功能和关卡重置能。
源代码查看地址:https://github.com/lidakun/Text/blob/master/Text.txt
标签:
原文地址:http://www.cnblogs.com/1248022124qq/p/4510311.html