最新亚洲人成无码网站,夜夜操夜夜操夜夜爽,中文字日产幕乱五区,在线成人看片黄a免费看,亚洲自偷自拍另类11p

首頁 >> 精選經驗 >

C語言貪吃蛇實驗報告總結(c語言貪吃蛇)

2024-07-02 12:30:50 來源: 用戶: 

哈嘍,大家好~~~我是小編田甜,關于C語言貪吃蛇實驗報告總結,c語言貪吃蛇這個很多人還不知道,那么現在讓田甜帶著大家一起來看看吧!

1、#include #include #include #include /*引用的庫函數*/#define LEFT 0x4b00#define RIGHT 0x4d00#define DOWN 0x5000#define UP 0x4800#define ESC 0x011b/*宏定義鍵名*/#define N 200int i,key;int level;/*游戲等級*/int score=0;/*得分*/int gamespeed;/*游戲速度*/struct Food{int x;/*食物的橫坐標*/int y;/*食物的縱坐標*/int yes;/*判斷是否要出現食物的變量*/}food;/*食物的結構體*/struct Snake{int x[N];int y[N];int node;/*蛇的節(jié)數*/int direction;/*蛇移動方向*/int life;/* 蛇的生命,0活著,1死亡*/}snake;/*蛇的結構體*/void Choicelevle(void);/*選擇游戲等級*/void Init(void);/*圖形驅動*/void Close(void);/*圖形結束*/void DRAW(void);/*游戲區(qū)域*/void GameOver(void);/*結束游戲*/void GamePlay(void);/*玩游戲具體過程*/void PrScore(void);/*輸出成績*//*主函數*/void main(void){Init();/*圖形驅動*/Choicelevle();/*選擇游戲等級*/DRAW();/*游戲區(qū)域*/GamePlay();/*玩游戲具體過程*/Close();/*圖形結束*/}/*圖形驅動*/void Init(void){int gd=DETECT,gm;initgraph(&gd,&gm,"\turboc2"); /*初始化圖形系統(tǒng)*/cleardevice(); /*清除圖形界面*/}/*選擇游戲等級*/void Choicelevle(void){char name[20];setcolor(YELLOW);settextstyle(0,0,6);outtextxy(150,150,"Snake");setcolor(GREEN);settextstyle(0,0,1);outtextxy(200,250,"please put in your English name:");outtextxy(200,270,"Choice levle from 1-9.");outtextxy(300,320,"name:yangzilong");/*制作人姓名*/outtextxy(300,350,"number:0902060226");/*制作人學號*/outtextxy(300,380,"class:computer science 0602");/*制作人班級*/getch();printf("please putin your name:");gets(name);printf("please choice levle:");scanf("%d",&level);gamespeed=100000-400*level-300*level*level;if(level>9||level<1){cleardevice(); /*清除圖形界面*/setcolor(YELLOW); /*設置字體顏色*/settextstyle(0,0,2); /*設置字體類型*/outtextxy(150,200,"level input error"); /*顯示文本*/getch();level=1;}}void DRAW(void){cleardevice(); /*清屏*/setcolor(2);setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*設置線型*/rectangle(45,45,465,325);}/*玩游戲具體過程*/void GamePlay(void){setcolor(5);setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*設置線型*/randomize();/*隨機數發(fā)生器*/food.yes=1;/*1表示需要出現新食物,0表示已經存在食物*/***.life=0;/*活著*/snake.direction=1;/*方向往右*/snake.x[0]=320;snake.y[0]=240;/*蛇頭*/snake.x[1]=330;snake.y[1]=240; /*蛇的第二節(jié)位置*/snake.node=3;/*節(jié)數*/PrScore();/*輸出得分*/while(1)/*可以重復玩游戲,壓ESC鍵結束*/{while(!kbhit())/*在沒有按鍵的情況下,蛇自己移動身體*/{if(food.yes==1)/*需要出現新食物*/{food.x=rand()%360+70;food.y=rand()%250+60;while(food.x%10!=0)/*食物隨機出現后必須讓食物能夠在整格內,這樣才可以讓蛇吃到*/food.x++;while(food.y%10!=0)food.y++;food.yes=0;/*畫面上有食物了*/}if(food.yes==0)/*畫面上有食物了就要顯示*/{setcolor(GREEN);rectangle(food.x,food.y,food.x+10,food.y-10);}for(i=snake.node-1;i>0;i--)/*蛇的每個環(huán)節(jié)往前移動*/{snake.x[i]=snake.x[i-1];snake.y[i]=snake.y[i-1];}/*1,2,3,4表示右,左,上,下四個方向,通過這個控制來移動蛇頭*/switch(snake.direction){case 1: snake.x[0]+=10;break;case 2: snake.x[0]-=10;break;case 3: snake.y[0]-=10;break;case 4: snake.y[0]+=10;break;}for(i=3;i

2、蛇頭從對面墻出來*/if(snake.x[0]<50){snake.x[0]=450;/*如果蛇頭越過左邊界,則從右邊界進入*/snake.y[0]=snake.y[0];/*縱坐標不變*/for(i=snake.node-1;i>0;i--){snake.x[i]=snake.x[i-1];snake.y[i]=snake.y[i-1]; /*蛇的其他節(jié)數向前推進*/}{setfillstyle(SOLID_FILL,0); /*設置填充模式和顏色,0表示黑色*/bar(50,55,455,315);/*bar是表示填充的范圍的函數*/}}elseif(snake.x[0]>450){snake.x[0]=50;/*如果蛇頭越過右邊界,則蛇頭從左邊界進入*/snake.y[0]=snake.y[0];/*縱坐標不變*/for(i=snake.node-1;i>0;i--){snake.x[i]=snake.x[i-1];snake.y[i]=snake.y[i-1]; /*蛇的其他節(jié)數向前推進*/}{setfillstyle(SOLID_FILL,0); /*設置填充模式和顏色,0表示黑色*/bar(50,55,455,315);/*bar是表示填充的范圍的函數*/}}elseif(snake.y[0]<60){snake.y[0]=320;/*如果蛇頭越過上邊界,則從下邊界進入*/snake.x[0]=snake.x[0];/*橫坐標不變*/for(i=snake.node-1;i>0;i--){snake.x[i]=snake.x[i-1];snake.y[i]=snake.y[i-1]; /*蛇的其他節(jié)數向前推進*/}{setfillstyle(SOLID_FILL,0); /*設置填充模式和顏色。

3、0表示黑色*/bar(50,55,455,315);/*bar是表示填充的范圍的函數*/}}elseif(snake.y[0]>320){snake.y[0]=60;/*如果蛇頭越過下邊界,則從上邊界進入*/snake.x[0]=snake.x[0];/*橫坐標不變*/for(i=snake.node-1;i>0;i--){snake.x[i]=snake.x[i-1];snake.y[i]=snake.y[i-1]; /*蛇的其他節(jié)數向前推進*/}{setfillstyle(SOLID_FILL,0); /*設置填充模式和顏色,0表示黑色*/bar(50,55,455,315);/*bar是表示填充的范圍的函數*/}}if(***.life==1)/*如果蛇死就跳出內循環(huán),重新開始*/break;if(snake.x[0]==food.x&&snake.y[0]==food.y)/*吃到食物以后*/{setcolor(0);/*把畫面上的食物東西去掉*/rectangle(food.x,food.y,food.x+10,food.y-10); /*用當前線型和顏色畫一矩形*/snake.x[snake.node]=-20;snake.y[snake.node]=-20;/*新的一節(jié)先放在看不見的位置,下次循環(huán)就取前一節(jié)的位置*/snake.node++;/*蛇的身體長一節(jié)*/food.yes=1;/*畫面上需要出現新的食物*/score+=10; /*每吃掉一食物,得分累加10分*/if(score%100==0){level++;gamespeed=100000-400*level-300*level*level;/*每吃掉10食物提升一級,速度加快*/PrScore();/*輸出新得分*/setcolor(YELLOW); /*設置字體顏色*/settextstyle(0,0,4); /*設置字體類型*/outtextxy(150,200,"LEVEL UP"); /*顯示文本*/if(level==10){level=1,gamespeed=100000-400*level-300*level*level;}delay(6000000); delay(6000000); delay(6000000); delay(6000000); delay(6000000);delay(6000000); delay(6000000);bar(50,55,455,315);/*bar是表示填充的范圍的函數*/}PrScore();/*輸出新得分*/ } setcolor(4);/*畫出蛇*/ for(i=0;i

本文分享完畢,希望對大家有所幫助哦。

  免責聲明:本文由用戶上傳,與本網站立場無關。財經信息僅供讀者參考,并不構成投資建議。投資者據此操作,風險自擔。 如有侵權請聯系刪除!

 
分享:
最新文章