资源简介
应付计算机系大学生的作业或者实训课最佳之选,本作者考虑到你们编写文档报告的问题。先说明,网上绝对找不到第二个类似的程序,本作者学习时亲自开发的。解压后有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
相关资源
- Ecognitoan插件ESP的使用方法
- csapp中文第三版pdf(深入理解计算机操
- CINRAD雷达产品显示系统
- LDC金属探测程序完整版
- PingFang SC Regular.ttf
- 机器学习 吴恩达 全套视频和课后题
- Demo-docx4j-word.zip
- 基于QT的MP3压缩算法
- 常用元件库.SCHLIB
- CC2530单片机ADXL345的i2C程序
- csmc 0.35um工艺库
- TSMC 0.18um工艺库
-
li
nkcad5.7 破解文件 - NACA4412翼型
- PCtoLCD2002.exe 取字模软件
- MagicTable
- MMA7455-7361,LGA14PCB封装
- Qt继承关系图,qt5
- OCR识别小程序
- Linux音乐播放器代码
- 2e959cff9cd26abdd541ed066419a3b7.zip
- 编译原理实验 C0编译器的 设计与实现
- linux的Qt设置系统时间
- DHT11驱动STC12C5A单片机
- 兄弟连邹义良CodeIgniter框架txt文档
- FLAC3D代码
- ArcInfo_WorkStation10.txt
- Material.zip
- USR-TCP232-Test调试工具
- 洗衣机PLC控制梯形图
评论
共有 条评论