C++推箱子課程設計報告_第1頁
C++推箱子課程設計報告_第2頁
C++推箱子課程設計報告_第3頁
C++推箱子課程設計報告_第4頁
C++推箱子課程設計報告_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

.z.**理工大學華夏學院課程設計報告書課程名稱:軟件綜合題目:基于VC++6.0的“推箱子”游戲軟件的開發(fā)與測試系名:信息工程系專業(yè)班級:姓名:指導教師:2013年元月18日課程設計任務書學生:專業(yè)班級:軟件2101指導教師:工作單位:信息系計算機教研室設計題目:基于VC++6.0的“推箱子”游戲軟件的開發(fā)與測試初始條件:已完成c語言程序設計、軟件工程、數(shù)據(jù)庫概論或數(shù)據(jù)庫技術(shù)等課程的學習2.系統(tǒng)環(huán)境:Intel奔騰4以上處理器,1G以上存,40G以上硬盤,Windows編程環(huán)境,VisualC++6.0編程工具要求完成的主要任務:(在規(guī)定的時間完成下列任務)(包括課程設計工作量及其技術(shù)要求,以及說明書撰寫等具體要求)主要任務:系統(tǒng)完成用戶登錄及管理員增加、刪除、修改、查詢功能1.按系統(tǒng)功能進行游戲背景區(qū)域(移動區(qū)域、圍墻)的設計與繪制:2.根據(jù)系統(tǒng)實現(xiàn)的功能,繪出功能圖、系統(tǒng)流程圖3.模塊調(diào)試,運行結(jié)果正確,并經(jīng)教師檢查及答辯;設計報告撰寫格式要求:(課程設計報告按統(tǒng)一通用格式書寫)具體容如下:①設計任務與要求②總體方案與說明③程序主要模塊的流程圖④問題分析與解決方案的設計思想和改進設想⑤系統(tǒng)的調(diào)試記錄、調(diào)試報告(即在調(diào)試中遇到的主要問題、解決方法及改進設想)⑥小結(jié)與體會附錄:①使用說明=2\*GB3②參考資料時間安排:2012年12月29日第1天介紹本次課程設計的目的、要求,介紹MFCAppWizard應用程序框架的簡介第2天~第5天介紹MFC中的窗口消息的創(chuàng)建及用,完成游戲背景區(qū)域(移動區(qū)域、圍墻)的設計與繪制第6天~第9天完成目標區(qū)域、小人、箱子的繪制、繪制地圖、加載/更新地圖、關卡的設置及系統(tǒng)整合第10天系統(tǒng)運行與演示第11天~第14天系統(tǒng)測試與掌握調(diào)試的方法和技巧,撰寫設計報告第15天按項目組進行演示與答辯,形成課程設計報告文檔指導教師簽字:2012年12月28日系主任簽字:年月日目錄1引言12項目需求分析13系統(tǒng)概要設計13.1功能控制模塊13.2系統(tǒng)流程圖23.3推箱子游戲具有的功能3能夠顯示主菜單和界面3能夠?qū)崿F(xiàn)鍵盤操作功能3能夠把放置到位置的箱子進行變色顯示4游戲勝負判斷功能4支持關口選擇功能43.4推箱子功能框架43.5游戲界面設計5游戲主界面5游戲菜單與幫助結(jié)構(gòu)設計5游戲中關卡選擇對話框設計63.6游戲的界面實現(xiàn)63.7關卡選擇對話框的實現(xiàn)74詳細設計104.1地圖文件讀取模塊的設計與實現(xiàn)104.2地圖繪制模塊的設計與實現(xiàn)104.3鍵盤操作模塊的設計與實現(xiàn)124.4游戲規(guī)則模塊設計與實現(xiàn)125VC調(diào)試方法介紹145.1調(diào)試快捷鍵145.2跟蹤調(diào)試145.3異常調(diào)試156功能測試176.1主菜單和界面顯示功能測試176.2鍵盤操作功能測試176.3箱子放置到指定位置時變色顯示功能測試196.4支持地圖擴展功能的演示207特殊問題及解決方法218設計小結(jié)219參考文獻21-.z.引言最經(jīng)典的推箱子游戲,類似的游戲你一定早就玩過。要控制搬運工上下左右移動,來將箱子推到指定地點記得幾年前,《推箱子》在PC機上刮起了一股不小的益智類游戲的旋風,現(xiàn)在許多資深玩家也都對《推箱子》贊不絕口,可見有深度的益智類游戲是非常受大家歡迎的。推箱子游戲1981年由日本人今林宏行首創(chuàng),是在1982年12月由ThinkingRabbit公司首次發(fā)行,名“倉庫番”。箱子只可以推,不可以拉,而且一次只能推動一個,勝利條件就是把所有的箱子都推到目的地。推箱子游戲是一種老少皆宜的益智游戲,既可以開發(fā)青少年學生的智力,又可以防止老年癡呆癥,全家一起攻關還可以促進家庭和睦,何樂而不為?推箱子游戲是目前比較流行的游戲之一,很多操作系統(tǒng)或者流行軟件都會帶有這種游戲。它既能鍛煉思維的嚴密性,又有很多樂趣。我們團隊比較喜歡玩這個游戲,于是備采用c++編程語言進行實現(xiàn)。項目需求分析用戶可以進行開始游戲,退出游戲,選關,重新開始游戲等操作。有結(jié)束提示。作為一款極為經(jīng)典的游戲,推箱子吸引了一代代玩家樂此不疲,通過使用VisualC++6.0進行設計,將學習過的知識應用到實際程序中,以便于為以后的進一步學習奠定基礎。推箱子游戲的設計目標完成一個比較簡單的游戲,使之能夠?qū)崿F(xiàn)推箱子游戲的基本功能,成為一個比較完整的游戲框架。在一個狹小的倉庫中,要求把木箱放到指定的位置,稍不小心就會出現(xiàn)箱子無法移動或者通道被堵住的情況,所以需要巧妙的利用有限的空間和通道,合理安排移動的次序和位置,才能順利的完成任務。在游戲主界面中,會出現(xiàn)一個小人、若干個箱子和箱子放置點。玩家需要利用方向鍵控制小人上下左右移動,并推動界面中的箱子到達指定的箱子放置點。系統(tǒng)概要設計功能控制模塊系統(tǒng)功能如圖3-1所示。功能控制模塊功能控制模塊關卡重置功能指定位置狀態(tài)判斷功能屏幕輸出功能游戲通關時的通關提示時刻判斷游戲的小人物、箱子所能移動的方向位置和游戲能不能通關倒回本關的初始狀態(tài)和重新選擇關卡圖3-1功能模塊系統(tǒng)流程圖系統(tǒng)流程如圖3-2所示。初始化主界面初始化主界面開始退出選擇關卡初始化進入新游戲繼續(xù)關于推箱子游戲成功提示關閉游戲窗口游戲規(guī)則的說明進入下一關通關提示返回返回是否是最后一關成功進入上一次離開游戲的界面圖3-2系統(tǒng)流程圖推箱子游戲具有的功能能夠顯示主菜單和界面游戲需要一共主菜單讓玩家進行游戲設置,同時能夠把地圖文件中的信息轉(zhuǎn)換成為圖像顯示在游戲界面上。能夠?qū)崿F(xiàn)鍵盤操作功能能夠接受到鍵盤駛?cè)氲姆较蜴I信息,并根據(jù)不同的方向鍵把游戲人物移動到相應的位置。例如,當玩家單機方向鍵向上“上”時,如果向上的位置是可以移動的,則就當把游戲人物向上西東一個方格。能夠把放置到位置的箱子進行變色顯示當玩家把箱子推到指定位置的格子時,需要把這個箱子進行變色,這樣就能明確的現(xiàn)實出該箱子已經(jīng)放置到指定位置。游戲勝負判斷功能在游戲中,當玩家把所有的箱子都推到指定點時,玩家勝利通過當前游戲關口,進行下一關口的游戲。如果玩家無法將箱子全部推到指定位置時,玩家失敗,玩家可以選擇重新開始進行當前關口的游戲,還是退出游戲。支持關口選擇功能玩家在游戲中可以自行選擇需要挑戰(zhàn)的關口。當玩家點擊菜單中的“關卡選擇”,并在對話框中輸入所需要挑戰(zhàn)的關口,設置完畢后點擊開始即可打開所需關口。推箱子功能框架推箱子游戲推箱子游戲初始化模塊畫圖模塊移動箱子模塊移動小人模塊功能控制模塊圖3-3功能框架初始化模塊。該模塊包括屏幕初始化和游戲第一關到第最后一關的初始化。屏幕初始化用于輸出操作信息,游戲每一關的初始化時構(gòu)建每一關的關卡。畫圖模塊。該模塊最要是被其他模塊調(diào)用,用于畫墻、在空地畫箱子、畫小人、和畫目的地。移動箱子模塊。該模塊用于移動箱子,包括目的地之間、空地之間和目的地與空地之間箱子的移動移動小人模塊。該模塊用于移動人物,包括目的地之間、空地之間和目的地與空地之間人物的移動功能控制模塊。該模塊是幾個功能函數(shù)的集合,包括屏幕輸出功能、指定位置狀態(tài)功能和關卡重置功能。游戲界面設計游戲主界面推箱子游戲主界面設計如圖3-4所示圖3-4設計的游戲主界面游戲菜單與幫助結(jié)構(gòu)設計圖3-5游戲菜單結(jié)構(gòu)圖3-6幫助結(jié)構(gòu)設計游戲中關卡選擇對話框設計圖3-7關卡選擇對話框當玩家在對話框中輸入關口數(shù)字,并重新點擊開始游戲時,游戲會自動選擇對應關口的地圖級別開始新游戲。游戲的界面實現(xiàn)在推箱子游戲中,通過如下幾步即可實現(xiàn)游戲的菜單在推箱子游戲工程的資源中添加一個菜單資源,其屬性如表3-1所示:表3-1資源屬性ID類別說明IDR_MAINFRAME彈出菜單游戲的主菜單IDR_RESTART菜單欄重新開始IDR_SELECT菜單欄關卡選擇IDR_E*IT菜單欄游戲退出1給每個菜單欄添加相應函數(shù)到Cbo*ManDlg類中。2菜單響應函數(shù)的實現(xiàn),各類菜單調(diào)用響應,要運用到的代碼如下:voidCBo*ManDlg::OnE*it()//退出游戲響應{ inti=MessageBo*("退出游戲","提示",MB_OKCANCEL); switch(i) { case1: CDialog::OnCancel(); break; case2: break; }}voidCBo*ManDlg::OnSelect()//關卡選擇{ CSelectsel; sel.DoModal(); g_level=sel.m_level;; GameStart();}voidCBo*ManDlg::OnRestart()//重新開始{ GameStart();}關卡選擇對話框的實現(xiàn)推箱子游戲關口選擇對話框的實現(xiàn),分為如下幾步:創(chuàng)建一個對話框資源,并添加相應的控件,如圖:圖3-8關口選擇對話框資源在資源視窗中,Menu一項,雙擊IDR_MAINFRAME彈出菜單編輯框,添加一個“選關”選項,隨便修改一個ID“查看->建立類向?qū)А保–trl+W),第一個選項卡,找到“選關”選項的ID,選中MAND消息,點右邊按鈕添加函數(shù)。圖3-9添加函數(shù)圖1接下來資源視窗,Bitmap下插入Dialog對話框并編輯,添加一個編輯框,修改編輯框ID“查看->建立類向?qū)А?,添加新類,填好類名就會自動生?cpp文件和.h文件?;愡xCDialog,對話框ID選上面建好的對話框。OK圖3-10添加函數(shù)圖2為編輯框添加一個變量,用來存儲編輯框獲得的數(shù)據(jù)。選項卡MemberVariables,類名選上面那個對話框的類名,選中編輯框的ID,增加變量圖3-11變量設置(6)要想在CBo*ManDlg類中使用這個對話框類,必須包含頭文件:*include"MapSelect.h"最后,選項卡關聯(lián)函數(shù)中調(diào)用這個對話框類:voidCBo*ManDlg::OnSelect()//關卡選擇{ //TODO:Addyourmandhandlercodehere CSelectsel; sel.DoModal(); g_level=sel.m_level;// CStringstr;// str.Format("%d",g_level);// MessageBo*(str); GameStart();}選關功能完成詳細設計地圖文件讀取模塊的設計與實現(xiàn)地圖文件讀取模塊,主要負責將對地圖文件讀取,并把相應的文件數(shù)據(jù)轉(zhuǎn)換成地圖顯示出來。其設計步驟如下:(1)讀取當前文件夾中的地圖文件。(2)判斷當前選擇關口是否在文件夾中存在。(3)如果存在則把當前關口的地圖信息放置到地圖數(shù)組中。其實現(xiàn)代碼如下所示:voidCBo*ManDlg::loadMap(intnum){ CStringstr; str.Format("[%d]",num);//格式化字符串,即將關卡編號變成[*] FILE*pFile=fopen("./Debug/map.t*t","rb"); //打開地圖文件 if(pFile==NULL)return; //判斷打開是否失敗 charcTmp[20]; //創(chuàng)建臨時字符數(shù)組 fgets(cTmp,20,pFile); //讀取一行到數(shù)組中 while(strncmp(cTmp,str,3)!=0) //讀取與當前關口編號相同的地圖 { fgets(cTmp,20,pFile); } for(inti=0;i<14;i++) //讀取地圖數(shù)據(jù)到地圖數(shù)組 { fgets(m_cMap[i],20,pFile); } fclose(pFile);}地圖繪制模塊的設計與實現(xiàn)地圖繪制模塊主要將地圖數(shù)組中的數(shù)據(jù)繪制成地圖圖像。其設計分為如下幾步。格局要求,實現(xiàn)不同類型格子的繪制函數(shù)。地圖數(shù)組及地圖文件中各字符代表的意思如表4-1所示:表4-1地圖數(shù)組及地圖字符代表的意思數(shù)據(jù)圖像宏說明0背景MAP_BACK填充背景1墻MAP_WHITEWALL地圖邊框2地板MAP_BLUEWALL可移動的空間3目標MAP_BALL放箱子的位置4箱子MAP_BO*初始箱子的位置5目標與箱子重合MAP_REDBO*箱子到達目標位置6人MAP_MAN人的位置7人和目標重合MAP_MANBALL人站在目標上(2)讀取地圖數(shù)據(jù),根據(jù)不同的數(shù)據(jù)調(diào)用不同的繪圖函數(shù)。地圖繪制,模塊的實現(xiàn)代碼如下:voidCBo*ManDlg::drawMap(CDC*pDC)//繪地圖接口函數(shù){ inti,j,*,y; for(i=0;i<14;i++)//遍歷行 { for(j=0;j<16;j++)//遍歷列 { *=j*29; y=i*29; switch(m_cMap[i][j])//根據(jù)數(shù)組中的數(shù)據(jù)進行繪圖 { caseMAP_BACK://0繪制背景 drawBack(*,y,pDC); break; caseMAP_WHITEWALL://1繪制地圖邊框 drawWhiteWall(*,y,pDC); break; caseMAP_BLUEWALL://2繪制地板 drawBlueWall(*,y,pDC); break; caseMAP_BALL://3繪制目標 drawBall(*,y,pDC); break; caseMAP_BO*: //4繪制箱子 drawBo*(*,y,pDC); break; caseMAP_REDBO*://5繪制箱子與目標重合 drawRedBo*(*,y,pDC); break; caseMAP_MAN: //6繪制人 drawMan(*,y,pDC); break; caseMAP_MANBALL://繪制人和目標重合 drawManBall(*,y,pDC); break; } } }}鍵盤操作模塊的設計與實現(xiàn)鍵盤操作模塊主要負責接收玩家鍵盤輸入并進行箱子移動等處理,其設計比較簡單,只需要通過如下幾步即可實現(xiàn)。通過截獲當前窗口中鍵盤按下消息來判斷玩家按下的按鍵。根據(jù)玩家按下的按鍵把人的相關坐標進行加減。例如:當玩家按下方向鍵“右”時,把人的*坐標增加,反之,把人的*坐標減少。把增加后的數(shù)據(jù)與地圖數(shù)組中的數(shù)據(jù)進行比較,只要不是地圖邊框就可以移動,如果是箱子就還需要將箱子的坐標進行移動。但是要注意,要判斷箱子移動后的坐標是否可以移動。鍵盤操作模塊的實現(xiàn),主要代碼如下:BOOLCBo*ManDlg::PreTranslateMessage(MSG*pMsg){ if(pMsg->message==WM_KEYDOWN) { updateMap(pMsg->wParam);//根據(jù)按下的按鍵進行判斷 Invalidate(FALSE); if(isFinish())//調(diào)用規(guī)則模塊函數(shù),判斷是否勝利 { Af*MessageBo*("恭喜你!過關?。。?); g_level=g_level+1;//勝利后將當前關口加1 if(g_level>g_ma*level) { g_level=1;//如果大于最大關口編號,重新開始 } GameStart(); } } returnCDialog::PreTranslateMessage(pMsg);}游戲規(guī)則模塊設計與實現(xiàn) 游戲規(guī)則模塊,主要負責游戲規(guī)則的判斷。其設計方法需要在每次玩家移動人物后,對當前地圖數(shù)組進行判斷。如果當前地圖中存在單獨的“目標區(qū)域”或者“人物站在目標上”兩種情況,就說明玩家未過關,放置就死過關。 游戲規(guī)則模塊的實現(xiàn),代碼如下:BOOLCBo*ManDlg::isFinish()//判斷是否過關{ for(inti=0;i<14;i++) //遍歷所有列 { for(intj=0;j<16;j++) //遍歷所有行 { if(m_cMap[i][j]==MAP_BALL||m_cMap[i][j]==MAP_MANBALL) { returnFALSE; //有目標區(qū)域或人物站在目標區(qū)域上 } } } returnTRUE; //游戲結(jié)束}VC調(diào)試方法介紹VisualC/C++是眾多C/C++編譯器中,調(diào)試功能較為強大的編譯器之一。調(diào)試程序是每個初學者必須經(jīng)歷的過程,只有不斷發(fā)現(xiàn)自己的錯誤,才能減少編程錯誤,提高編程能力。當然我們不建議一遇到錯誤就調(diào)試,我希望大家先用眼睛看,把常見的錯誤都改正后,最后不行再調(diào)試,這樣編程能力才會進步。要做到十分鐘上百行無錯代碼的能力,不下苦功是練不成的。常用的調(diào)試快捷鍵有:F10單步運行,不進入函數(shù)。F11單步運行,進入函數(shù)。如果是自定義函數(shù),則進入自定義函數(shù)。如果是系統(tǒng)函數(shù),如scanf,printf,return等等,則進入?yún)R編,當然這不是我們期望的。單步運行的同時,左下方會自動顯示當前被改變值的變量,右下方則可以輸入自定義變量。一般F10,F11結(jié)合使用。F9設置斷點。光標所在行設置斷點。F5運行到斷點處暫停。為了更快運行到我們關心的地方,避免F10一步一步的運行浪費時間。F9,F5一般結(jié)合使用,到我們關注的地方后,我們可以繼續(xù)F10。設斷點的另外一大好處,是在遞歸程序中設置斷點,可以很快運行到下一層中。寫程序要養(yǎng)成良好代碼風格,沒有人會喜歡看別人錯誤的代碼,尤其是那些沒有分行縮進,一律左對齊的代碼。養(yǎng)成分行縮進的風格在檢查括號匹配的時候,也非常方便。運行時錯誤:一運行就彈出窗口,或在*些輸入數(shù)據(jù)的情況下,彈出“存出錯警告”的窗口。多數(shù)是由于指針訪問非法空間造成的,比如未動態(tài)開辟就訪問,釋放后再次訪問或釋放等等。數(shù)組下標越界,開辟極大空間等也有可能導致此類錯誤。解決方法,可以通過單步運行F10或運行到斷點處F5,確定出錯行,然后仔細檢查代碼,加以修正調(diào)試快捷鍵F5:

開始調(diào)試Shift+F5:停止調(diào)試F10:

調(diào)試到下一句,這里是單步跟蹤

F11:

調(diào)試到下一句,跟進函數(shù)部Shift+F11:

從當前函數(shù)中跳出Ctrl+F10:

調(diào)試到光標所在位置F9:

設置(取消)斷點Alt+F9:

高級斷點設置跟蹤調(diào)試1、

盡量使用快捷鍵時行調(diào)試2、

觀察調(diào)試信息3、

高級中斷設置異常調(diào)試重試->取消->調(diào)試函數(shù)堆棧,用variables或者callstack窗口VC6.0Debug調(diào)試總結(jié)

1.如何顯示Debug工具欄窗口

①:在任意工具欄的位置,單擊鼠標右鍵,勾選Debug項

②:Tools>Customize--àToolbars--àDebug--àclose

引申:工具欄和工具條的區(qū)別?

一個工具欄可以放置多個工具條。

2.斷點調(diào)試

F9:設置或去除斷點。如果當前行未設置斷點,按F9可在當前行設置斷點,如果當前行已設置斷點,按F9則為去除斷點設置。

Alt+F9:調(diào)出斷點設置窗口

在這個窗口里可以設置斷點,去除所有已經(jīng)設置的斷點或者單個斷點,也可以轉(zhuǎn)到已設置的斷點處,通過按鈕EditCode,可以設置需要被計算的表達式,可以設置,監(jiān)視(Watch)數(shù)組或結(jié)構(gòu)體元素的個數(shù),可以在窗口過程函數(shù)中設置斷點,可以為任何一個想要監(jiān)視(Watch)的消息(Message)設置一個斷點。

3.開始調(diào)試

①:Build--StartDebug--Go

②:F5

注:F5有兩層含義。對于非調(diào)試階段,按F5用于開始調(diào)試。對于調(diào)試階段(已經(jīng)進入調(diào)試階段),按F5用于運行程序到下一個斷點處

4.停止調(diào)試

一旦按F5之后進入調(diào)試階段,IDE編輯器上就會增加一個Debug菜單選項(里面包含一些常用調(diào)試手段)

這里列出不常見的兩個,有E*ceptions,Threads,Modules,可以通過點擊Modules進入ModuleList對話框,在這里可以看到一些模塊(Module),如kernel32.dll,可以Googlekernel32.dll的一些信息。。。這里略過,我也不是很熟悉。。。--b,歡迎大牛補充。。。都說說是怎么用的。

①:Debug--àStopDebugging

②:Shift+F5

5.重新開始調(diào)試(或者說重頭開始調(diào)試)

這個功能既可以在調(diào)試階段使用,也可以在非調(diào)試階段使用,用于進入調(diào)試階段。

在調(diào)試階段,它的功能如下:(即不停止調(diào)試的情況下)

如果在一個程序里有多個斷點,比如斷點1、斷點2、。。。斷點5.首先,按F5調(diào)試,進

入調(diào)試階段,程序首先執(zhí)行到斷點1處,如果再按F5就會執(zhí)行到斷點2處,依次類推,直到斷點5處,如果當程序執(zhí)行到斷點5處,再按F5,則程序不會再中斷,程序完全運行起來。

可是,在調(diào)試階段,如何從斷點2~斷點5處之間的任意一個斷點跳到斷點1處去重新執(zhí)行呢?比如,程序已經(jīng)執(zhí)行到斷點4處,現(xiàn)在程序員想回到斷點1處,重新再查看(監(jiān)視)每個斷點處的情形(也許是他記性不好,也許是他眼花了,也許是他操作太快,比如多按了幾下F5鍵(*^__^*)……,這種情況大家也碰到過吧,往往很多人選擇了,停止調(diào)試,再重新開始進入調(diào)試,再重新來一遍,當然,這樣可以,只是有點麻煩。。。)

現(xiàn)在,其實還有一種方法。。。我之前也沒發(fā)現(xiàn)。。。--b。在這種情況下,就可以用重新開始調(diào)試了(注意,這個重新開始調(diào)試是指再不停止調(diào)試的情況下,重新開始調(diào)試),比如,現(xiàn)在在斷點4處,想回到斷點1處,就可以按Ctrl+Shift+F5(重新開始調(diào)試的快捷鍵)

①:Debug--àRestart

②:Ctrl+Shift+F5

6.單步調(diào)試

前提條件調(diào)試階段

①:Debug--StepInto(F11)

逐語句。(例如,遇到函數(shù)調(diào)用時會進入被調(diào)函數(shù))

②:Debug--StepOver(F10)

逐過程(例如,遇到函數(shù)調(diào)用語句時,不會進入被調(diào)函數(shù))

③:Debug--StepOut(Shift+F11)

跳出過程調(diào)用(例如,當F11逐語句進入被調(diào)函數(shù)后,按Shift+F11會跳出被調(diào)函數(shù))

④:Debug--àRuntoCursor(Ctrl+F10)

運行到光標所在位置。(注:貌似執(zhí)行只能向前不能向后,即光標定位不能在已經(jīng)執(zhí)行過的代碼里),經(jīng)測試,如果光標在已執(zhí)行的代碼里,按Ctrl+F10則程序會完全執(zhí)行起來,猜測。。。是不是執(zhí)行完程序,再重新,從頭開始執(zhí)行到光標處,貌似顯示的是沒執(zhí)行到光標處。。。--b歡迎批評補充。

7.變量監(jiān)視

①:Debug--àQuickWatch(Shift+F9)

調(diào)出QuickWatch對話框,添加要監(jiān)視查看(watch)的表達式(e*pression),然后

AddWatch,程序之后就會監(jiān)視該表達式

②:View--DebugWindowsWatch(Alt+3)

監(jiān)視你設置的需要被監(jiān)視的變量。

③:View--àDebugWindowsàVariables(Alt+4)

監(jiān)視所有變量。

注:View下的DebugWindows下的所有項均在Debug工具條中有。

注:在Debug下,可以將變量選中,直接拖到Variables的窗口中監(jiān)視。。。,是不是很方便很HIGH功能測試主菜單和界面顯示功能測試 這個演示主要是測試游戲的菜單和界面顯示是否成功,其步驟如下。運行推箱子程序.e*e文件,如圖6-1所示圖6-1運行文件程序啟動后,其菜單及界面如圖6-2所示 圖6-2界面效果鍵盤操作功能測試 鍵盤操作功能的演示,演示步驟如下:游戲開始后人物的位置,如圖6-3所示 圖6-3按下鍵盤上的“下”方向按鍵。查看任務是否向下移動,如圖5-4: 圖6-4箱子放置到指定位置時變色顯示功能測試 將箱子放置到指定位置時,箱子會變色的功能,具體步驟如下推箱子游戲已經(jīng)開始,如圖6-5所示 圖6-5推動箱子到指定位置后,顯示如圖5-6所示 圖6-6支持地圖擴展功能的演示推箱子游戲是否支持地圖擴展功能,步驟如下:查看第一關地圖文件,其容如下:與游戲顯示的地圖對照 圖6-7第一關地圖文件 圖6-8修改后的地

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論