C++实现贪吃蛇。

寒假看完了C++primer plus 之后就一直在看反汇编和逆向,对于C++一直没有拿出来做点实质性的东西。
最近书也看完了...没事干就想着做一个贪吃蛇来锻炼一下自己的C++编写代码的水平。

结果是  很烦,怎么可以做出这么丑的东西来。

之前在看反汇编之前就想过做贪吃蛇,不过很多功能都不知道怎么弄,被自己吓退了。

今天边写边查边想...很累 很垃圾 心态崩了。 贴下大致代码记录一下这个垃圾。
C++实现贪吃蛇。

头文件里包含了蛇 类的定义和相关会使用到的函数(英语太差起名跟*一样)。

C++实现贪吃蛇。

配合上面的宏定义(现在想起来可以用const int)接受方向键的输入。
C++实现贪吃蛇。

蛇类的构造函数,生成le长度的蛇,以双向链表方式连接。
C++实现贪吃蛇。C++实现贪吃蛇。


最头疼的函数,改了又改,导致代码很难看。 主要原因还是最开始没有构思完整就开做了。
(写到这里才想起来还有堆空间没释放
C++实现贪吃蛇。

然后开始游戏的函数,初始化画布,然后循环: 生成随机点、移动蛇、打印画布、清屏、如果有输出读取输出。
C++实现贪吃蛇。C++实现贪吃蛇。C++实现贪吃蛇。最后的主文件里面,设置控制台大小、清除一直闪的光标。


总的来说 很丑,闪的很烦,好像不用windows api也没法解除输出到屏幕时候的闪烁。。。*