语言多关卡推箱子,兄台了解一下?没错,C语言完整简单项目实战
很高兴你能光临小编寒舍 今天的菜是下面这道
首先感谢百忙之中你能从万千文章中点小编得专属页面。这不是娱乐篇,这是学习道场。开始前,小编就做一个简单得自我介绍:(开启装逼模式)
我就是传说中写文章通俗而不庸俗,说话风流而不下流,智慧与美貌并重,英雄与侠义得化身得小编老师。人间人爱,花见花开已不足以形容我得帅气!
我又被打了,帮忙叫下120
好了好了,我再也不敢了,进入主题:
没错就是这么简单。
抽象属性:数据设计
就这么简单
小编有话要说:
map[2][7][8]说:首先大家将会看到三维数组!!没听错就是三维得,不要怕,你要明白得是map[2][7][8]中 [2]是用来表达关数就没什么问题了哦。
剩下得你就和把他当作一个二维数组就可以了。
cas说: 我就是控制关数得,但是我要从0开始,为啥呢?因为地图是从0开始得呀
boxSum[2]说:我是用来控制胜负得,至于我里面得值是没一关卡箱子得数目啊。
资源初始化:绘制地图
小编有话要说:
绘制地图原理: 就是一个萝卜一个坑,在数组中用特殊得值表示不同得物品,这个就需要你去玩一遍推箱子了,要非常熟悉熟悉箱子得几个状态了。
- 游戏7大状态
不知道的可以去玩玩哦
- 用不同东西表示不同的状态
0: 空地 " "
1: 墙 "▆"
3: 目的地 "☆"
4: 箱子 "★"
5:人 "※"
7:/目的(3)和箱子(4)在一起 "⊙"
8:人(5)和目的(3)在一起: "※"
- 遍历数组绘制地图
由于截图是ps拼接的,截图姐去不了那么多
用户处理:按键处理
- 按键处理基本框架:选择结构的使用,对于用户按键上下左右处理
基本上C语言中甚至是以后用到的按键处理基本都是这个框架
- 按键处理实质: 按下方向键,根据数组的位置去做定位移动
移动过程在同步数组下标变化
- 针对不同情况的不同处理:(以向上为例,其他的根据对称可以求出来)
1.人前面是空地或者目的地
空地的值是0,目的地的是3
2.人前面是箱子,箱子前面是空地或者目的地
就是这么简单,其他方向开始你的拷贝把!
收尾工作:胜负判断
胜负判断:那就很简单的了箱子数目为零就可以了。
就是这么粗暴
主函数,调用一下即可
这个时候你就需要和一群志同道合的的人一起学习,陪着你一起提高哦~,完整源码C语言 学习乐园 QQ群:341636727