#include <curses.h>//在linux上用ncurses库写的
#include <stdlib.h>
#define UP 1
#define DOWN -1
#define LEFT 2
#define RIGHT -2
//这些是全局变量
struct Snake//用链表的方式进行贪吃蛇的编写
{
int hang;
int lie;
struct Snake *next;
};
struct Snake *head=NULL;//贪吃蛇链表的头
struct Snake *tail=NULL;//贪吃蛇链表的尾
int key;
int dir;
struct Snake food;
//初始化食物
void initFood()
{
int x=rand()%20;//在食物可能的地方rand对20取余给食物一个坐标,此地图是20*20的地图
int y=rand()%20;
food.hang=x;//贪吃蛇的的坐标显示值
food.lie=y;
}
void initNcurse(){//这个是ncurses库的初始化,
initscr();//调用ncurses库
keypad(stdscr,1);//获取键盘的功能键功能
noecho();//这个是的ncurses 的一个小bug,防止显示时乱码
}
int hasSnakenode(int i,int j){//遍历贪吃蛇蛇这个链表,把地图里面的坐标传过来
struct Snake *p;
p=head;
while(p!=NULL){
if(p->hang == i && p->lie == j){//把贪吃蛇的链表里面的行列与地图坐标对比,返回1到gamePic里面,使其显示贪吃蛇的身子[];
return 1;
}
p
贪吃蛇(在虚拟机里面用C语言编写)
最新推荐文章于 2023-05-13 14:45:29 发布
本文介绍了使用C语言在虚拟机中开发贪吃蛇游戏的详细步骤,包括设计地图大小、理解贪吃蛇的链表结构、实现键盘控制、处理蛇的移动与链表变化、食物生成与消失、游戏结束条件等关键点。欢迎交流优化方案。
摘要由CSDN通过智能技术生成