利用链表和结构体来编写贪吃蛇小游戏,这边还会用点线程,分别有以下模块:
1、地图规划
2、蛇身体的初始化
3、蛇的方向移动
4、食物的初始化和随机出现
5、蛇撞墙和咬自己的尾巴
地图规划
我们在设计地图的时候,需要用到ncurses,头文件 #include <curses.h>
ncurses(new curses)是一个程序库,它提供了API,可以允许程序员编写独立于终端的基于文本的用户界面。它是一个虚拟终端中的“类GUI”应用软件工具箱。它还优化了屏幕刷新方法,以减少使用远程shell时遇到的延迟。我们需要在虚拟机中装以下ncurses库
sudo apt-get install libncurses5-dev
sudo apt-get install ncurses-doc//这是ncurses的文件内容 可以查看ncurse的函数说明
man endwin//查看endwin函数的说明
使用ncurses的主要语句:
initscr(); //使用ncurses首先要初始化一下
printw("hello");//输出语句
getch();//等待用户输入
endwin();//结束并退出ncurses
move(y,x); // 将光标移动至(x,y)处。
refresh() ; //经过refresh()函数刷新之后才能够显示到屏幕上。
设计一个20x20的地图,我们可以使用两个for循环输出我们的行和列
void gamepic(){ //地图规划
int col;//lie
int row;//行
for (row = 0; row < 20; row++) {
if (row == 0) {
for (col = 0; col < 20; col++) {
printw("--");
}
}
printw("\n");
for (col = 0; col <= 20; col++) {
if (col == 0 || col == 20) {
printw("|");
} else{
printw(" ");
}
if (row == 19) {
printw("\n");
for (col = 0; col < 20; col++