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

正文內(nèi)容

畢業(yè)論文-基于visualc的掃雷游戲設(shè)計(jì)-文庫吧資料

2025-01-18 12:46本頁面
  

【正文】 總結(jié)與展望 隨著掃雷游戲的開發(fā)完成,本游戲中預(yù)期的主要功能也基本實(shí)現(xiàn)。 ,在開始菜單選擇初級(jí)或中級(jí)或高級(jí)選項(xiàng)后,雖然游戲中的雷區(qū)會(huì)做出相應(yīng)的改變,但黑框中的雷數(shù)不變并且游戲的難度也不變,后來我在函數(shù)中 void Onchuji( ), void Onzhongji( ), void Ongaoji( )添加了 OnStart( )。 } 四、遇到的問題及解決辦法 1. 開始執(zhí)行程序,就能見到一個(gè)有狀態(tài)欄和工具欄的大的單文檔 ,為了使游戲界面簡(jiǎn)潔,我在網(wǎng)上查了相關(guān)資料后,把類 CMainFrame 中的 OnCreate( )中的一些語句去掉才把不相關(guān)的狀態(tài)欄和工具欄去掉。 } void CMy2_1View::Ongaoji() { } void CMy2_1View::Onzhongji() { OnStart()。 m_ColCount=10。 } ( 10) 打開選擇 ResourceView 窗口,打開菜單編輯器,在頂層菜單上添加一個(gè)名為“游戲”的彈出式菜單該菜單下再添加三個(gè)名為“初級(jí)”“中級(jí)”“高級(jí)”的子菜單,其 ID 分別為 ID_chuji、ID_zhongji、 ID_gaoji。bm_ColCount。am_RowCount。 } }while(aa!=leinum)。 { lei[k][l].shumu=1。 do { second=0。 } CView::OnTimer(nIDEvent)。 InvalidateRect(amp。 if(secondstart==20) { leizero()。 return 0。 OnTimer(UINT nIDEvent)函數(shù),同時(shí)也可以實(shí)現(xiàn)計(jì)時(shí)顯示。 } } } (8)再運(yùn)行,效果是有的,只是它只顯示一部分,即這個(gè)周圍的幾個(gè)。 InvalidateRect(amp。 lei[n][m].weitu==0) { lei[n][m].weitu=1。mm_ColCount) if(lei[n][m].shumu!=1amp。m=0amp。n25amp。m++) if(n=0amp。n++) for(int m=j1。lei[i][j].weitu==1) { for(int n=i1。j++) if(lei[i][j].shumu==0amp。i++) for(int j=0。怎么實(shí)現(xiàn)呢?添加一個(gè)如下函數(shù),該函數(shù)可以掃描,如果是已經(jīng)被按下且雷數(shù)為 0,顯示它周圍的八個(gè)格,并重畫,其代碼如下: void CMy2_1View::leizero() { for(int i=0。 } 其中 Crect rect2是定義重畫剩下雷數(shù)變量,然后重畫剩下雷數(shù); Crect rect 是定義重畫打擊格子變量,然后重畫打擊格子。 CRect rect。 leftnum++。 leftnum。 int b=()/15。amp。amp。amp。其代碼如下: void CMy2_1View::OnRButtonDown(UINT nFlags, CPoint point) { if(jieshu==1) return。 CView::OnLButtonUp(nFlags, point)。amp。amp。amp。Dc,0,0,SRCCOPY)。 (m_anniu[0])。 void CMy2_1View::OnLButtonUp(UINT nFlags, CPoint point) { } 如果現(xiàn)在運(yùn)行的話,會(huì)發(fā)現(xiàn)按下按鈕時(shí)并不還原,這就涉及到鼠標(biāo)函數(shù):OnLButtonUp(UINT nFlags, CPoint point) (5)松開左鍵時(shí),顯示按鈕沒有按下的位圖;再判斷,如果結(jié)束,就要顯示失敗的位圖;另外,如果是在按鈕上松開按鈕,即表示我們已經(jīng)按下了重新開始的按鈕,必須調(diào)用重新開始函 數(shù)OnStart()。 Invalidate()。 if(lei[a][b].weitu==0||lei[a][b].weitu==3) { if(lei[a][b].shumu==1) { jieshu=1。 amp。amp。amp。amp。amp。amp。t create DC)。 CDC Dc。 } } (4) 首選 獲取指針 pdc,用 if 語句 判斷,如果在按鈕上面,則顯示按鈕按下位圖;如果在掃雷區(qū),先把按鈕位圖改為張口位圖,再判斷按下的是否是雷,是就結(jié)束,重畫,以顯示所有的雷;否則,重畫相應(yīng)格子以顯示數(shù)字。b++) if(lei[a][b].shumu==0) { a++) for(int b=0。 for(int a=0。 s=()。 } } CTime time=GetCurrentTime()。j++) { lei[i][j].shumu=0。i++) { for(int j=0。 for(int i=0。 secondstart=0。jj++) m_anniu[jj].LoadBitmap(IDB_ANNIU1+jj)。 for(int jj=0。ii16。 以下代碼中 CTime time=GetCurrentTime( )是 獲取當(dāng)前時(shí)間 , s=( )是 獲取秒數(shù) , while 循環(huán)是 以當(dāng)前秒數(shù)為產(chǎn)生隨機(jī)算法 ,同時(shí) 為了避免一個(gè)位置同時(shí)算兩個(gè)雷 , 只允許當(dāng)前位置不是雷時(shí)賦值為雷 ,接著 for 循環(huán)是 給方格賦值,計(jì)算雷數(shù) 。 上述代碼聲明了以下變量及函數(shù) :int leftnum 剩余雷數(shù), int leinum 雷 的 數(shù) 目, short second 計(jì)時(shí), int secondstart 開始計(jì)時(shí), CBitmap m_Bitmap[12]位圖數(shù)組 , CBitmap m_anniu[4]按扭位圖數(shù)組 , int m_RowCount 雷區(qū)行數(shù) , int m_ColCount 雷區(qū)列數(shù) , Lei lei[50][50]最大雷區(qū) , void leizero()顯示一個(gè)位置周圍雷數(shù)為 0的區(qū)域, void OnTimer()計(jì)時(shí)器函數(shù), void OnLButtonDown( )鼠標(biāo)按下左鍵 函數(shù), void OnRButtonDown( )鼠標(biāo)按下右鍵 函數(shù), void OnLButtonUp( )鼠標(biāo)左鍵松開 函數(shù), int OnCreate( )初始化游戲框架函數(shù), void OnStart( )開始化游戲函數(shù), int OnCreate( )初 始化函數(shù)。 afx_msg void Ongaoji()。 afx_msg void Onchuji()。 afx_msg void OnStart()。 afx_msg void OnRButtonDown(UINT nFlags, CPoint point)。 protected: //{{AFX_MSG(CMy2_1View) afx_msg void OnTimer(UINT nIDEvent)。 virtual ~CMy2_1View()。 int m_ColCount。 CBitmap m_anniu[4]。 int secondstart。 int jieshu。 public: int leftnum。 上述代碼聲明了以下變量: int weitu 顯示哪一個(gè)位圖 , int shumu 相應(yīng) 位置相應(yīng)的值 (2)在類 CMy2_1View 中添加變量及函數(shù): class CMy2_1View : public C
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1