freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c課程設(shè)計(jì)迷宮小游戲-文庫(kù)吧

2025-06-14 06:30 本頁(yè)面


【正文】 來(lái)初始化每一個(gè)的地圖信息和人物位置信息,通過(guò)Rand()可方便關(guān)卡的增減修改,利于維護(hù)。以下是Game()成員函數(shù)的代碼,代碼質(zhì)量風(fēng)格良好。void Maze::Game(){ do { if (CHECKPOINT == checkpoint) GameOver()。 //游戲通關(guān) else if (RAILING13 == map[y][x]) NextCheckpoint()。 //下一關(guān) else { ShowGame()。 //打印迷宮 Move()。 //移動(dòng) } } while (true)。}迷宮程序設(shè)計(jì)的函數(shù)都是類Maze的成員函數(shù),分別是Maze()、void ShowUI()、void Game()、void ShowGame()、void GameOver()、void Move()、void NextCheckpoint()、void Rand()。其中,比較核心的兩個(gè)函數(shù)(Game()與Move()函數(shù))的程序流程圖如下所示: Game函數(shù)流程圖是否否是Game()開(kāi)始判斷游戲是否結(jié)束?是否進(jìn)行下一關(guān)?顯示迷宮界面ShowUI()獲取移動(dòng)命令Move()初始化下一關(guān)數(shù)據(jù)NextCheckpoint()Game()結(jié)束調(diào)用GameOver() Move函數(shù)流程圖d鍵a鍵s鍵w鍵是wsad鍵非wsad鍵Move()開(kāi)始獲取按鍵信息判斷wsad按鍵處理向上(w鍵)移動(dòng)處理向下(s鍵)移動(dòng)處理向左(a鍵)移動(dòng)處理向右(d鍵)移動(dòng)Move()結(jié)束 5遇到的問(wèn)題及解決辦法游戲開(kāi)始設(shè)計(jì)的時(shí)候,不知道如何對(duì)控制臺(tái)進(jìn)行清屏操作,導(dǎo)致游戲界面比較亂。通過(guò)查閱網(wǎng)上資料,了解到了system(“cls”)函數(shù)可實(shí)現(xiàn)控制臺(tái)界面的清屏操作,這樣看起來(lái)便簡(jiǎn)潔了很多。本程序一開(kāi)始通過(guò)cin函數(shù)進(jìn)行鍵盤(pán)按鍵的讀入 ,導(dǎo)致游戲無(wú)法連貫運(yùn)行。通過(guò)查閱網(wǎng)上資料,_getch()函數(shù),從鍵盤(pán)獲取一個(gè)按鍵,但不回顯在屏幕上,完成了游戲的實(shí)時(shí)運(yùn)行操作。標(biāo)記人物★的x,y坐標(biāo)經(jīng)常與數(shù)組的行列混淆,老是出現(xiàn)map[x][y]這樣的錯(cuò)誤。通過(guò)細(xì)心觀察和總結(jié),加深對(duì)知識(shí)的了解和運(yùn)用,避免類似這樣的非語(yǔ)法錯(cuò)誤,養(yǎng)成良好的代碼習(xí)慣,下面再說(shuō)一次map[y][x]才是正確的寫(xiě)法。游戲結(jié)束的邏輯思路一直沒(méi)連貫起來(lái),導(dǎo)致程序進(jìn)入死循環(huán)。通過(guò)查閱相關(guān)資料,知道exit(0)可以在代碼的任何位置結(jié)束程序的運(yùn)行。由于基礎(chǔ)的不扎實(shí)以及考慮的不夠全面,一開(kāi)始在Move()的時(shí)候只進(jìn)行了小寫(xiě)字母wsad按鍵的處理,沒(méi)有處理大寫(xiě)的WSAD按鍵,這樣會(huì)導(dǎo)致大寫(xiě)的時(shí)候,無(wú)法控制游戲人物的移動(dòng)。通過(guò)刻苦的學(xué)習(xí),在switch里面每個(gè)的case w:上下,再增加一行case W:即可,這樣執(zhí)行同樣的代碼就無(wú)須再?gòu)?fù)制粘貼一遍了,或者再寫(xiě)一個(gè)函數(shù)解決。 6總結(jié)與展望在做這個(gè)課程設(shè)計(jì)的時(shí)候,我感覺(jué)我就像迷宮里的★一樣,通過(guò)解決一個(gè)個(gè)的問(wèn)題,最后通過(guò)了一關(guān)關(guān)的關(guān)卡,得到了游戲的勝利。一路走來(lái)著實(shí)不易,在一次次調(diào)試奔潰中躺過(guò),如果不是老師和同學(xué)們的指導(dǎo)和幫助,或許我已經(jīng)放棄了前進(jìn)。這次小游戲的開(kāi)發(fā),是我人生中的一次淬煉,是我邁向一名出色工程師的試煉。無(wú)數(shù)個(gè)日日夜夜的積累與奮斗在這次開(kāi)發(fā)中反映的淋漓盡致,人生也像課程設(shè)計(jì)一樣,不能缺少規(guī)劃和磨練。只有堅(jiān)持奮斗,克服一個(gè)個(gè)困難,才能到達(dá)最后的終點(diǎn),品味風(fēng)雨后的彩虹。在此次開(kāi)發(fā)設(shè)計(jì)中,我領(lǐng)悟了很多的道理,收獲了很多以往在課堂上得不到的心得和感悟,也提高了我對(duì)C++的興趣,完成一件作品的成就感不言而喻。以后,我一定會(huì)好好學(xué)習(xí),加強(qiáng)自己對(duì)軟件開(kāi)發(fā)的學(xué)習(xí),提高自己的編程能力,成為一名出色的工程師,在C++編程的世界大放異彩。在此,我要感謝所有幫助過(guò)我的同學(xué)和指導(dǎo)老師們,你們的鼓勵(lì)和幫助是我成功的動(dòng)力。 附錄用戶使用手冊(cè)根據(jù)提示,按任意鍵即可開(kāi)始游戲。根據(jù)提示,按wsad即可進(jìn)行游戲的操作。程序源代碼includeiostreamincludeincludeincludedefine CHECKPOINT 3 //第3關(guān)通關(guān),即最后一關(guān)通關(guān),表示總關(guān)卡數(shù)define DIMENSION 20 //迷宮地圖數(shù)組大小//定義欄桿define ACCESS 0 //表示迷宮中可以走動(dòng)的路define RAILING1 1 //欄桿 ━define RAILING2 2 //欄桿 ┃define RAILING3 3 //欄桿 ┏define RAILING4 4 //欄桿 ┗define RAILING5 5 //欄桿 ┓ define RAILING6 6 //欄桿 ┛define RAILING7 7 //欄桿 ┣define RAILING8 8 //欄桿 ┫define RAILING9 9 //欄桿 ┳define RAILING10 10 //欄桿 ┻define RAILING11 11 //欄桿 ╋define RAILING12 12 //人物 ★define RAILING13 13 //出口 ○define RAILING14 14 //墻 ■using namespace std。class Maze {public: Maze()。 //構(gòu)造函數(shù),初始化關(guān)卡數(shù)據(jù) void ShowUI()。 //顯示迷宮開(kāi)始界面 void Game()。 //游戲開(kāi)始 void ShowGame()。 //顯示游戲界面 void GameOver()。 //通關(guān)所有關(guān)卡,顯示游戲結(jié)束界面 void Move()。 //移動(dòng) void NextCheckpoint()。 //下一關(guān)private: int map[DIMENSION][DIMENSION]。 //記錄關(guān)卡地圖 int checkpoint。 //記錄當(dāng)前關(guān)卡 int x, y。 //記錄人物在迷宮中的坐標(biāo) void Rand()。 //產(chǎn)生新地圖}。//主函數(shù)入口int main(void){ Maze m。 ()。 //顯示初始界面 ()。 //游戲開(kāi)始 return 0。}Maze::Maze(){ checkpoint = 0。 //第一關(guān) Rand()。 system(cls)。}void Maze::ShowUI(){ cout endl。 cout ┏━━━━━━━━━━━━━━━━━━━━━━━┓ endl。 cout ┃┏━━━━━━━━━━━━━━━━━━━━━┓┃ endl。 cout ┃┃
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1