c语言推箱子代码_C语言多关卡推箱子,兄台了解一下?没错,C语言完整简单项目实战...

ea9cf6289552f10fd6b4513aa1d51502.png

很高兴你能光临小编寒舍

首先感谢百忙之中你能从万千文章中点小编得专属页面。这不是娱乐篇,这是学习道场。开始前,小编就做一个简单得自我介绍:(开启装逼模式)

我就是传说中写文章通俗而不庸俗,说话风流而不下流,智慧与美貌并重,英雄与侠义得化身得小编老师。人间人爱,花见花开已不足以形容我得帅气!

7d3c7a6474d74f618b181c21b96dfc47.png

我又被打了,帮忙叫下120

好了好了,我再也不敢了,进入主题:

3125fbfee2208ffcffbbffd61e9e746d.png

没错就是这么简单。

抽象属性:数据设计

76d80496a8e7fe3d8e6381e17b8d49d3.png

就这么简单

小编有话要说:

map[2][7][8]说:首先大家将会看到三维数组!!没听错就是三维得,不要怕,你要明白得是map[2][7][8]中 [2]是用来表达关数就没什么问题了哦。

剩下得你就和把他当作一个二维数组就可以了。

cas说: 我就是控制关数得,但是我要从0开始,为啥呢?因为地图是从0开始得呀

boxSum[2]说:我是用来控制胜负得,至于我里面得值是没一关卡箱子得数目啊。

资源初始化:绘制地图

小编有话要说:

绘制地图原理: 就是一个萝卜一个坑,在数组中用特殊得值表示不同得物品,这个就需要你去玩一遍推箱子了,要非常熟悉熟悉箱子得几个状态了。

  • 游戏7大状态
a30610d84b5fd4dea52ab3ea08e496c0.png

​不知道的可以去玩玩哦

  • 用不同东西表示不同的状态

0: 空地 " "

1: 墙 "▆"

3: 目的地 "☆"

4: 箱子 "★"

5:人 "※"

7:/目的(3)和箱子(4)在一起"⊙"

8:人(5)和目的(3)在一起:"※"

  • 遍历数组绘制地图
2336938e161299ed3162a034aa4488d3.png

由于截图是ps拼接的,截图姐去不了那么多

用户处理:按键处理

  • 按键处理基本框架:选择结构的使用,对于用户按键上下左右处理
ceaf256f8901dc45c76d6788cc0136a7.png

基本上C语言中甚至是以后用到的按键处理基本都是这个框架

  • 按键处理实质: 按下方向键,根据数组的位置去做定位移动
f6368c66717ce6935047c67c08911990.png

移动过程在同步数组下标变化

  • 针对不同情况的不同处理:(以向上为例,其他的根据对称可以求出来)

1.人前面是空地或者目的地

fc652b7305d6f9825e2aabab71441eea.png

​空地的值是0,目的地的是3

2.人前面是箱子,箱子前面是空地或者目的地

94b92310330ecf1c76411bf416fae8b0.png

就是这么简单,其他方向开始你的拷贝把!

收尾工作:胜负判断

胜负判断:那就很简单的了箱子数目为零就可以了。

7acb4ad1793413c2adeac0d1621de1d6.png

完整源码私信“代码”获取

​就是这么粗暴

主函数,调用一下即可

8acda8a02f8237a4449f5ff5d163e219.png

完整源码私信“代码”获取

763f850f6366bbd916815a16fa436310.png

期待下一次与你回眸相遇

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值