1.编写Linux下的Nurses库捕获键盘输入实现贪吃蛇上下左右(nurses.c)
项目代码:
运行结果 :
2.设计贪吃蛇地图为20*20(map1.c)
模块思路:
模块代码:
运行结果:
3.在设计的地图中显示贪吃蛇的一个节点(map2.c)
模块思路:
模块代码:
运行结果:
4.利用函数封装对身子节点进行动态添加(map3.c)
模块思路:使用malloc动态开辟内存空间的时候需要包含头文件“stdlib.h”
模块代码:
运行结果:
5.实现贪吃蛇向右移动(map4.c)
模块思路:
模块代码:
运行结果:
6.贪吃蛇不想活了撞墙找死(map5.c)
模块思路:
模块代码:
运行结果:
7.贪吃蛇摆脱键盘自动向右走(map6.c)
模块思路:
模块代码:
运行结果:
8.利用Linux线程解决在运行贪吃蛇时并检测按键响应(map7.c)
模块思路:
Linux线程讲解:
模块代码:
运行结果:
9.实现贪吃蛇四方向风骚走位(map8.c)
模块思路:
模块代码:
运行结果:
10.解决贪吃蛇不合理走位(map9.c)
模块思路:
模块代码:
运行结果:
11.贪吃蛇吃食物(map10.c)
模块思路:
模块代码:
运行结果:
12.代码优化+项目总结(map11.c)
模块思路:
模块代码:
运行结果:
项目总结:
贪吃蛇项目:
1.解决ncurse获取键盘输入
2.解决贪吃蛇的地图绘制
3.显示蛇的一个节点(链表)
4.显示贪吃蛇完整的身子
5.贪吃蛇的向右移动
6.判断贪吃蛇(链表尾节点)与地图的边界是否重合撞墙找死
7.利用nurses的地图刷新实现贪吃蛇自动向右行走
8.利用linux线程实现方向移动和刷新一起实现
9.判断按键的改变蛇身子的方向
10.利用绝对值解决不合理走位
11.利用链表显示食物(用链表尾判断是否和食物接触)
12.利用rand函数实现食物的坐标随机
13.利用链表判断是否重合来咬死自己结束游戏