基于C++的AI貪吃蛇
訪問【W(wǎng)RITE-BUG數(shù)字空間】_[內(nèi)附完整源碼和文檔]
用C++做了個(gè)有AI功能的貪吃蛇小游戲,希望大家enjoy it.
總體概況
開發(fā)環(huán)境:VIsual Studio 2017
開發(fā)語言:C++ 和 少許Windows API
運(yùn)行環(huán)境:Windows 10
01 初始化工作-游戲設(shè)置
游戲設(shè)置和相關(guān)初始化放在了一個(gè)類里面,并進(jìn)行了靜態(tài)聲明。主要設(shè)置了游戲窗口的長和款。并在GameInit()函數(shù)里面設(shè)置了窗口大小,隱藏光標(biāo),初始化隨機(jī)數(shù)種子等。代碼如下:
//游戲設(shè)置相關(guān)模塊,把函數(shù)都放到一個(gè)類里面了。函數(shù)定義為static靜態(tài)成員,不生成實(shí)體也可以直接調(diào)用class GameSetting{public: //游戲窗口的長寬 static const int window_height = 40; static const int window_width = 80;public: static void GameInit() { //設(shè)置游戲窗口大小 char buffer[32]; sprintf_s(buffer, "mode con cols=%d lines=%d",window_width, window_height); system(buffer); //隱藏光標(biāo) HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_CURSOR_INFO CursorInfo; GetConsoleCursorInfo(handle, &CursorInfo);//獲取控制臺光標(biāo)信息 CursorInfo.bVisible = false; //隱藏控制臺光標(biāo) SetConsoleCursorInfo(handle, &CursorInfo);//設(shè)置控制臺光標(biāo)狀態(tài) //初始化隨機(jī)數(shù)種子 srand((unsigned int)time(0)); }};
用到了幾個(gè)相關(guān)的Windows API,本文不做過多介紹,大家百度即可。