#include#include#include#includeusingnamespacestd;intGameOver=0;">
貪吃蛇游戲代碼(C++)

貪吃蛇游戲代碼(C++)

ID:40355699

大?。?2.51 KB

頁數(shù):7頁

時間:2019-07-31

貪吃蛇游戲代碼(C++)_第1頁
貪吃蛇游戲代碼(C++)_第2頁
貪吃蛇游戲代碼(C++)_第3頁
貪吃蛇游戲代碼(C++)_第4頁
貪吃蛇游戲代碼(C++)_第5頁
資源描述:

《貪吃蛇游戲代碼(C++)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、#include#include#include#include#includeusingnamespacestd;intGameOver=0;structBody//蛇身(鏈表結(jié)構(gòu)){intx,y;//蛇身結(jié)點坐標Body*next;//下一個結(jié)點};voidSetPos(inti,intj)//設(shè)定光標位置{COORDpos={i-1,j-1};//坐標變量HANDLEOut=GetStdHandle(STD_OUTPUT_HANDLE);//獲取輸出句柄SetConsoleCurs

2、orPosition(Out,pos);//設(shè)定光標位置}classSneak//貪吃蛇類{private:Body*head;//蛇頭指針intDirection;//移動方向。1,2,3,4對應(yīng)上左下右intCount;//蛇長intSpeed;//速度(等級)intFoodExist;//食物存在標記intFood_x;//食物X坐標intFood_y;//食物Y坐標public:Sneak(inta=3,intb=4,intc=1,intd=0)//構(gòu)造函數(shù){FoodExist=d;//起始不存在食物Body*temp1,*temp2;head=new(Body);//申請

3、起始蛇身3節(jié)head->x=4;head->y=2;temp1=new(Body);temp1->x=3;temp1->y=2;temp2=new(Body);temp2->x=2;temp2->y=2;head->next=temp1;temp1->next=temp2;temp2->next=NULL;Direction=b;//方向為右Count=a;//長為3Speed=c;//等級1}voidMap();//畫界面函數(shù)voidPaint();//畫蛇身函數(shù)voidFood();//生成食物intOver();//判斷游戲是否結(jié)束voidGaming();//游戲進程函數(shù)v

4、oidMove();//移動};voidSneak::Map()//使用{inti;for(i=1;i<=50;i++){SetPos(i,1);cout<<"-";}for(i=2;i<=25;i++){SetPos(1,i);cout<<"

5、";SetPos(50,i);cout<<"

6、";}for(i=1;i<=50;i++){SetPos(i,25);cout<<"-";}SetPos(54,3);cout<<"貪吃蛇";SetPos(54,5);cout<<"貪吃蛇長度為:"<

7、k::Food(){Body*p;intInBody=0;//判斷食物是否產(chǎn)生在蛇體內(nèi)srand((int)time(0));//用系統(tǒng)時間來做隨機數(shù)種子while(1){Food_x=rand()%48+2;//隨機出食物的坐標Food_y=rand()%23+2;p=head;while(p!=NULL)//判斷食物是否產(chǎn)生在蛇體內(nèi){if(p->x==Food_x&&p->y==Food_y){InBody=1;break;}p=p->next;}if(InBody==0)//食物不在蛇身。生成成功break;InBody=0;}}intSneak::Over(){Body*p

8、;p=head;if((head->x)>=50

9、

10、(head->x)<=1

11、

12、(head->y)<=1

13、

14、(head->y)>=25)//是否撞到邊緣return1;p=head->next;while(p!=NULL)//是否撞到蛇身{if((head->x==p->x)&&(head->y==p->y))return1;p=p->next;}return0;}voidSneak::Paint(){Body*p;p=head;while(p!=NULL){SetPos(p->x,p->y);cout<<"*";p=p->next;}SetPos(Food_x,Food_y);c

15、out<<"*";}voidSneak::Move(){Body*New;New=new(Body);//新的蛇身結(jié)點if(Direction==1)//確定新蛇頭的坐標{New->x=head->x;New->y=head->y-1;New->next=head;head=New;}if(Direction==2){New->x=head->x-1;New->y=head->y;New->next=head;head=New;}if(Direction==3){Ne

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。