ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:17.68KB ,
资源ID:4222190      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-4222190.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言贪吃蛇源程序代码双人对抗.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

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

1、C语言贪吃蛇源程序代码双人对抗#include #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)/*

2、/ 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_

3、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,fy1-1;s10*/ 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;

4、 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;) slist1=al; slist2=bl; a=rand()%(SIZE);

5、 b=rand()%(SIZE); a=LEFT+(a)*22; b=TOP+(b)*22; s2=1; for(;slist1&s2;) if(a=slist1-bx&b=slist1-by) s2=0; else slist1=slist1-next; s2=1; for(;slist2&s2;) if(a=slist2-bx&b=slist2-by) s2=0; else slist2=slist2-next; if(slist1=NULL&slist2=NULL) s=0; *fx=a; *fy=b; bar(*fx,*fy,*fx+20,*fy+20);void qufood(int

6、 fx,int fy)/*/ setfillstyle(SOLID_FILL,2); bar(fx,fy,fx+20,fy+20);void freesnake(SnakeList psnake)/*/ SnakeList p; p=psnake-next; psnake-next=NULL; for(;p;) p=psnake-next; free(psnake); psnake=p; int nothit(SnakeList snake1,SnakeList snake2,int x,int y)/*snake1snake2*/ int a1,a2,b1,b2,bj=1; a1=snake

7、1-bx; b1=snake1-by; a1=a1+x*(SIZE+2); b1=b1+y*(SIZE+2); a2=snake2-bx; b2=snake2-by; for(;snake2&bj;) if(a1=a2&b1=b2) bj=0; else snake2=snake2-next; a2=snake2-bx; b2=snake2-by; return bj; void paintpig()/*/ setwritemode(1);/*1*/ setfillstyle(1,2);/*12*/ pieslice(220,140,0,360,80);/*/ pieslice(420,140

8、,0,360,80); setfillstyle(1,6); pieslice(320,240,0,360,150);/*/ arc(260,180,30,160,30);/*/ arc(380,180,30,160,30); setfillstyle(1,4); sector(320,260,0,360,50,40);/*/ setfillstyle(1,8); pieslice(300,260,0,360,5);/*/ pieslice(340,260,0,360,5); arc(320,260,230,310,60);/*/ void numtostr(int n,char a3)/*n

9、a*/ int w; w=n%10; a1=w+0; w=n/10; a0=w+0; a2=0;void main() int gr=DETECT,gm; int s1=0,s2=0,fx1=0,fy1=1,fx2=0,fy2=1;/*s1snake1s2snake2;fx*,fy*/ int dx,dy,add1,add2,k,k1=1,k2=1;/*dx,dyadd*=1k*=1*/ int i=1,j=0,q=1;/*j=0j=1j=2*/ unsigned long t;/*t*/ char w3; SnakeList lsnake1,lsnake2; /*registerbgidri

10、ver(EGAVGA_driver);*/ /*detectgraph(*gr, *gm);*/ initgraph(&gr,&gm,);/*/ cleardevice();/*/ for(;q;) cleardevice(); paintpig(); settextstyle(0,0,3); outtextxy(100,10, I like pigs!); settextstyle(1,0,2); outtextxy(300,400,One snake!); outtextxy(300,420,Two snakes!); outtextxy(300,440,Quit Game); outte

11、xtxy(450,420,Producer:Chen Chen); outtextxy(450,440,Time:May 23 2012); outtextxy(30,370,Keys used:Arrow keys); outtextxy(30,380, WASD); outtextxy(30,390, enter); setfillstyle(1,4); pieslice(280,400+j*20,0,360,5); i=1; for(;i;) k=bioskey(0);/*/ sound(1300);/*/ delay(10000);/*/ nosound();/*/ switch (k

12、) case 20480:/*/ setfillstyle(1,0); pieslice(280,400+j*20,0,360,5); j=(j+1)%3; setfillstyle(1,4); pieslice(280,400+j*20,0,360,5); break; case 7181:/*enter*/ if(j=0|j=1) i=0; else closegraph();/*/ exit(0); /*/ break; default : break; cleardevice(); setfillstyle(SOLID_FILL,2);/*/ bar(LEFT,TOP,RIGHT,BO

13、TTOM);/*/ lsnake1=createsnake(496,140);/*lsnake1*/ lsnake2=createsnake(144,140);/*lsnake2*/ setfood(&dx,&dy,lsnake1,lsnake2); k1=1,k2=1; fx1=0,fy1=1,fx2=0,fy2=1; s1=0,s2=0; t=100000; for(;(k1|k2)&(s1+s2bx)=LEFT&(lsnake2-bx+SIZE)by)=TOP&(lsnake2-by+SIZE)bx=dx)&(lsnake2-by=dy)/*snake2*/ t=t-800; setfi

14、llstyle(1,0); bar(48,60,88,100); qufood(dx,dy); add2=1; s2+; setfillstyle(1,1); bar(48,60,88,100); numtostr(s2,w); outtextxy(58,70,w); outtextxy(58,80,Blue); else k2=0; /*freesnake(lsnake2);*/ if(k2¬hit(lsnake2,lsnake1,fx2,fy2) paintsnake(lsnake2,2,2);/*/ changsnake(lsnake2,fx2,fy2,add2);/*/ pain

15、tsnake(lsnake2,14,1);/*/ else k2=0; paintsnake(lsnake2,14,9); if(lsnake1-bx)=LEFT&(lsnake1-bx+SIZE)by)=TOP&(lsnake1-by+SIZE)bx=dx)&(lsnake1-by=dy) t=t-800;/*t*/ setfillstyle(1,0); bar(540,60,600,100); qufood(dx,dy); add1=1; s1+; setfillstyle(1,4); bar(560,60,600,100); numtostr(s1,w); outtextxy(570,7

16、0,w); outtextxy(570,80,Red); else k1=0; /*freesnake(lsnake1);*/ if(k1& nothit(lsnake1,lsnake2,fx1,fy1) paintsnake(lsnake1,2,2); changsnake(lsnake1,fx1,fy1,add1); paintsnake(lsnake1,5,4); if(add1=1|add2=1)/*/ setfood(&dx,&dy,lsnake1,lsnake2);/*/ delay(t); delay(t); delay(t); delay(t); delay(t); if(j=

17、0) if(s1=SL) settextstyle(0,0,3); outtextxy(100,200,You are Win!); getch(); settextstyle(1,0,1); else settextstyle(0,0,5); outtextxy(100,200,GAME OVER !); getch(); settextstyle(1,0,1); else if(s1s2) settextstyle(0,0,5); outtextxy(100,200,Red Win!); getch(); settextstyle(1,0,1); else if(s1s2) settextstyle(0,0,5); outtextxy(100,200,Blue Win!); getch(); settextstyle(1,0,1); else settextstyle(0,0,5); outtextxy(100,200,A draw!); getch(); settextstyle(1,0,1);

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2