游戏我们经常玩,通过我们自己编写游戏会有很多乐趣,也在不知不觉之中学到了编程语言。学习具体的编程固然重要,更重要的是我们要学会编程的思想。编程语言就像工具,我们要用这个工具来具体解决问题,而不是为了学习工具而学习。
本期介绍推箱子游戏,通过编写推箱子来学习c语言。
首先我们先看一下效果
游戏界面比较丑,见谅~~~
接下来我们来详细分析推箱子游戏:
首先,我们在编写推箱子的时候,要想一想这个游戏都有一些什么东西。这里我们看到地图、人物、箱子、放箱子的地方、墙,以及其他的配置。
然后对于每一项进行具体分析:
对于地图,可以看到共有9*10个格子,从左上角开始计算,每一个格子有唯一坐标,且格子的大小相同
接下来是人物,人物有坐标,且可以移动,可以推箱子
箱子可以被人推
放箱子的地方可以和人重合,也可以和箱子重合
墙不可动,用来阻止人和箱子的移动。
对于每一项进行具体分析完成了,现在开始分析游戏规则:
对于人,可以走上下左右四个方向。当人向上走时,有两种情况:1.人的上方不能是墙2.人的上方是箱子且箱子的上方不能是墙或者箱子。当人向下走时,有两种情况:1.人的下方不能是墙2.人的下方是箱子且箱子的下方不能是墙或者箱子。其他依次类推
对于箱子,可以被人推,当被人从后方推时,箱子前方不能有障碍物(箱子或墙)
对于放箱子的地方,可以与人或者箱子重合
对于墙,不可动
当游戏胜利时,所有放箱子的地方的地方都被箱子沾满。
以上,对于此游戏的编写思路就分析好了。接下来就是具体编写:
首先,定义数据,确定各个对象是怎么区分的
然后,初始化所有对象,地图、人物、箱子、墙、的初始位置
接着,编写游戏规则
最后,判定游戏如何胜利
以上即为编写推箱子游戏的具体编写流程,具体编写大家先思考,我们到下期在公布,具体分析