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

正文內(nèi)容

畢業(yè)論文-基于visual c++的掃雷游戲設(shè)計-文庫吧

2025-05-14 22:52 本頁面


【正文】 u==3) { } if(jieshu==1amp。amp。lei[a][b].shumu==1) { } } int nOldDC=pDCSaveDC()。 pDCSetTextColor(RGB(255,0,0))。 pDCSetBkColor(RGB(0,0,0))。 CFont font。 if(0==(160,Comic Sans MS)) { AfxMessageBox(Can39。t Create Font)。 } } 畫背景時, pDCFillRect(myrect1,amp。mybrush1)。 取 得 顏 色 刷 并 在 區(qū) 域 CRect myrect1(0,0,1200,800)內(nèi)填充該顏色;畫黑框時, (RGB(0,0,0))黑色刷,pDCFillRect(myrect,amp。mybrush)、 pDCFillRect(myrect2,amp。mybrush)分別取得黑色刷在不同區(qū)域涂刷,形成黑框,接著在畫黑框右下兩邊畫白線是黑框有立體感;畫雷區(qū)時, 左上角是白線,右下角是黑線,以顯示 立體感 ,然后在兩黑框中間位置顯示人物臉圖按鈕,接著是判斷雷區(qū)顯示什么位圖, 如果 weitu=1 顯示 已按下的數(shù)字區(qū) ,如果 weitu=2 顯示旗 ,如果 weitu=3顯示問號 ,如果 jieshu==1amp。amp。lei[a][b].shumu==1則結(jié)束 ,最后是顯示黑框中的數(shù)字,不夠三位的數(shù)字在前面加 0. (1)對于雷,我們是單獨(dú)定義一個類,這樣有利于程序的操作。 class Lei { public: int weitu。 int shumu。 }。 上述代碼聲明了以下變量: int weitu 顯示哪一個位圖 , int shumu 相應(yīng) 位置相應(yīng)的值 (2)在類 CMy2_1View 中添加變量及函數(shù): class CMy2_1View : public CView { public: int leftnum。 int leinum。 int jieshu。 short second。 int secondstart。 CBitmap m_Bitmap[12]。 CBitmap m_anniu[4]。 int m_RowCount。 int m_ColCount。 Lei lei[50][50]。 virtual ~CMy2_1View()。 void leizero()。 protected: //{{AFX_MSG(CMy2_1View) afx_msg void OnTimer(UINT nIDEvent)。 afx_msg void OnLButtonDown(UINT nFlags, CPoint point)。 afx_msg void OnRButtonDown(UINT nFlags, CPoint point)。 afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct)。 afx_msg void OnStart()。 afx_msg void OnLButtonUp(UINT nFlags, CPoint point)。 afx_msg void Onchuji()。 afx_msg void Onzhongji()。 afx_msg void Ongaoji()。 //}}AFX_MSG DECLARE_MESSAGE_MAP() }。 上述代碼聲明了以下變量及函數(shù) :int leftnum 剩余雷數(shù), int leinum 雷 的 數(shù) 目, short second 計時, int secondstart 開始計時, 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()顯示一個位置周圍雷數(shù)為 0的區(qū)域, void OnTimer()計時器函數(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ù)。 (3)由于構(gòu)造函數(shù)是程序運(yùn)行時就執(zhí)行的,所以,除了對變量賦值之外,我們還可以把游戲的核心結(jié)構(gòu)即內(nèi)部數(shù)組賦值:先是把全部格子的位圖和雷數(shù)賦值為 0,然后調(diào)用隨機(jī)函數(shù)按指定雷數(shù)賦值為 1, 最后把不是雷的格子的雷數(shù)賦值為相應(yīng)的值。 以下代碼 中 CTime time=GetCurrentTime( )是 獲取當(dāng)前時間 , s=( )是 獲取秒數(shù) , while 循環(huán)是 以當(dāng)前秒數(shù)為產(chǎn)生隨機(jī)算法 ,同時 為了避免一個位置同時算兩個雷 , 只允許當(dāng)前位置不是雷時賦值為雷 ,接著 for 循環(huán)是 給方格賦值,計算雷數(shù) 。 CMy2_1View::CMy2_1View() { for(int ii=0。ii16。ii++) m_Bitmap[ii].LoadBitmap(IDB_BITMAP14+ii)。 for(int jj=0。jj4。jj++) m_anniu[jj].LoadBitmap(IDB_ANNIU1+jj)。 second=0。 secondstart=0。 int aa=0。 for(int i=0。im_RowCount。i++) { for(int j=0。jm_ColCount。j++) { lei[i][j].shumu=0。 lei[i][j].weitu=0。 } } CTime time=GetCurrentTime()。 int s。 s=()。 do { }while(aa!=leinum)。 for(int a=0。am_RowCount。a++) for(int b=0。bm_ColCount。b++) if(lei[a][b].shumu==0) { } } (4) 首選 獲取指針 pdc,用 if 語句判斷,如果在按鈕上面,則顯示按鈕按下位圖;如果在掃雷區(qū),先把按鈕位圖改為張口位圖,再判斷按下的是否是雷,是就結(jié)束,重畫,以顯示所有的雷;否則,重畫相應(yīng)格子以顯示數(shù)字。其代碼如下: void CMy2_1View::OnLButtonDown(UINT nFlags, CPoint point) { CDC *pDC=GetDC()。 CDC Dc。 if((pDC)==FALSE) AfxMessageBox(Can39。t create DC)。 if(180amp。amp。210amp。amp。10amp。amp。40) { } if((=10)amp。amp。(=385)amp。amp。(=50)amp。amp。(=290)) { if(jieshu==1) return。 if(lei[a][b].weitu==0||lei[a][b].weitu==3) { if(lei[a]
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1