贪吃蛇c语言代码哈c,贪吃蛇:看哈啊

#include

#include

#include

#define  LEFT  0x4b00

#define  RIGHT  0x4d00

#define  UP     0x4800

#define  DOWN   0x5000

#define  ENTER  0x000d

#define  ESC    0x0011b

struct

{

int x;

int y;

}body[300];     /* 蛇的坐标   */

struct

{

int x;

int y;

}heart[500];   /*食物的坐标*/

int k=0;            /*蛇的长度*/

int n=0;            /*该吃地几个食物*/

int score=0;

void prin();

void loadheart();

void gameover();

void load();

void find();

void eat();

void game ();

void pringame();

void main()

{

prin();

clrscr();

game();

getch();

}

void prin()                            /*打印提示*/

{  textmode(C80);

window(0,0,80,25);

textbackground(GREEN);

textcolor(BLUE);

clrscr();

gotoxy(30,9);

cprintf("Welcome to my game!");

gotoxy(30,10);

cprintf("Scores");

gotoxy(30,11);

cprintf("Are you ready" );

gotoxy(30,12);

cprintf("Press anykey to beagin!");

getch();

}

void game()

{                                                  /*游戏过程*/

int i;

int key=0;

load();                                 /*初始化蛇的坐标*/

/*产生食物*/

loadheart();

randomize();

pringame();                              /*打印环境*/

gotoxy(heart[n-1].x,heart[n-1].y);        /*打印食物*/

putch(3);

for(i=0;i

{

gotoxy(body[i].x,body[i].y);      /*打印蛇*/

putch(4);

}

do

{

while(!kbhit())

{

switch(key)

{

case    ESC :

exit(1);break;

case    LEFT:

for(i=0;i

{

body[i].x=body[i+1].x;

body[i].y=body[i+1].y;

}

body[k-1].x--;

break;

case     RIGHT :

for(i=0;i

{

body[i].x=body[i+1].x;

body[i].y=body[i+1].y;

}

body[k-1].x++;

break;

case   UP:                            for(i=0;i

{

body[i].x=body[i+1].x;

body[i].y=body[i+1].y;

}

body[k-1].y--;

break;

case  DOWN  :          for(i=0;i

{

body[i].x=body[i+1].x;

body[i].y=body[i+1].y;

}

body[k-1].y++;

break;

case  ENTER:

getch(); break;

}

find();

eat();

pringame();

delay(60000);

clrscr();

for(i=0;i

{

gotoxy(body[i].x,body[i].y);

putch(4);

}

gotoxy(heart[n-1].x,heart[n-1].y);

putch(3);

}

key=bioskey(0);

}while(1);

}

void load()

{

body[0].x=1;

body[0].y=3;

body[1].x=2;

body[1].y=3;

body[2].x=3;

body[2].y=3;

k=3;

}

void  pringame()

{

int i;

gotoxy(35,1);

cputs("score:");

gotoxy(43,1);

cprintf("%d",score);

for(i=1;i<=80;i++)

{

gotoxy(i,2);

putch(23);

}

}

void  find()

{     int i;

for(i=0;i

{

if(body[i].x==0||body[i].x==85||body[i].y==2||body[i].y==26)

gameover();

}

for(i=0;i

{

if(body[k-1].x==body[i].x&&body[k-1].y==body[i].y)

gameover();

}

}

void gameover()                                       /* 游戏结束*/

{

int i;

window(0,0,80,25);

textbackground(GREEN);

textcolor(BLUE);

clrscr();

gotoxy(33,10);

cputs("Game Over");

gotoxy(35,12);

cputs("Score");

gotoxy(42,12);

cprintf("%d",score);

getch();

}

void eat()                                                        /*吃食物长大,得分,再加食物*/

{

if(body[k-1].x==heart[n-1].x&&body[k-1].y==heart[n-1].y)

{ score=score+5;

body[k].x=heart[n-1].x;

body[k].y=heart[n-1].y;

k++;

loadheart();

}

}

void loadheart()                /*初始化食物*/

{

heart[n].x=(rand()%83)+2;

heart[n].y=(rand()%22)+3;

n++ ;

}

我加了注释:看哈啊,给点意见:

指导下啊。

994de5f63a9dfc46b4c57e9f731d959e.gif

6f83fddf9cb9ff6843fffd45e1807199.gif

/*************我就是程序;程序就是我!******************/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值