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

正文內(nèi)容

基于c的掃雷游戲設(shè)計(jì)與實(shí)現(xiàn)-文庫吧資料

2024-08-24 12:06本頁面
  

【正文】 e {//點(diǎn)擊非雷區(qū)域 if (m_uGameState == GS_WAIT || m_uGameState == GS_RUN) { m_uBtnState = BUTTON_NORMAL。 } m_uBtnState = BUTTON_NORMAL。 return。 } } break。 ReleaseCapture()。 } else if (m_pOldMineuOldState == STATE_DICEY) {//標(biāo)志為“?”問號的時(shí)候 m_pOldMineuState = STATE_DICEY。 // 如果為空白區(qū)域,拓展,否則打開該區(qū)域(顯示周圍有多少雷數(shù)) if (around == 0) ExpandMines(m_pOldMineuRow, m_pOldMineuCol)。 return。 //改變游戲狀態(tài)為運(yùn)行/GS_RUN m_uGameState = GS_RUN; } if (m_pOldMineuOldState == STATE_NORMAL) {//當(dāng)該雷區(qū)域?yàn)檎N醋鳂?biāo)記才打開 //如果該區(qū)域?yàn)槔?,則死亡 if (IsMine(m_pOldMineuRow, m_pOldMineuCol)) { Dead(m_pOldMineuRow, m_pOldMineuCol)。 } //啟動(dòng)定時(shí)器 m_uTimer = SetTimer(ID_TIMER_EVENT, 1000, NULL)。 Invalidate()。 m_uTimer = 0。 return。 } if (ErrorAroundFlag(m_pOldMineuRow, m_pOldMineuCol)) { Dead(m_pOldMineuRow, m_pOldMineuCol)。 return。 Invalidate()。 OnLRBtnUp(m_pOldMineuRow, m_pOldMineuCol)。 return。 //根據(jù)不同的游戲狀態(tài)作處理 switch(m_uGameState) { //游戲進(jìn)行狀態(tài) case GS_WAIT: case GS_RUN: // first get the MINEWND which if pushing down m_pOldMine = GetMine(, )。 } else if ((point)) {//點(diǎn)擊雷區(qū)域 CString value。 if ((point)) {// 點(diǎn)擊笑臉圖 Invalidate()。void CMineWnd::OnLButtonUp(UINT nFlags, CPoint point) { //笑臉圖按鈕所在的區(qū)域 CRect rcBtn(m_uBtnRect[1], 15, m_uBtnRect[2], 39)。流程如圖11所示。 } } }B 掃雷鼠標(biāo)左擊事件其流程如圖10所示。 if(m_pMines[i][j].uAttrib != ATTRIB_MINE) { m_pMines[i][j].uAttrib = ATTRIB_MINE。amp。 j = rand() % m_uXNum。 index m_uMineNum。 UINT i, j。開始生成隨機(jī)的雷方塊的坐標(biāo)(x,y)判斷(x,y)區(qū)域是否已經(jīng)布下雷在(x,y)區(qū)域布雷,修改狀態(tài)數(shù)據(jù)判斷是否布下所有雷結(jié)束否是是否圖9 布雷流程在CMineWnd類中添加游戲的布雷模塊的處理函數(shù),該函數(shù)的實(shí)現(xiàn)如下。 // 雷方塊結(jié)構(gòu)體然后定義雷方塊的狀態(tài)類別和屬性類別。 //方塊屬性 UINT uOldState。 //所在雷區(qū)二位數(shù)組的列 UINT uState。typedef struct { UINT uRow。(2) 核心算法的實(shí)現(xiàn)整個(gè)游戲程序包含3個(gè)階段:布雷、掃雷過程和結(jié)果(并不是操作結(jié)果展示,而是在掃雷過程中,玩家通過與游戲交互后的操作結(jié)果展示)。,掃雷核心算法的設(shè)計(jì)與實(shí)現(xiàn)(1) 算法的設(shè)計(jì)把整個(gè)雷區(qū)看成一個(gè)二維數(shù)組,a[i][j]周圍的雷個(gè)數(shù)是由如下8個(gè)雷區(qū)決定的(如果超出邊界,應(yīng)該再加以判斷):a[i1][j1], a[i1][j], a[i1][j+1],a[i][], a[i][j+1],a[i+1][ j1], a[i+1][j], a[i+1][j+1],在被展開時(shí),檢查周圍的雷數(shù)是否與周圍標(biāo)示出來的雷數(shù)相等,如果相等則展開周圍未標(biāo)示的雷區(qū)。圖7 記錄對話框圖8 排行榜然后為IDD_DLG_HERO對話框模板創(chuàng)建CDlgHero類,分別為編輯框控件添加關(guān)聯(lián)變量m_szBHolder、m_szBRecord、m_szEHolder、m_szERecord、m_szIHolder、m_szIRecord,并將Cancel按鈕的ID和標(biāo)題分別改為IDC_RESET和重新計(jì)分,三個(gè)靜態(tài)文本標(biāo)題設(shè)置為初級記錄、中級記錄、高級記錄,最后為重新計(jì)分按鈕創(chuàng)建命令消息處理函數(shù)OnReset()和其他成員函數(shù)。圖6 以往記錄(5) 掃雷英雄榜的實(shí)現(xiàn)首先創(chuàng)建兩個(gè)對話框模板,一個(gè)用作當(dāng)用戶勝利結(jié)束游戲并打破歷史記錄后彈出的簽名記錄對話框模板IDD_DLG_NEWRECORD,另外一個(gè)是用以顯示以往最高的游戲記錄的對話框模板IDD_DLG_HERO。 }圖5 使用幫助(4) 以往的記錄每一次游戲破記錄則將有關(guān)信息保存下來。顯示結(jié)果如圖5所示。}(3) 使用幫助的實(shí)現(xiàn)由于Windows 自帶有掃雷游戲,所以直接調(diào)用它的使用手。 pMineSetCustom(m_uWidth, m_uHeight, m_uNumber)。 if (m_uNumber m_uWidth * m_uHeight) m_uNumber = m_uWidth * m_uHeight 1。 if (m_uHeight 24)
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1