实现思路和步骤
实现思路
解决第一个子问题,即“如何在程序中存储游戏局面”,的思路是,采用矩阵来存储游
戏局面,用字符来表示单元格的内容(例如,字符 表示箱子;字符 表示墙
体)。矩阵的元素与游戏局面上的单元格一一对应,如下一节的图 所示。矩阵的元素是
字符型的。
解决第二个子问题的思路是,依次读取矩阵的元素,根据元素的字符值在相应的单元
格内绘制图像。例如,如果矩阵元素值为’,则绘制箱子;如果矩阵元素值为’,则绘制
墙体。
我们约定,游戏局面固定为 行 列。这一约定是为了减少次要的细节,使我们聚
焦于核心内容。
实现步骤
我们要区分游戏开局和游戏局面这两个概念。
开局。推箱子游戏的每一关,都有一个开局。这是玩家第一次玩(或者重头玩)
这一关,最开始看到的游戏局面,也就是这一关的初始局面——搬运工和箱子都
没有移动过的局面。各个关卡的开局数据始终要存在。这是说,推箱子游戏程序
运行期间,开局数据要存在;程序下一次、下下次运行,开局数据还是要存在。
这是因为,即使以前玩家一个玩过关卡,在以后玩家都有可能重头玩这一关。还
有一点,开局是不会变化的。
局面。玩家在玩一个关卡期间,这个玩家在游戏界面所看到状态叫做局面。一个
关卡的开局是这一关的初始局面。搬运工或箱子移动后,都将导致状态变化,形
成新的局面。可见,局面是不断变化的。
下文中,首先详细讲解存储游戏局面的方法。在代码实现上,我们将讲解:
如何存储游戏关卡的开局?
如何从关卡号得到该关卡的开局?
如何存储和绘制游戏关卡的局面?
评论1
最新资源