貪吃蛇 C 經典小遊戲

2021-07-23 01:12:22 字數 2794 閱讀 9393

貪吃蛇的遊戲規則:上下左右方向鍵控制貪吃蛇游動,不要撞到牆、不要碰到自己身體,每次吃到食物速度都會加快。

我覺得,貪吃蛇其實難點還是一些我們不熟悉的函式:比如怎麼定位游標處,比如怎麼控制方向,比如怎麼隨機設定食物並且使食物落在地圖內......

我們來看看怎麼定位游標處

void move(int x ,int y)

這裡有注釋應該理解不會很困難,為了更深入的理解,我們看看下面的**

那麼,方向又該如何處理呢?

很多人都頭疼怎麼準確又隨機的設定食物的位置,準確自然是食物需要落在地圖上,隨機當然是在地圖的不同位置生成食物

void setfood()

//游標挪到食物的座標處

move(y,x);

//食物標記為0

cout<

//標記食物座標

這裡我還設定了遊戲中當蛇吃到食物後,速度是慢慢加快的。(我無聊了就自己嗨,玩到後面快的我都玩不下去了......)

我建議,參考我部落格的人,可以先執行下程式自己玩一玩,萬一有bug呢......

下面是源**,有很多注釋,可以幫助理解

「test.cpp」

#define _crt_secure_no_warnings 1

#include using namespace std;

#include #include #include #include enum

;typedef struct coor

}coor;

void move(int x ,int y)

class snake

} //析構函式

~snake()

delete _map;

}private:

void initmap()//初始化地圖

}//設定地圖左右的圍牆

for (size_t i = 0;i < _row;i++)

//設定地圖上下的圍牆

for (size_t i = 0;i < _col;i++)

}void printmap()

cout<0;i--)

}bool checkaccess()

}return true;

} return false;

} void drawsnake(int status)

switch(_status)

break;

case r:

break;

case d:

break;

case l:

break;

} //檢查當前蛇的狀態是否合法

if (!checkaccess())

}//繪製蛇的圖案

drawsnake(_status);

sleep(time);

} }private:

vector_array;//蛇頭蛇深的儲存

char** _map;//開闢地圖

size_t _row;//地圖的行

size_t _col;//地圖的列

coor _food;//事物的位置

int _status;//蛇頭方向的移動的位置

};void test()

int main()

以上源**大部分是參照博友的**理解後編寫的,希望能幫助到你們!!!

C 貪吃蛇小遊戲

自學了幾天c 嘗試寫了乙個貪吃蛇小遊戲,比較詳細地做了注釋,實現 1 貪吃蛇基本功能 2 長按加速 3 計分板 xaml 及介面 namespace 貪吃蛇 新食物生成 public void newfoodgenerate 計時器每乙個計時週期內的時間處理程式 void timer tick ob...

C 貪吃蛇小遊戲

1.有許多值得新手學習的地方 2.不看就吃虧了噢 3.如果沒有值得學習的地方,我就倒立洗頭!include include include include include 方向鍵的ascll值 上72,左75,右77,下80 背景顏色的 0 黑色 1藍色 2 綠色 3湖藍色 4紅色 5紫色 6黃色 ...

c 貪吃蛇小遊戲

恢復內容開始 新手學習c 在上看到後自己模仿打出來的第乙個程式 開心,紀念一下 bean 食物類 block 蛇塊類 snake 蛇類 map 地圖 圖形類 食物類 class bean set 顯示食物方法 public void showbean graphics g 食物消失方法 public...