下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、# i n c l u d e < i o s t r e a m > usingnamespacestd;constcharMOUSE='*'constcharWAY=''constcharWALL=''constcharPASS='.'constcharIMPASS='X'classGamepublic:Game(size_tuWidth,size_tuHeight):m_uWidth(uWidth),m_uHeight(uHeight),m_ pcMaze(newcharuWidth*uHeigh
2、t),m_mouse(0,1)srand(time(NULL);char(*pcMaze)m_uWidth=reinterpret_cast<char(*)m_uWidth>(m_pcMaze);for(size_ti=0;i<m_uHeight;i+)for(size_tj=0;j<m_uWidth;j+) if(i=1&&j<4)|(i=m_uHeight-2&&j>m_uWidth-5) pcMazeij=WAY;elseif(i=0|i=m_uHeight-1|j=0|j=m_uWidth-1)pcMazeij=WAL
3、L;elsepcMazeij=rand()%4WAY:WALL;Game(void)if(m_pcMaze)deletem_pcMaze; m_pcMaze=NULL;voidRun(void)for(Show();!Quit()&&Step(););private:classMousepublic:Mouse(size_tx,size_ty):m_x(x),m_y(y) size_tGetX(void)returnm_x; size_tGetY(void)returnm_y; voidStepRight(void) m_x+; m_brain.Remember(EDIR_RI
4、GHT);voidStepDown(void)m_y+;m_brain.Remember(EDIR_DOWN); voidStepLeft(void)m_x-;m_brain.Remember(EDIR_LEFT);voidStepUp(void)m_y-;m_brain.Remember(EDIR_UP);voidStepBack(void)switch(m_brain.Recollect() caseEDIR_RIGHT: m_x-; break;caseEDIR_DOWN:m_y-;break;caseEDIR_LEFT:m_x+; break; caseEDIR_UP: m_y+; b
5、reak;private:typedefenumtag_DirectionEDIR_RIGHT,EDIR_DOWN,EDIR_LEFT,EDIR_UP,EDIR_STILLEDIR;classBrainpublic:Brain(void):m_pMemory(NULL)Brain(void) for(Step*pStep=m_pMemory,*pLast;pStep;pStep=pLast) pLast=pStep->m_pLast;deletepStep;voidRemember(EDIReDir) m_p Memory=n ewSte p( eDir,m_ pMemory);&quo
6、t; "EDIRRecollect(void) EDIReDir=EDIR_STILL; if(m_pMemory)Ste p*p Ste p=m_p Memory;m_p Memory=m _p Memory-m_p Last;eDir=p Ste p-> m_eDir; delete pSte p; returneDir;p rivate:classSte pp ublic:Ste p(EDIReDir,Ste p*p Last):m_eDir(eDir),m_pLast( pLast) EDIRm_eDir;Step*m_p Last; " Step*m_p M
7、emory; "size_tm_x;size_tm_y;Brai nm _brai n; "voidShow(void)char(* pcMaze)m_uWidth=rei nterpret_castvchar(*)m_uWidth>(m _p cMaze); for(size_ti=0;ivm_uHeight;i+)for(size_tj=0;jvm_uWidth;j+)cout< vp cMazeij;coutvve ndl;boolQuit(void)coutvv"鎸塓閫?鍑猴紝鍏朵粬閿戶緇"vvflush;in tch=getchar
8、();returnch=Q|ch='q'boolSte p(void)char(* pcMaze)m_uWidth=rei nterpret_castvchar(*)m_uWidth>(m _p cMaze);size_tx=m_mouse.GetX();size_ty=m_mouse.GetY(); if(x+1<=m_uWidth-1&&pcMazeyx+1=WAY)pcMazeyx=PASS;m_mouse.StepRight(); elseif(y+1<=m_uHeight-1&&pcMazey+1x=WAY) pcMa
9、zeyx=PASS;m_mouse.StepDown(); elseif(x-1>=0&&pcMazeyx-1=WAY) pcMazeyx=PASS; m_mouse.StepLeft();elseif(y-1>=0&&pcMazey-1x=WAY) pcMazeyx=PASS; m_mouse.StepUp();elsepcMazeyx=IMPASS; m_mouse.StepBack();x=m_mouse.GetX();y=m_mouse.GetY();pcMazeyx=MOUSE;Show();if(x=0&&y=1)cout<<"* 小老鼠贏了 *" returnfalse; if(x=m_uWidth-1&&y=m_uHeight-2) cout<<"* 小老鼠失敗了 *&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國金屬注射成型行業(yè)營銷創(chuàng)新戰(zhàn)略制定與實施研究報告
- 2025-2030年中國洗浴中心行業(yè)商業(yè)模式創(chuàng)新戰(zhàn)略制定與實施研究報告
- 2025-2030年中國礦用車輛維修行業(yè)商業(yè)模式創(chuàng)新戰(zhàn)略制定與實施研究報告
- 2025-2030年中國錦綸工程技術(shù)服務(wù)行業(yè)商業(yè)模式創(chuàng)新戰(zhàn)略制定與實施研究報告
- 建設(shè)集團公司總經(jīng)理辦公會會議制度
- 廣西部分市2024屆高考聯(lián)合模擬考試
- 可行性研究報告修改意見
- 2023-2028年中國甲苯磺丁脲片行業(yè)市場調(diào)查研究及發(fā)展戰(zhàn)略規(guī)劃報告
- 三年級數(shù)學(xué)計算題專項練習(xí)匯編及答案集錦
- 玻璃鋼接閃桿避雷針 6米玻璃纖維路燈桿 絕緣輕質(zhì)天線桿
- 江西省萍鄉(xiāng)市2022-2023學(xué)年高一年級上冊期末考試數(shù)學(xué)試題
- 第二單元自測卷(試題)2023-2024學(xué)年統(tǒng)編版語文四年級下冊
- 山西省呂梁市2023-2024學(xué)年高二上學(xué)期期末數(shù)學(xué)試題
- 如何訓(xùn)練寶寶獨立就寢
- 血常規(guī)報告單
- 設(shè)備部年度工作總結(jié)和來年計劃
- 藥品的收貨與驗收培訓(xùn)課件
- 寶寶大便觀察及護理課件
- 公司月度安全生產(chǎn)綜合檢查表
- 開題報告會記錄單
- 對話的力量:焦點解決取向在青少年輔導(dǎo)中的應(yīng)用
評論
0/150
提交評論