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

正文內(nèi)容

基于c的掃雷游戲設(shè)計(jì)與實(shí)現(xiàn)(參考版)

2024-08-22 12:06本頁面
  

【正文】 還有感謝陪伴了我的同學(xué)們,他們不僅在畢業(yè)設(shè)計(jì)上,而且在生活上給了我很大的幫助,正是由于有了他們的鼓勵和幫助,我才能在遇到困難的時候堅(jiān)持下來,在此衷心的感謝他們。另外還要感謝計(jì)算機(jī)工程學(xué)院所提供的優(yōu)良的實(shí)驗(yàn)環(huán)境,讓我很好的鍛煉了自己的實(shí)踐能力。同時我也要感謝大學(xué)期間所有教導(dǎo)過我的老師們,是他們傳授給我方方面面的知識,拓寬了我的知識面,培養(yǎng)了我的功底,對畢業(yè)設(shè)計(jì)的完成不無裨益。在這次的畢業(yè)設(shè)計(jì)過程中,從醞釀、選題、撰寫到定稿,我遇到了許許多多的問題,有許許多多的地方需要改善,王老師總是耐心的幫我分析,并憑借他多年的工作經(jīng)驗(yàn)給我提供合理的解決方案,讓我更好地完成掃雷游戲的編寫。 致 謝經(jīng)過幾個月的不懈努力,我的畢業(yè)設(shè)計(jì)終于完成了。提高是有限的但也是全面的,正是這次設(shè)計(jì)讓我積累了許多實(shí)際經(jīng)驗(yàn),也必然會讓我在未來的工作學(xué)習(xí)中表現(xiàn)出更高的應(yīng)變能力和理解能力。并且在編寫的過程中,各種組件的運(yùn)用,各種算法的應(yīng)用,各種控件的利用我都是隨著畢業(yè)設(shè)計(jì)的不斷深入而不斷熟悉并逐步掌握的。這些都我們都希望通過畢業(yè)設(shè)計(jì)所能達(dá)到的目標(biāo)。當(dāng)貼到屏幕上時,由于內(nèi)存中最終的圖形與屏幕上顯示圖形差別很小,所以看起來就不會閃了。用戶可以把要顯示的圖形先在內(nèi)存中繪制好,然后再一次性的將內(nèi)存中的圖形一個點(diǎn)一個點(diǎn)的覆蓋到屏幕上去。當(dāng)窗口因?yàn)槟撤N原因需要重繪時,總是先用背景色將顯示區(qū)清除,然后才調(diào)用OnPaint(),而背景色往往與繪圖內(nèi)容反差很大,這樣在短時間內(nèi)背景色和顯示圖形的交替出現(xiàn),使得顯示窗口看起來會閃。 ()。//雷區(qū)繪圖 // 將內(nèi)存設(shè)備的內(nèi)容拷貝到實(shí)際屏幕顯示的設(shè)備 (, , , , amp。//3D效果外殼繪圖 DrawMineArea((CPaintDCamp。//數(shù)字圖像繪圖 DrawShell((CPaintDCamp。//笑臉按鈕繪圖 DrawNumber((CPaintDCamp。 DrawButton((CPaintDCamp。m_rcClient, amp。bitmap)。dc)) { // 使得bitmap與實(shí)際顯示的dc設(shè)備兼容 if((amp。 // 內(nèi)存設(shè)備 CBitmap bitmap。void CMineWnd::OnPaint() { CPaintDC dc(this)。雷區(qū)、笑臉按鈕、3D效果外殼和數(shù)字圖像的繪制都是在OnPaint()函數(shù)中實(shí)現(xiàn)的。接著在游戲的開始函數(shù)布下時間種子,時間間隔為1000us,然后選擇到預(yù)定時間間隔后發(fā)送Windows命令消息函數(shù)WM_TIMER。(3) 數(shù)字模塊的繪制數(shù)字圖像的繪制不是由鼠標(biāo)事件觸發(fā)的,而是由系統(tǒng)時間觸發(fā)的。 } }}(2)3D效果外殼模塊的繪制首先調(diào)用FillSolidRect()在框架的左部和頂部分別繪制2個小白條,這樣看起來有點(diǎn)立體的,然后調(diào)用Draw3dRect()在笑臉以及計(jì)時顯示區(qū)域周圍繪上一個較小的3D邊框,最后在雷區(qū)周圍繪上一個較大的3D邊框。 j++) {//根據(jù)[i][j]區(qū)域的雷方塊狀態(tài)拷貝相應(yīng)的圖像到[i][j]雷區(qū)的特定區(qū)域 (MINEAREA_FRAME_X+16*j, MINEAREA_FRAME_Y+16*i, 16, 16, amp。 i++) { for (UINT j = 0。 //將內(nèi)存設(shè)備與位圖資源關(guān)聯(lián) for (UINT i = 0。dc)。dc){ CDC dcMemory。繪制笑臉按鈕的函數(shù)實(shí)現(xiàn)類似。 圖13 位圖的繪制ID分別為ID_BTN_COLOR、ID_MINE_COLOR、ID_NUM_COLOR,并分別添加三個位圖類型的變量,然后調(diào)用LoadBitmap(UINT nIDResource)函數(shù)來實(shí)現(xiàn)位圖資源與變量的關(guān)聯(lián)并添加函數(shù)DrawButton()、DrawMineArea()、DrawNumber()分別實(shí)現(xiàn)笑臉按鈕、雷區(qū)、數(shù)字圖像(計(jì)時器數(shù)字和剩余雷數(shù)數(shù)字)的繪圖。 } } CWnd::OnRButtonDown(nFlags, point)。 default: break。 m_pNewMineuOldState = STATE_NORMAL。 break。 m_pNewMineuOldState = STATE_DICEY。 break。 m_pNewMineuOldState = STATE_FLAG。 OnLRBtnDown(m_pNewMineuRow, m_pNewMineuCol)。 if (!m_pNewMine) return。 m_bLRBtnDown = FALSE。void CMineWnd::OnRButtonDown(UINT nFlags, CPoint point) { //笑臉圖按鈕所在的區(qū)域 CRect rcBtn(m_uBtnRect[1], 15, m_uBtnRect[2], 39)。鼠標(biāo)右擊事件其流程如圖12所示。 ExpandMines(i, j)。amp。amp。amp。 j maxCol。 i maxRow。 // “打開”該區(qū)域,重繪 DrawSpecialMine(row, col)。 //顯示該區(qū)域的方塊狀態(tài) m_pMines[row][col].uState = 15 around。 UINT maxCol = col + 2。 UINT maxRow = row + 2。void CMineWnd::ExpandMines(UINT row, UINT col){ UINT i, j。如果當(dāng)前小方塊相鄰區(qū)域的雷數(shù)為0,則可以向8個方向進(jìn)行拓展,并顯示該方塊區(qū)域,直到不可拓展為止;如果當(dāng)前小方塊相鄰區(qū)域的雷數(shù)不為0,則顯示該方塊區(qū)域的相鄰雷數(shù),用作提供用戶對其他位置的信息判斷的提示。接著判斷點(diǎn)擊在小方塊的狀態(tài)是否被用于通過右鍵標(biāo)記(可以標(biāo)記為雷或者未知,此時游戲規(guī)則規(guī)定左鍵點(diǎn)擊不生效),如果未標(biāo)記,該狀態(tài)為普通狀態(tài)STATE_NORMAL時,先通過IsMine()檢測是否點(diǎn)中地雷而失敗地結(jié)束游戲,如果是,則調(diào)用函數(shù)Dead()來進(jìn)行失敗后的工作處理,反之對它進(jìn)行打開顯示與拓展操作。}在函數(shù)體的開始部分,先用rcBtn和rcMineArea兩個矩形變量存儲游戲的用戶提示區(qū)域位置中的笑臉圖區(qū)域以及雷區(qū)域的位置。 } } ReleaseCapture()。 } els
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1