我的字符貪食蛇(簡單版)

這次我來介紹一下我的(簡單版)字符貪食蛇的編程。

首先要建立一個遊戲的框架
這裏寫圖片描述

接着我給這條蛇命名為Snaky(個人興趣不要吐槽)
並設定SnakyY[100]和 SnakyX[100]來當牠的位置(一開始要給牠定一個位置)
接着分別用@和X來當牠的頭和身體

好了現在Snaky大概的模樣已經定下來了,然後我們就來加入隨機食物以及食物出現的位置,代碼如下

void food(int i,int j) 
{
 int x=0,y=0;  
 srand(time(NULL));  

 {  
       x=rand()%17+1;  
       y=rand()%8+1;
 } 
 map[y][x]='$';  
 return;
 }  

因為Snaky每次的位置都不同所以我給牠加了system(“cls”)來清除每一次顯示出來的畫面

最重要的是我們必須給Snaky加上方向控制,否則牠只會向前走,這樣就玩不了啦!
像是這個樣子

void L()
{   
system("cls");  
 int i;
 if((SnakyY[0]==1)||(map[SnakyX[0]][SnakyY[0]-1]=='X')){
  Gameover();
  }else{  
 if(map[SnakyX[0]][SnakyY[0]-1]=='$')  
 {  
       food(SnakyY[0]-1,SnakyX[0]);  
       lenght++; 
       map[SnakyX[lenght-1]][SnakyY[lenght-1]]='X';  
 }
 for(i=lenght;i>0;i--)  
 {  
      SnakyX[i]=SnakyX[i-1];  
      SnakyY[i]=SnakyY[i-1];  
 }  
 map[SnakyX[lenght]][SnakyY[lenght]]=' ';  
 SnakyY[0]--;  
 for(i=lenght-1;i>0;i--) map[SnakyX[i]][SnakyY[i]]='X';  
 map[SnakyX[0]][SnakyY[0]]='@';  
 show(); 
 }
 return;  
 }

再加上Snaky的運行時間

while(life!=1)   
{  
    timeover=1;  
    start=clock();  
    while((timeover=(clock()-start<=100))&&!kbhit()); 
    if(timeover){ 
    Direcation=getch();  
    }
    switch(Direcation)  
    { 
            case 'w':
                U();
                break;  
            case 'a':
                L();
                break; 
            case 'd':
                R();
                break;  
            case 's':
                D();
                break;  
    }
}

如果輸掉了就會出現GameOver的字樣,這時遊戲結束。
雖然比起其他的貪食蛇遊戲來說這個較為簡略,但對於一個編程的初學者來說這也是一個很大的挑戰,而我目前的能力可以做到的貪食蛇遊戲也只有這麼多而已(笑)。
這裏寫圖片描述
最後祝大家也可以做到這個或是比小編我的更加高級的貪食蛇遊戲。
謝謝觀看!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章