貪吃蛇C 命令列版

2021-06-25 16:15:07 字數 2133 閱讀 1417

貪吃蛇遊戲是經典的計算機遊戲。

遊戲描述

1. 貪吃蛇可以自動直線前進,或者玩家可以通過方向鍵操縱貪吃蛇上下左右前進,每次前進一格。

2. 貪吃蛇在規定的區域內活動,當

①貪吃蛇觸碰到牆壁時;

②貪吃蛇的蛇頭觸碰到蛇身或者蛇尾時;

③玩家的鍵盤輸入不是方向鍵時;

命令列顯示「game over!」並且退出遊戲。

3. 貪吃蛇活動的區域內每次隨機產生一顆「豆豆」,當貪吃蛇吃到「豆豆」後蛇身增長一格,自動前進時間縮  

短100ms(預設是1000ms,且不能少於100ms)。貪吃蛇長度每為8的倍數improve a level。

c++**

#include

#include

#include

#include

using namespace std;

inline void display(char gsdomain[22], int level, int movespeed)

else if (i == 3)

else if (i == 5)

cout << endl;}}

int main()

//初始化貪吃蛇活動區域的上下牆壁

for (int i = 0; i < 22; i++)

gsdomain[0][i] = gsdomain[21][i] = '-';

//初始化貪吃蛇活動區域的左右牆壁

for (int i = 1; i < 21; i++)

gsdomain[i][0] = gsdomain[i][21] = '|';

//初始化蛇身

for (int i = 1; i <= 3; i++)

gsdomain[1][i] = '*';

//初始化蛇頭

gsdomain[1][4] = '#';

int snake[2][100];  

//記錄貪吃蛇每次出現的位置的座標

for (int i = 0; i < 4; i++)

int head = 3, tail = 0, length = 4;

int beanx, beany;  

//豆豆出現的位置

srand(time(0));

do while (gsdomain[beanx][beany] != ' ');

gsdomain[beanx][beany] = '*';  

//豆豆

cout << "\n\n\t\t貪吃蛇遊戲即將開始!\n";

long start;

int level = 1, movespeed = 1000;

for (int i = 3; i >= 0; i--)

system("cls");

if (i)

else

display(gsdomain, level, movespeed);

}char direction = 77;  

//貪吃蛇預設自動向右直線前進

while (true)

if (timeflag)

switch (direction)

if (x == 0 || x == 21 || y == 0 || y == 21)

if (gsdomain[x][y] != ' ' && !(x == beanx && y == beany))

if (x == beanx && y == beany)

gsdomain[snake[0][head]][snake[1][head]] = '*';

gsdomain[x][y] = '#';

head = (head + 1) % 100;

snake[0][head] = x;

snake[1][head] = y;

do while (gsdomain[beanx][beany] != ' ');

gsdomain[beanx][beany] = '*';

display(gsdomain, level, movespeed);  

//螢幕上顯示

}else

}return 0;

}

VC版貪吃蛇

此處,我感受到復用性的好處,將與顯示或平台無關的東西分裝在一起,如果能進一步抽象的盡量抽象,就可以充分發揮其復用性。具體的關於snake的設計,請參見我的部落格 c 版貪吃蛇遊戲 下面是vc下的遊戲介面截圖 在這裡說一下vc下與c 不同的及新家的東西。cpp view plain copy 引入庫 ...

pygame Python 版貪吃蛇

貪吃蛇是個非常簡單的遊戲,適合練手。先來看一下我的遊戲截圖 玩法介紹 回車鍵 開始遊戲 空格鍵 暫停 繼續 方向鍵 或 wsad 鍵 控制移動方向。食物分紅 綠 藍三種,分別對應 10 分 20 分 30 分,每吃乙個食物增加對應分值,每增加 100 分速度加快一級,沒有設定關卡,我玩到 1100 ...

C《貪吃蛇》簡易字元版

哇咔咔,這是我步入遊戲製作界的第一步。忙活了乙個國慶,雖說bug略多,但是成就感滿滿的。for i 0 i h i 畫地圖 printf n void play int speed,int hard if kbhit 0 有鍵盤輸入則變換key的值,否則保持原方向 key getch directi...