C语言与C++基础编写贪吃蛇项目2

第二阶段:对于地图类的编写
对于地图,我的想法是创建一个地图类,首先先整理逻辑:
一个地图里面,有地图边界,食物,随机障碍物这些吧。但最开始,我们应该先画地图边界,以确保蛇的限制范围。
首先创建CNamp类,并设置参数与函数声明:
在这里插入图片描述

这里我用到了static这个关键字,在这里的作用主要是为了方便调用函数(在不创建类的情况下)。
然后就是绘画地图边界了:
在这里插入图片描述

就是两个循环嵌套加赋值(后面用于碰撞检测用的)就搞定了!
边界画完之后,我们可以随便设置随机食物函数和随机障碍物函数,以便后续使用,当然现阶段还暂时用不到。
好了,编写完地图边界函数后,我们相应的要去蛇类里面添加碰撞规则函数:
在这里插入图片描述
在这里插入图片描述
这里我用了一个返回值,以便当在控制函数中调用碰撞规则的时候,更容易判定。
调用的话,在控制函数循环末尾调用就好啦:
我用了一个参数is_live来接收返回值,以此来判定游戏是否结束。
在这里插入图片描述

在这里插入图片描述
好了,写到这里,一个简单的贪吃蛇就基本构建成功了,剩下的就是随机食物函数以及食物的规则函数(吃下食物,蛇身长加一,速度变快)。还有随机障碍物的函数。当然你也可以将失败后弹出的提示框设计的更好看一点,就用之前给到的Writechar()函数就可以了,以及主页面也是这样做的。
接下来看看做好的主函数以及运行图吧:
哦,这里要解释下,我是把地图的边界namp[long][weigth]设置成了全局变量进行访问(因为蛇类也要用到它)【当然,你既然定义了全局变量,就应该用一个头文件来声明它,方便其他的类调用】:
在这里插入图片描述
在这里插入图片描述
游戏结束后的效果图(撞上墙后),当然你也可以将结束页面设置的美观一点(小编懒。。。。)用一个system(“cls”)加上Writechar我相信还是可以将结束页面以及欢迎界面设置得很美观的QAQ。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值