貪吃蛇的遊戲規則:上下左右方向鍵控制貪吃蛇游動,不要撞到牆、不要碰到自己身體,每次吃到食物速度都會加快。
我覺得,貪吃蛇其實難點還是一些我們不熟悉的函式:比如怎麼定位游標處,比如怎麼控制方向,比如怎麼隨機設定食物並且使食物落在地圖內......
我們來看看怎麼定位游標處
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...