C语言作业如何实现多关卡推箱子详细思路分

北京中医院治疗白癜风多少钱 http://baidianfeng.39.net/a_bdfnzhm/140109/4324292.html

话不多说,我们直接进入主题:多关卡推箱子!

没错就是这么简单。

抽象属性:数据设计

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/C++编程的小伙伴,如果你想更好的提升你的编程核心能力(内功)不妨从现在开始!

整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!

预览时标签不可点收录于合集#个上一篇下一篇

转载请注明:http://www.aierlanlan.com/rzfs/441.html

  • 上一篇文章:
  •   
  • 下一篇文章: