貪吃蛇遊戲設計

首先,遊戲設計要遵循自頂向下,逐步求精的原則。所以我們要先寫出貪吃蛇遊戲的僞代碼。


輸出字符矩陣
    WHILE not 遊戲結束 DO
        ch=等待輸入
        CASE ch DO
        ‘A’:左前進一步,break 
        ‘D’:右前進一步,break    
        ‘W’:上前進一步,break    
        ‘S’:下前進一步,break    
        END CASE
        輸出字符矩陣
    END WHILE
    輸出 Game Over!!! 

得到僞代碼之後,我們再逐步完善各個模塊的函數。(以蛇移動的函數爲例)


void Move()  
{  
    int i, x, y;  
    int t = sum;  
    x = Snake[0].x;  
    y = Snake[0].y;  
    GameMap[x][y] = '.';  
    Snake[0].x = Snake[0].x + dx[ Snake[0].now ];  
    Snake[0].y = Snake[0].y + dy[ Snake[0].now ];   
    if(sum == t)  //蛇身移動  
       for(i = 1; i < sum; i++)  //從蛇尾節點向前移動 
       {  
           if(i == 1)   //尾節點設置爲空再移動  
           GameMap[ Snake[i].x ][ Snake[i].y ] = '.';  
      
           if(i == sum-1)   
           {  
               Snake[i].x = x;  
               Snake[i].y = y;  
               Snake[i].now = Snake[0].now;  
           }  
    	   else   //其他蛇身走到前一個蛇身的位置  
           {  
               Snake[i].x = Snake[i+1].x;  
               Snake[i].y = Snake[i+1].y;  
               Snake[i].now = Snake[i+1].now;  
           }  
       
           GameMap[ Snake[i].x ][ Snake[i].y ] = 'X'; //移動後要置爲蛇身'X'
       }  
}  




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