貪吃蛇的遊戲設計和演算法

2021-08-13 23:17:46 字數 2253 閱讀 2538

一·所需功能:

1.地圖的邊界及更新

2.蛇的初始化

3.蛇往四個方向的移動(用鍵盤實現)

4.蛇撞到身體、障礙(邊界或你在地圖中定義) 遊戲結束

5.蛇吃到食物,蛇就長一節

6.隨機放置食物,不可在蛇上或者超出邊界

7.得分的顯示和增加

二·遊戲的流程圖:

三·遊戲的基本偽**:

輸出字元矩陣

while not 遊戲結束 do

ch=等待輸入

case ch do

『a』:左前進一步,break

『d』:右前進一步,break

『w』:上前進一步,break

『s』:下前進一步,break

end case

if 蛇撞到自己或邊界 then end while

if 蛇吃到食物 then 蛇變長一截 重新生成食物

輸出字元矩陣

end while

輸出 game over!!!

四.**的實現

#include < stdio.h >

#include < stdlib.h >

#include < time.h >

#include < conio.h > //所需要的標頭檔案

#define snake_max_length 20 //定義蛇的最大長度

#define snake_head 『h』 //定義蛇頭

#define snake_booy 『x』 //定義蛇身

#define blank_cell 』 』 //定義空地

#define snake_food 『$』 //定義食物

#define wall_cell 『*』 //巨集定義一些物品

void snakemove(int, int); //定義蛇的移動

void put_money(void); //隨機出現食物

void output(void); //輸出圖案

void gameover(void); //輸出遊戲結束

int shifousiwang(void); //判斷蛇是否死亡

void foodchange(void); //判斷是否需要更新食物

char map[12][13] = ; //初始化地圖

int snakex[snake_max_length] = ; //初始化蛇的座標

int snakey[snake_max_length] = ;

int snakelength = 5; //初始化蛇的長度

int counter = 1;

int fx, fy, weibax, weibay, i; //定義一些臨時變數

int main()

} //進入遊戲

else

printf(「這是乙個錯誤的指令\n」); //提示鍵入錯誤指令

return 0;

}void move()

} //除頭以外的移動

void movea(int headx, int heady) //a方向的移動

void moves(int headx, int heady) //s方向的移動

void moved(int headx, int heady) //d方向的移動

void movew(int headx, int heady) //w方向的移動

void snakemove(int headx, int heady)

if (ch2 == 『a』) ;

if (ch2 == 『s』) ;

if (ch2 == 『d』) ;

if (ch2 == 『w』) ; //判斷方向

}void output() //列印新的場景

void gameover() //提示遊戲結束

void put_money() } }

int shifousiwang()

for (i = 0; i < snakelength - 2; ++ i)

} return 0;

} //判斷蛇是否死亡

void foodchange()

snakex[0] = weibax;

snakey[0] = weibay;

put_money();

} } //食物的更新

貪吃蛇遊戲設計及演算法

首先需要明確設計應該完成的功能,使用鍵盤的上下左右鍵來控制蛇的方向 隨機產生食物,蛇吃到食物後,身體變長一節 設定邊界,蛇撞到牆或者吃到自身的時候,遊戲結束。以下是思路 1.一張地圖,四周有牆體。2.一條蛇,由蛇身和蛇頭組成。3.食物,蛇吃到食物後身體變長,並且重新生成乙個食物。3.蛇需要移動,這是...

貪吃蛇遊戲設計及演算法

先是標頭檔案 然後就按照我們自頂向下逐步求精的理念來寫 char blank char char wall char 牆 char snake head char h 蛇頭 char snake body char x 蛇身 char food char 食物 char map 10 10 int ...

貪吃蛇遊戲

貪吃蛇遊戲 結構化程式設計 c語言程式設計 重要的的是結構化的程式設計思想 include include include include include include define field width 300 就做20個格仔的 define field height 300 define f...