首先需要明確設計應該完成的功能,使用鍵盤的上下左右鍵來控制蛇的方向;隨機產生食物,蛇吃到食物後,身體變長一節;設定邊界,蛇撞到牆或者吃到自身的時候,遊戲結束。
以下是思路:
1.一張地圖,四周有牆體。
2.一條蛇,由蛇身和蛇頭組成。
3.食物,蛇吃到食物後身體變長,並且重新生成乙個食物。
3.蛇需要移動,這是難實現的乙個部分。
4.蛇撞到牆或者自己的身體就會死亡。
5.需要能用鍵盤控制蛇的運動方向。
以下是流程圖
1.整個地圖用乙個二維字元陣列實現。
2.用乙個二維陣列snake [100] [3]來描述,snake[i][0] 的值用來描述頭和身體,snake[i][0] =1表示頭,snake[i][0] =0表示身體,snake[i][1] 和snake[i][2] 分別描述所在的x座標和y座標,i表示第i節身體。
3.通過產生隨機數作為食物的座標,這個座標不能超過地圖的邊界也不能和蛇的座標一樣。
4.蛇的移動,將蛇頭移動到下乙個座標的時候,後面的節依次重複前乙個節的移動。只需要控制蛇頭的方向,設定乙個變數dir=1,表示向上,1,2,3,4分別表示上下左右。如果蛇頭向上走,x不變,y-1。
5.蛇頭撞牆或者自己的身體,通過判斷蛇頭座標是否和牆的座標重合或者和蛇的某一節重合,當碰撞發生後,停止重新整理螢幕。
6.鍵盤輸入方向鍵後,重置dir的值。通過乙個函式_kbhit()實現,**如下圖
將以上思路通過函式實現:
將這些函式放入迴圈體中,即可實現貪吃蛇遊戲
貪吃蛇遊戲設計及演算法
先是標頭檔案 然後就按照我們自頂向下逐步求精的理念來寫 char blank char char wall char 牆 char snake head char h 蛇頭 char snake body char x 蛇身 char food char 食物 char map 10 10 int ...
字元版本貪吃蛇遊戲設計及演算法
貪吃蛇,是一款經典的益智遊戲。我們可以通過演算法捕捉和傳遞智慧型,設計出能自動跑著吃食物的智慧型蛇。有不少人對此研究,設計出了很棒的演算法,如圖 歸納一些比較高階的演算法為三類 1.寬度優先搜尋最短路徑 2.走哈密頓迴路 3.特殊決策 這裡我主要介紹最簡單的貪婪演算法及整個遊戲的設計。首先是自動尋路...
貪吃蛇遊戲
貪吃蛇遊戲 結構化程式設計 c語言程式設計 重要的的是結構化的程式設計思想 include include include include include include define field width 300 就做20個格仔的 define field height 300 define f...