300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 双人游戏c语言代码 C语言贪吃蛇源程序代码双人对抗.doc

双人游戏c语言代码 C语言贪吃蛇源程序代码双人对抗.doc

时间:2018-08-17 12:28:47

相关推荐

双人游戏c语言代码 C语言贪吃蛇源程序代码双人对抗.doc

C语言贪吃蛇源程序代码双人对抗

C语言贪吃蛇源程序代码双人对抗

#include

#include

#include

#include

#include

#include

#include

#define LEFT 100

#define TOP 30

#define RIGHT 538

#define BOTTOM 468

#define SIZE 20

#define SL 100 /*SL表示产生食物的个数*/

typedef struct Snake/*表示蛇的结点*/

{

int bx,by;

struct Snake *next;

}Snake,*SnakeList;

SnakeList createsnake(int cx,int cy)/*创建一个蛇头。*/

{

SnakeList l;

l=(SnakeList)malloc(sizeof(Snake));

l->next=NULL;

l->bx=cx;

l->by=cy;

return l;

}

void paintsnake(SnakeList l,int scoler,int tcoler)/*输出蛇身的函数,也可作为消去蛇身的函数。*/

{

SnakeList p;

int x,y;

p=l;

setfillstyle(SOLID_FILL,scoler);

for(;p->next;)

{

p=p->next;

x=p->bx;

y=p->by;

bar(x,y,x+SIZE,y+SIZE);

}

if(scoler==2)

setfillstyle(SOLID_FILL,scoler);

else

setfillstyle(SOLID_FILL,tcoler);

x=l->bx;

y=l->by;

bar(x,y,x+SIZE,y+SIZE);

}

void changsnake(SnakeList l,int fx,int fy,int s) /*fx,fy表示蛇头移动方向,分别取值为1,-1;s表示是否吃到食物,1表示吃到,0表示没有。*/

{

SnakeList p=l;

int x,y,t;

x=p->bx;

y=p->by;

p->bx=x+fx*(SIZE+2);

p->by=y+fy*(SIZE+2);

for(;p->next;)

{

p=p->next;

t=p->bx;

p->bx=x;

x=t;

t=p->by;

p->by=y;

y=t;

}

if(s)

{

p->next=(SnakeList)malloc(sizeof(Snake));

p->next->bx=x;

p->next->by=y;

p->next->next=NULL;

}

}

void setfood(int *fx,int *fy,SnakeList al,SnakeList bl)/*设置随机食物*/

{

int a,b,s=1,s2;

SnakeList slist1;

SnakeList slist2;

setfillstyle(SOLID_FILL,6);

srand(time(NULL));

for(;s;)

{

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。