貪吃蛇遊戲設計及演算法

2021-08-13 22:49:12 字數 1046 閱讀 2752

首先需要明確設計應該完成的功能,使用鍵盤的上下左右鍵來控制蛇的方向;隨機產生食物,蛇吃到食物後,身體變長一節;設定邊界,蛇撞到牆或者吃到自身的時候,遊戲結束。

以下是思路:

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...