步骤:
1、熟悉ncurse:
使用ncurse是因为案件响应灵敏,不用回车
创建.c文件,后边需要添加-lcurses,同时gcc编译也需要添加 -lcurses
主函数中:initscr();//ncurse界面初始化函数
printw();//ncurse模式下的print
getch();//等待用户输入,如果没这句话程序就退出了,看不到运行结果
endwin();//程序退出,调用改函数来恢复shell终端显示,如果没这句话,shell终端字乱码坏掉
2、制作贪吃蛇方向按键
vi /usr/include/curses.h 查看相应按键编码
方向头文件,include<curses.h>
KEY_DOWN ==0402;
KEY_UP ==0403;
KEY_LEFT ==0404;
KEY_RIGHT==0405;
:cq退出
3、地图规划:
大小20x20
竖直方向上的边界“|”
地图水平边界“--”
先做上边一横
再做两竖,中间用空格填充
最后做一横
4、做贪吃蛇的身子
贪吃蛇的身子“[]”
先做一个节点,定义身体行列结构体,与地图上的坐标对比,如果相同则print[]
定义多个身子节点,在第一个节点基础上,行不变,列+/-1.
用链表遍历的方式显示完整身子
链表动态添加蛇的节点
贪吃蛇移动向右移动,删除头节点,尾巴添加一个新节点
贪吃蛇撞墙会死掉
贪吃蛇实现自行游走
贪吃蛇的方向改变,刷新界面与刷新方向键都是用while,要用到线程来解决
(程序都是从上到下运行,要想2个同时运行,需要线程;一个程序有两个线程,互不影响)
线程头文件#include<pthread.h>,gcc编译的时候需要添加-pthread,-pthread会显示错乱,用-lpthread
运用 :pthread