• 大小: 10KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: 其他
  • 标签: Linux  c  贪吃蛇  

资源简介

应付计算机系大学生的作业或者实训课最佳之选,本作者考虑到你们编写文档报告的问题。先说明,网上绝对找不到第二个类似的程序,本作者学习时亲自开发的。解压后有4个文件,其中testncur.c是贪吃蛇源代码,有中文注释,极易上手,代码可读性极强,不用担心看不懂。其中有编写好的Makefile,下载后,解压将得到testncur_stu文件夹,文件夹通过共享方式或者ftp,samba方式,移动到虚拟机的linux下,使用cd命令进入testncur_stu文件夹中,执行清除命令make clean,然后再执行make,生成testncur文件,使用 ./testncur 执行该文件。可用做应付作业哟,代码有中文注释,针对小白编写报告时用的,本作者就帮到这里吧,搜索到本资源就是你的福气。

资源截图

代码片段和文件信息

#include
#include
#include
#include
#include
#include

#define DFL_SPEED       500      /* snake default speed */ 
#define _LEN 9

int maxxmaxy;
int *psnk*lsnk*px*py;
void delay1s(int n)
{
int ij;
for(i=0;i for(j=0;j}
void drawrect(int rowsint cols)
{
int begainrowendrowbegaincolendcol;
int currow=0curcol=0;
int ij;
int count;


begainrow=0;
endrow   =rows - 1;
begaincol=0;
endcol   =cols - 1;


currow=begainrowcurcol=begaincol;

for(count=0;count {
// 从左到右显示一行
for(;;)
{
mvaddch(currowcurcol‘A‘);
refresh();
delay1s(100);

if(curcol != endcol)
  curcol ++;
  else
  {
   endcol--;
   break;
  }
}
// 从上倒下显示一竖行
for(;;)
{
if(currow != endrow)
currow++;
else
{
endrow--;
break;
}
mvaddch(currowcurcol‘A‘);
refresh();
delay1s(3000);
}   
  
// 从右到左显示一行  

for(;;)
{
if(curcol != begaincol)
curcol--;
else
{
   begaincol++;
break;
}
mvaddch(currowcurcol‘A‘);
refresh();
delay1s(3000);
}
// 从下到上显示一行  

for(;;)
{
if(currow != begainrow+1)
currow--;
else
{
  begainrow++;
break;
}
mvaddch(currowcurcol‘A‘);
refresh();
delay1s(3000);
}
}
}

void disppoint(int rowsint cols)
{
int currowcurcol;
int c;
currow = rand() % rows;
curcol = rand() % cols;
keypad(stdscr true); 

}

typedef struct food
{
int x;
int y;
}_FOOD;

_FOOD fo;

void showfo(int colsint rows)  //随机食物
{

mvaddch(fo.yfo.x‘ ‘);
fo.x=rand() % cols ;
fo.y=rand() % rows ;
mvaddch(fo.yfo.x‘?‘);
}
//蛇头是否碰到食物
int eat(int xint yint y1int x1)
{
if(x ==x1 && y == y1)
{
  showfo(maxy-1maxx-1);                     //碰到食物响应代码
 //mvaddch(11‘K‘);  
 return 1;
}
return 0;
}
void snkj(int lenint *p) //显示蛇身体,和清除蛇的尾巴
{
int i;
char g=‘@‘;
  for(i=len;i>=0;i--)
  {
   if(i==len)
   {
   mvaddch(p[2*i]p[2*i+1]‘ ‘);
   }
   else
   {
   if(i==0)
   {
   mvaddch(p[2*i]p[2*i+1]‘#‘);
   continue;
   }
   mvaddch(p[2*i]p[2*i+1]g);
   //g++;
   }
  }
}
void ch2(int *xint *y) //数据交换
{
int temp;
temp=*x;
*x = *y;
*y = temp;
}
void snkjmv(int xint yint *pint len)  //蛇数组移动
{
int i;
for(i=0;i<=len;i++)
{
ch2(&p[0]&p[2*(i+1)]);
ch2(&p[1]&p[2*(i+1)+1]);
}
p[0]=x;
p[1]=y;
}
void addsnkL(int xint yint *pint len)  //加蛇长度
{
int i;
for(i=2*len-1;i<=0;i=i-2)                               
{
p[i+2]=p[i];                                  
p[i+1]=p[i-1];                              
}
}
int same(int aint b) //比较2数是否相等
{
if(a == b)
return 1;
return 0;
}

int samesnk(int *pint len)  //数组是否与第一个数组相等
{
int i;
for(i=1;i {
if ( same(p[0]p[2*i]) == 1 && same(p[1]p[2*i+1]) == 1)  //game over
{
return 1;
}
}
return 0;
}

int set_ticker(int n_msecs)  
{  
    struct itimerval new_timeset;  
    long n_sec n_usecs;  
  
    n_sec = n_msecs / 1000;                

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    .......       193  2015-04-08 12:38  testncur_stu\Makefile

    .......     10728  2015-04-21 13:05  testncur_stu\testncur

    .......      6947  2015-04-21 13:05  testncur_stu\testncur.c

    .......      7116  2015-04-21 13:05  testncur_stu\testncur.o

     目录          0  2015-04-26 22:21  testncur_stu

----------- ---------  ---------- -----  ----

                24984                    5


评论

共有 条评论