贪吃蛇(在虚拟机里面用C语言编写)

本文介绍了使用C语言在虚拟机中开发贪吃蛇游戏的详细步骤,包括设计地图大小、理解贪吃蛇的链表结构、实现键盘控制、处理蛇的移动与链表变化、食物生成与消失、游戏结束条件等关键点。欢迎交流优化方案。
摘要由CSDN通过智能技术生成

#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
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值