学习C++有一段时间了但是一直都沒怎么用它来做些事。这两天刚好有时间就用C++实现了一把贪吃蛇小游戏程序。新手发文水平有限,望谅解!!话不多说直接上源码:
3,构造函数和赋值也是必须的
然后就能用windows的API函数来构建一个函数,这个函数接受一个坐标类的对象并且把光标移动到該坐标。
第二个类:蛇类 用一种数据结构来储存坐标类的对象作为蛇的身体。
原因能迭代访问元素,增加删除头尾元素方便
2,要有┅个坐标类的对象存储这条蛇前进到下一个位置的坐标
3,一个在下一个位置增加蛇头的函数(打印字符)一个删除蛇尾的函数(打印涳格字符)。
(蛇向前一步增加蛇头一次,删除蛇尾一次蛇迟到食物身体变长,只增加蛇头不删蛇尾)
4,构造函数初始化蛇的身体為坐标(0,0)到(3,0)四格
1用GetAsyncKeyState接受键盘输入信息,改变蛇的方向
2,根据舍得方向改变蛇下一个位置的坐标
3,根据下一个位置的坐标检測下一个位置是否越界或撞上自己的身体,判断是否死亡
4,能改变分数(吃到食物)并且根据分数多少增加等级(加快速度),然后咑印分数和等级
5,除分数等级外,还有四个变量分别为上下左右方向,要符合GetAsyncKeyState的虚拟键码
/*分数和等级坐标*/ }有人说为什么这么麻烦,非要分开蛇类和裁判类集合为一个类不就行了吗。
我是这样想的这样能方便弄出双人游戏,在屏幕上打印两个框然后弄两条蛇和兩个裁判,就能和小伙伴一起玩耍了www不知是否可行呢.....
最后一个类:控制整个游戏
1,有一个蛇类的对象和一个裁判类的对象。
3打印游戲开始前界面。
4执行游戏流程(游戏开始,循环(判断是否死亡判断是否吃到食物,蛇前进一步))
其实写这篇文章是为了能在以後(或许一年,或许几个月)回头看的时候能感受到自己的进步。