日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言多人对战贪吃蛇,双人对战贪吃蛇

發布時間:2023/12/16 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言多人对战贪吃蛇,双人对战贪吃蛇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

雙人對戰貪吃蛇

#include

#include

#include

#define LEFT 0x4b00

#define RIGHT 0x4d00

#define DOWN 0x5000

#define UP 0x4800

#define A 0x1e61

#define D 0x2064

#define S 0x1f73

#define W 0x1177

#define ESC 283

#define N 100

long movespeed[5]={40000,20000,10000,8000,5000};/*蛇移動的速度*/

struct snake

{

int x[N];

int y[N];

int knot;/*節數*/

int direction;/*移動方向*/

int live;/* 0活著,1死亡*/

}snake[2];

int food_x,food_y,food_sigh;

int i,max,key,play1score=0,play2score=0,count;

void draw(void) /*左上(47,40),右下(621,361)方框*/

{

setfillstyle(1,9);

bar(47,40,621,49);

bar(47,40,58,370);

bar(47,361,621,370);

bar(611,40,621,370);

setfillstyle(1,10);

bar(0,0,47,479);

bar(0,479,640,370);

bar(621,479,640,0);

bar(0,0,640,40);

}

void Count(void)/*級數,如果級數越高移動越快*/

{

char str[10];

setfillstyle(1,5);

bar(450,15,611,35);

setcolor(GREEN);

settextstyle(0,0,2);

sprintf(str,"count:%d",count);

outtextxy(451,20,str);

}

void printfscore(void)/*輸出分數,每吃一個就加十*/

{

char str1[10];

char str2[10];

setfillstyle(9,12);

bar(250,15,400,35);

setcolor(GREEN);

settextstyle(0,0,2);

sprintf(str1,"play2:%d",play2score);/*play2的分數*/

outtextxy(250,20,str1);

setfillstyle(1,5);

bar(45,15,195,35);

setcolor(GREEN);

sprintf(str2,"play1:%d",play1score);/*play1的分數*/

outtextxy(45,20,str2);

}

void maker(void) /*作者*/

{

char str1[30]={"MAKER:"};

char str2[50]={"WJYang GuiLin!"};

char str3[30]={"Snake GAME"};

setcolor(RED);

settextstyle(0,0,2);

outtextxy(47,420,str1);

settextstyle(0,0,1);

outtextxy(150,428,str2);

settextstyle(0,0,2);

outtextxy(400,420,str3);

}

void gameover(void) /*結束函數*/

{

cleardevice();

Count();

maker();

printfscore();

setcolor(RED);

settextstyle(0,0,5);

outtextxy(150,200,"GAME OVER");

moveto(150,300);

outtextxy(150,300,"^_^^_^^_^");

settextstyle(0,0,5);

}

void gamestard(void)

{

randomize();

food_sigh=1;/*1需要出現,0已經存在*/

{/*蛇1初始*/

snake[0].live=0;/*顯示*/

snake[0].direction=1;/*右*/

snake[0].x[0]=70;/*頭*/

snake[0].y[0]=70;

snake[0].x[1]=80;

snake[0].y[1]=70;

snake[0].knot=3;/*節數*/

}

{/*蛇2初始*/

snake[1].live=0;/*顯示*/

snake[1].direction=1;/*右*/

snake[1].x[0]=70;/*頭*/

snake[1].y[0]=100;

snake[1].x[1]=80;

snake[1].y[1]=100;

snake[1].knot=3;/*節數*/

}

Count();

maker();

printfscore();

while(1)/*沒按鍵就一直循環*/

{

while(!kbhit())

{

if(food_sigh==1)/*需要出現新食物*/

{

food_x=rand()%533+62;

food_y=rand()%294+53;/*出現的位置*/

for(i=0;(i=food_x%10)!=0;i++)/*出現必須在整數的格內,那樣蛇才能吃上*/

food_x++;

for(i=0;(i=food_y%10)!=0;i++)

food_y++;

food_sigh=0;

}

if(food_sigh==0)/*畫出食物*/

{

setfillstyle(1,4);

bar(food_x,food_y,food_x+10,food_y-10);

}

for(i=snake[0].knot-1;i>0;i--)/*蛇1的每個環節往前移動*/

{

snake[0].x[i]=snake[0].x[i-1];

snake[0].y[i]=snake[0].y[i-1];

}

for(i=snake[1].knot-1;i>0;i--)/*蛇2的每個環節往前移動*/

{

snake[1].x[i]=snake[1].x[i-1];

snake[1].y[i]=snake[1].y[i-1];

}

switch(snake[0].direction)/*蛇1的方向*/

{

case 1: snake[0].x[0]+=10;break;

case 2: snake[0].x[0]-=10;break;

case 3: snake[0].y[0]-=10;break;

case 4: snake[0].y[0]+=10;break;

}

switch(snake[1].direction)/*蛇2的方向*/

{

case 1: snake[1].x[0]+=10;break;

case 2: snake[1].x[0]-=10;break;

case 3: snake[1].y[0]-=10;break;

case 4: snake[1].y[0]+=10;break;

}

for(i=0;isnake[0].knot?snake[1].knot:snake[0].knot);i++)/*它們相撞就死*/

{

if((snake[0].x[0]==snake[1].x[i]&&snake[1].y[i]==snake[0].y[0])||(snake[0].x[i]==snake[1].x[0]&&snake[0].y[i]==snake[1].y[0]))

{

gameover();

snake[0].live=1;

snake[1].live=1;

break;

}

}

for(i=3;i

{

if(snake[0].x[i]==snake[0].x[0]&&snake[0].y[i]==snake[0].y[0])

{

gameover();

snake[0].live=1;

break;

}

}

for(i=3;i

{

if(snake[1].x[i]==snake[1].x[0]&&snake[1].y[i]==snake[1].y[0])

{

gameover();

snake[1].live=1;

break;

}

}

if(snake[0].x[0]<58||snake[0].x[0]>605||snake[0].y[0]<55||snake[0].y[0]>360)/*撞到墻壁*/

{

gameover();

snake[0].live=1;

}

if(snake[1].x[0]<58||snake[1].x[0]>605||snake[1].y[0]<55||snake[1].y[0]>360)/*撞到墻壁*/

{

gameover();

snake[1].live=1;

}

if(snake[0].live==1)

break;

if(snake[1].live==1)

break;

if(snake[0].x[0]==food_x&&snake[0].y[0]==food_y)/*吃到東西*/

{

setfillstyle(1,11);

bar(food_x,food_y,food_x+10,food_y-10);

snake[0].knot++;

food_sigh=1;/*需要出現新的食物*/

play1score+=10;

printfscore();

}

if(snake[1].x[0]==food_x&&snake[1].y[0]==food_y)/*吃到東西*/

{

setfillstyle(1,11);

bar(food_x,food_y,food_x+10,food_y-10);

snake[1].knot++;

food_sigh=1;/*需要出現新的食物*/

play2score+=10;

printfscore();

}

setfillstyle(1,8); /*畫蛇1*/

bar(snake[0].x[0]-1,snake[0].y[0]+1,snake[0].x[0]+11,snake[0].y[0]-11);

setlinestyle(SOLID_LINE,0,THICK_WIDTH);

setcolor(8);

for(i=1;i

rectangle(snake[0].x[i],snake[0].y[i],snake[0].x[i]+10,snake[0].y[i]-10);

setfillstyle(9,4);/*畫蛇2*/

bar(snake[1].x[0],snake[1].y[0],snake[1].x[0]+10,snake[1].y[0]-10);

setfillstyle(11,4);

for(i=1;i

bar(snake[1].x[i],snake[1].y[i],snake[1].x[i]+10,snake[1].y[i]-10);

if(snake[0].knot<=7)/*級數1*/

{

delay(movespeed[0]);

count=1;

}

if(snake[0].knot>7&&snake[0].knot<=11)/*級數2*/

{

delay(movespeed[1]);

count=2;

}

if(snake[0].knot>11&&snake[0].knot<=15)/*級數3*/

{

delay(movespeed[2]);

count=3;

}

if(snake[0].knot>15&&snake[0].knot<=20)/*級數4*/

{

delay(movespeed[3]);

count=4;

}

if(snake[0].knot>20&&snake[0].knot<=N)/*級數5*/

{

delay(movespeed[4]);

count=5;

}

Count();

if(snake[0].knot==8)/*當節數為8時,顯示"GOOD!!"*/

{ setcolor(GREEN);

settextstyle(0,0,5);

outtextxy(230,150,"GOOD!!");

}

if(snake[0].knot==9)/*當節數為9時,除去"GOOD!!"*/

{ setcolor(LIGHTCYAN);

settextstyle(0,0,5);

outtextxy(230,150,"GOOD!!");

}

if(snake[0].knot==12)/*當節數為12時,顯示"GREAD!!"*/

{ setcolor(MAGENTA);

settextstyle(0,0,5);

outtextxy(230,150,"GREAT!!");

}

if(snake[0].knot==13)/*當節數為12時,除去"GREAD!!"*/

{ setcolor(LIGHTCYAN);

settextstyle(0,0,5);

outtextxy(230,150,"GREAT!!");

}

setfillstyle(8,11);/*用背景色涂去蛇2最后一節*/

bar(snake[1].x[snake[1].knot-1],snake[1].y[snake[1].knot-1],snake[1].x[snake[1].knot-1]+10,snake[1].y[snake[1].knot-1]-10);

setfillstyle(1,11);

bar(snake[0].x[0]-1,snake[0].y[0]+1,snake[0].x[0]+11,snake[0].y[0]-11);

setcolor(11);/*用背景色涂去蛇1最后一節*/

rectangle(snake[0].x[snake[0].knot-1],snake[0].y[snake[0].knot-1],snake[0].x[snake[0].knot-1]+10,snake[0].y[snake[0].knot-1]-10);

}

/*蛇1的方向判斷*/

if(snake[0].live==1)/*死了就結束*/

break;

key=bioskey(0);/*按鍵的控制*/

{

if(key==ESC)/*退出*/

break;

else if(key==LEFT&&snake[0].direction!=1)/*判斷方向*/

snake[0].direction=2;

else if(key==DOWN&&snake[0].direction!=3)

snake[0].direction=4;

else if(key==UP&&snake[0].direction!=4)

snake[0].direction=3;

else if(key==RIGHT&&snake[0].direction!=2)

snake[0].direction=1;

}

/*蛇2的方向判斷*/

if(snake[1].live==1)

break;

{

if(key==A&&snake[1].direction!=1)/*判斷方向*/

snake[1].direction=2;

else if(key==S&&snake[1].direction!=3)

snake[1].direction=4;

else if(key==W&&snake[1].direction!=4)

snake[1].direction=3;

else if(key==D&&snake[1].direction!=2)

snake[1].direction=1;

}

}

}

void main(void)/*主函數*/

{

void maker(void);

void Count(void);

void draw(void);

void gameover(void);

void gamestard(void);

void printfscore(void);

int gdrive=DETECT,gmode;

initgraph(&gdrive,&gmode,"");

cleardevice();

setbkcolor(LIGHTCYAN);

draw();

gamestard();

maker();

getch();

closegraph();

}

總結

以上是生活随笔為你收集整理的C语言多人对战贪吃蛇,双人对战贪吃蛇的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: hs网站在线观看 | 刘亦菲一区二区三区免费看 | 精品无码免费视频 | 国产精品精品视频 | 欧美性受xxx黑人xyx性爽 | 熊出没之冬日乐翻天免费高清观看 | 97中文字幕| 日本性久久 | 日日爱影视 | 四虎久久久久 | 91精品国产入口在线 | 可以直接看av的网址 | 成熟妇人a片免费看网站 | 欧美精品在线观看一区二区 | 综合亚洲欧美 | 日韩视频在线观看一区二区 | 第一页在线| 又大又粗又爽18禁免费看 | 在线视频观看 | 亚洲欧美中文日韩在线v日本 | 国产中文久久 | 双性皇帝高h喷汁呻吟 | 精品视频无码一区二区三区 | 久久久成人精品 | 精品国产区一区二 | 超碰在线最新 | 亚洲一区在线免费 | 日韩在线专区 | 国产免费av片在线 | 国产成人精品亚洲 | 91久久久精品 | 4色av| 天堂在线免费观看 | 天堂中文在线资源 | 男女插孔视频 | 欧美精品一区二区三区在线播放 | 国产午夜视频在线观看 | 一起操17c | 九色网站在线观看 | 手机在线免费看av | 裸体女视频 | 国产伦人伦偷精品视频 | 国产极品粉嫩 | 日韩精品成人一区二区在线 | 久久丫精品久久丫 | 欧美性猛交xxxx乱大交 | 国产欧美日韩在线播放 | 精品一区亚洲 | 久久精品视频无码 | 激情深爱五月 | 亚洲欧洲天堂 | 看看毛片 | www.日本色 | 免费观看日韩毛片 | 中文字幕乱码在线观看 | 男女网站在线观看 | 国产对白在线 | 区一区二在线观看 | 在线免费观看h片 | 91视频二区 | 超碰2023| 亚洲视频免费在线 | 亚洲精品aaaaa | 欧美激情综合色综合啪啪五月 | 亚洲精品欧洲精品 | aaaaaabbbbbb毛片| 亚洲色偷偷综合亚洲av伊人 | 91手机视频在线观看 | 国产精品免费一区二区区 | 成人v| 久久九九热 | 四虎影视永久免费观看 | 中文字幕在线观看二区 | 超碰在线伊人 | 99re这里只有精品在线 | 亚洲午夜精品一区二区三区 | 自拍视频在线播放 | 精品一区二区三区在线观看视频 | 91高潮大合集爽到抽搐 | 国产xxxxx视频 | 又色又爽又黄gif动态图 | 国产人免费人成免费视频 | 日本xxxx高潮少妇 | 亚洲一区二区三区高清 | 国产欧美久久久 | 亚洲熟妇av日韩熟妇在线 | 91亚洲精品久久久蜜桃 | 成人免费大全 | 美女自拍视频 | 动漫av在线播放 | 91影视在线观看 | 久久久久久亚洲中文字幕无码 | 91欧美激情一区二区三区成人 | 日韩三级视频在线 | 四虎国产在线 | 我要操av| 国产盗摄在线观看 | 国产又爽又黄无码无遮挡在线观看 | 色狠狠一区二区三区香蕉 |