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

正文內(nèi)容

畢業(yè)論文-基于visualc的掃雷游戲設(shè)計(已修改)

2025-01-24 12:46 本頁面
 

【正文】 青島理工大學(xué)琴島學(xué)院 設(shè) 計 報 告 課題名稱:掃雷游戲設(shè)計 學(xué) 院:青島理工大學(xué)琴島學(xué)院 專業(yè)班級:計算機(jī)科學(xué)與技術(shù) 102 班 學(xué) 號: 20220301049 學(xué) 生:徐為 指導(dǎo)教師:張秀國、宋傳磊 青島理工大學(xué)琴島學(xué)院教務(wù)處 2022 年 7月 8 日 一、調(diào)研材料 掃雷游戲是 Windows操作系統(tǒng)自帶的一個小游戲,過去的幾年里 Windows 操作系統(tǒng)歷經(jīng)數(shù)次換代,變得越來越龐大、復(fù)雜,但掃雷游戲在任何版本的 Windows 操作系統(tǒng)里卻依然保持原貌,而且?guī)缀趺總€電 腦使用者都接觸過它,并且深愛著這款小游戲。 掃雷游戲是比較經(jīng)典的一款小游戲,實現(xiàn)它的方法很多,可以用很多算法和語言實現(xiàn),如C,C++,VB,JAVA 等。 以 Visual C++ 開發(fā)環(huán)境,設(shè)計并開發(fā)一款掃雷游戲,其功能類似于Windows 操作系統(tǒng)自帶的掃雷游戲。 Visual C++是一個功能強(qiáng)大的可視化開發(fā)工具。自 1993年 Microsoft 公司推出 Visual C++ 后,隨著其新版本的不斷問世, VisualC++已成為專業(yè)程序員進(jìn)行軟件開發(fā)的首選工具。它不僅是一個 C++編譯器,而且是一個基于 Windows 操作系統(tǒng)的可視化即成開發(fā)環(huán)境。 二 、概要設(shè)計 圖 1 程序基本功能 掃 雷 游 戲 游 戲 開 始 游 戲 選 關(guān) 游 戲 計 雷 游 戲 計 時 類名 成員函數(shù) 功能 CMy2_1View leizero( ) 顯示沒有雷的區(qū)域 Onchuji( ) 給變量 m_RowCount、 m_ColCount、 leinum 賦值并初始化游戲。 Onzhongji( ) 給變量 m_RowCount、 m_ColCount、 leinum 賦值并初始化游戲。 Ongaoji( ) 給變量 m_RowCount、 m_ColCount、 leinum 賦值并初始化游戲。 OnLButtonDown( ) 如果在按鈕上面,則顯示按鈕按下位圖;如果在掃雷區(qū),先把按鈕位圖改為張口位圖,再判斷按下的是否是雷,是就結(jié)束,重畫,以顯示所有的雷;否則,重畫相應(yīng)格子以顯示數(shù)字。 OnRButtonDown( ) 如果是雷,按右鍵 時 ,顯示旗子,并減少一個剩下雷數(shù);如果我們認(rèn)為那旗子的格子不是雷,按右鍵,顯示問號,并在剩下雷數(shù)加上 1。 OnLButtonUp( ) 松開左鍵時,顯示按鈕沒有按下的位圖;再判斷,如果結(jié)束,就要顯示失 敗的位圖;如果是在按鈕上松開按鈕,即表示我們已經(jīng)按下了重新開始的按鈕,必須調(diào)用重新開始函數(shù) OnStart()。 OnStart() 初始化游戲 OnTimer( ) 記錄游戲所用時間 表 1 類及其函數(shù)功能 三、 詳細(xì)設(shè)計 前十二幅是在雷區(qū)的,后四幅是按鈕。為了便于加載,必須各自保證其連續(xù)性。另外,為什么不添加一個按鈕而用位圖呢?是因為即使我們添加了按鈕也要添加四幅位圖! 位圖的 ID 號: 按扭位圖: 30*30 IDB_ANNIU IDB_ANNIU IDB_ANNIU IDB_ANNIU4 雷區(qū)位圖: 14*14 ID 號按下圖依次為: IDB_BITMAP14。 IDB_BITMAP25 在類 CMainFrame 中的 PreCreateWindow( )添加代碼: BOOL CMainFrame::PreCreateWindow(CREATESTRUCTamp。 cs) { =|WS_EX_TOPMOST。 // =WS_SYSMENU|WS_OVERLAPPED|WS_MINIMIZEBOX。//。 =440。 =400。 return TRUE。 } 為了用戶框重畫的需要,當(dāng)我們的游戲玩了一半后最小化,或是把部分窗口移出屏幕,或是執(zhí)行了新的應(yīng)用程序覆蓋了原來的程序時,必須重畫。我們調(diào)用重畫函數(shù),它都要重新執(zhí)行 OnDraw(CDC* pDC)函數(shù),那么,此時它就必須把已經(jīng)顯示出來的位圖也顯示出來。而開始時雷區(qū)位圖是不可見的,并不影響界面的初始化。 void CMy2_1View::OnDraw(CDC* pDC) { CBrush mybrush1。 (RGB(192,192,192))。 CRect myrect1(0,0,1200,800)。 pDCFillRect(myrect1,amp。mybrush1)。 CBrush mybrush。 (RGB(0,0,0))。 CRect myrect(20,10,70,40)。 pDCFillRect(myrect,amp。mybrush)。 CRect myrect2(325,10,375,40)。 pDCFillRect(myrect2,amp。mybrush)。 CPen mypen。 CPen*myoldPen。 (PS_SOLID,2,RGB(255,255,255))。 myoldPen=pDCSelectObject(amp。mypen)。 pDCMoveTo(20,40)。 pDCLineTo(375,10)。 for(int i=0。im_RowCount。i++) for(int j=0。jm_ColCount。j++) { } pDCSelectObject(myoldPen)。 CPen mypen2。 CPen*myoldPen2。 (PS_SOLID,1,RGB(0,0,0))。 myoldPen2=pDCSelectObject(amp。mypen2)。 for(int ii=0。iim_RowCount。ii++) for(int jj=0。jjm_ColCount。jj++) { } pDCSelectObject(myoldPen2)。 CDC Dc。 if((pDC)==FALSE) AfxMessageBox(Can39。t create DC)。 (m_anniu[0])。 pDCBitBlt(180,10,160,160,amp。Dc,0,0,SRCCOPY)。 for(int a=0。am_RowCount。a++) for(int b=0。bm_ColCount。b++) { if(lei[a][b].weitu==1) { } if(lei[a][b].weitu==2) { } if(lei[a][b].we
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1