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

正文內(nèi)容

基于visualc的“連連看”游戲的設(shè)計與實現(xiàn)(參考版)

2024-10-28 18:27本頁面
  

【正文】 參考文獻(xiàn) [1] 肖永亮 . Visual C++游戲編程基礎(chǔ) [M].北京: 電子工業(yè)出版社, 2020 [2] Michael ++游戲編程入門教程 [M].北京:人民郵電出版社, 2020 [3] 肖永亮 . 3D游戲編程 [M].北京: 電子工業(yè)出版社, 2020 [4] William . 數(shù)據(jù)結(jié)構(gòu)與 STL[M].北京:機械工業(yè)出版社, 2020 [5] Larry ++數(shù)據(jù)結(jié)構(gòu)導(dǎo)引 [M].北京:清華大學(xué)出版社, 2020 20 [6] Mark Allen Weiss. 數(shù)據(jù)結(jié)構(gòu)與問題求解 [M].北京: 清華大學(xué)出版社, 2020 [7] Delores amp。 19 圖 41 游戲整體運行效果圖 5 結(jié)束語 在本 次畢業(yè)設(shè)計 的過程中,最大的感受就是“書到用時方恨少”,真正動手做的時候才發(fā)現(xiàn)自己學(xué)的不精,總覺得不夠用。運行界面 如圖 41 所示 。 } 4 測試與運行 每個設(shè)計都要經(jīng)過運行測試才算基本完成,測試和運行能體現(xiàn)出整個設(shè)計過程存在著哪些漏洞,因此有必要對整個游戲進行測試運行。i++) { if(m_map[i] != BLANK_STATE) { return FALSE。 // 檢測是否已經(jīng)贏得了游戲 BOOL C_LLK_Dlg:: IsWin(void){ //檢測所有是否尚有非未被消除的方塊 // (非 BLANK_STATE 狀態(tài) ) for(int i=0。 } 18 } } 游戲勝利的判斷模塊的設(shè)計 設(shè)計思路 游戲 勝利 判斷 設(shè)計比較簡單,只需對地圖中所有區(qū)域的狀態(tài)進行檢測就可以了,只要檢測到地圖中有一個圖案方塊還沒有被抵消,則證明游戲沒有結(jié)束,完成判斷。 pDCBitBlt(j*FRONTWIDTH, i*FRONTHEIGHT, FRONTWIDTH2, FRONTHEIGHT12, amp。 //繪制方塊 //因為要使得效果透明,所以由圖樣的底色以及表面兩部分構(gòu)成 pDCBitBlt(j*FRONTWIDTH, i*FRONTHEIGHT, FRONTWIDTH2, FRONTHEIGHT12, amp。 } //繪制方塊邊框 pDCBitBlt(j*FRONTWIDTH, i*FRONTHEIGHT, BKWIDTH, BKHEIGHT, amp。jm_nCol。im_nRow。 // 游戲區(qū)域的繪制 17 // void C_LLK_Dlg:: GameDraw(CDC * pDC) { //繪制背景顏色 pDCFillSolidRect(0 , 0 , m_nCol*FRONTWIDTH+5 ,m_nRow*FRONTHEIGHT+5, BKCOLOR)。 } 繪制游戲區(qū)域的代碼設(shè)計 在完成繪圖物件的初始化工作后,接下來就可以對整個游戲區(qū)域的繪制進行實現(xiàn),對于整個游戲區(qū)域的繪制,可以封 裝在 GameDraw()函數(shù)里面。 (amp。 //整個游戲區(qū)域內(nèi)存位圖 (pWinDC)。 (amp。 //動物圖樣內(nèi)存位圖 (pWinDC)。 (amp。 //內(nèi)存設(shè)備環(huán)境以及內(nèi)存位圖的創(chuàng)建,初始化 , 關(guān)聯(lián) //3D 方塊邊框圖樣內(nèi)存位圖 (pWinDC)。 // Set big icon SetIcon(m_hIcon, FALSE)。 // Set the icon for this dialog. The framework does this automatically // when the application39。部分代碼如下所示。 圖 39 不同種類動物的位圖及 3D 邊框效果圖 圖 310 繪圖方案 繪圖資源的載入與初始化 的代碼設(shè)計 如圖 310 所描述方案,可以先在內(nèi)存創(chuàng)建兩個內(nèi)存位圖,對其進行載 入。 準(zhǔn)備好位圖 圖像 后,開始設(shè)計繪圖方案,本游戲采用內(nèi)存位圖映射的方式,先將整個游戲區(qū)域的 圖像 繪制到內(nèi)存位圖中去,然后再一次性地將 它 拷貝到屏幕上顯示[9]。 } } 繪圖功能模塊設(shè)計 設(shè)計思路 在繪圖之前應(yīng)該先準(zhǔn)備好一個帶有不同動 物種類的位圖,以及一個 3D 邊框效果的位圖,如圖 39 所示。 } } //察看是否已經(jīng)勝利 if(IsWin()) { MessageBox(恭喜您勝利闖關(guān) , 即將開始新局 )。 m_nY1=BLANK_STATE。 m_map[y*m_nCol+x]=BLANK_STATE。amp。 //現(xiàn)場恢復(fù) pWinDCSelectObject(pOldPen)。 pWinDCLineTo((x+1)*FRONTWIDTH, y*FRONTHEIGHT)。 pWinDCLineTo(x*FRONTWIDTH, (y+1)*FRONTHEIGHT)。myPen)。 (PS_SOLID, 4, RGB(255, 0, 0))。 //臨時繪制點中的方塊外框 //只繪屏幕不載入內(nèi)存位圖 CPen myPen。 m_nY1=y。amp。amp。 int y=+(%FRONTHEIGHT?1: 0)1。 ( 9)結(jié)束:判斷此次的鼠標(biāo)操作是否已經(jīng)勝利結(jié)束,如果是則給予用戶提示,然后重新開始新的一關(guān)。 ( 7)抵消方塊:如果可以抵消,對選中的兩個方塊在內(nèi)部核心地圖對應(yīng)的數(shù)據(jù)狀態(tài)做適當(dāng)?shù)男薷?,將他們的狀態(tài)記作已經(jīng)被銷毀的空方塊狀態(tài) BLANK_STATE。判斷選中的方塊與前一個方塊是否為同一圖案方塊,并且此次選擇不與上一次選定的方塊為同一方塊,然后才跳到下一步對兩個選定的方塊是否可以抵消的流程中去。 ( 4)選定第一個方塊:對于本次選中的方塊為第一個選中的情況,先用 m_nX1開始 鼠標(biāo)點擊位置的確定 清除選定方塊的記錄 選定第一個方塊 是否已選定一個方塊 是否可以抵消方塊 是否點擊在圖案上 抵消方塊 選定第二個方塊 結(jié)束 否 是 否 是 否 12 和 m_nY1 對當(dāng)前的選中方塊位置作記錄,然后直接在屏幕的該區(qū)域繪制 圖像 ,為該方塊區(qū)域添加一個紅色的矩形外邊框,用于提示用戶當(dāng)前的第一個圖案方塊選中的位置。保證運 算出來的行數(shù) x 和列數(shù) y 在預(yù)定義區(qū)域
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1