![程序設計文檔_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/13/afb49dd8-966f-429d-94bb-3ace6aaa7faa/afb49dd8-966f-429d-94bb-3ace6aaa7faa1.gif)
![程序設計文檔_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/13/afb49dd8-966f-429d-94bb-3ace6aaa7faa/afb49dd8-966f-429d-94bb-3ace6aaa7faa2.gif)
![程序設計文檔_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/13/afb49dd8-966f-429d-94bb-3ace6aaa7faa/afb49dd8-966f-429d-94bb-3ace6aaa7faa3.gif)
![程序設計文檔_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/13/afb49dd8-966f-429d-94bb-3ace6aaa7faa/afb49dd8-966f-429d-94bb-3ace6aaa7faa4.gif)
![程序設計文檔_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/13/afb49dd8-966f-429d-94bb-3ace6aaa7faa/afb49dd8-966f-429d-94bb-3ace6aaa7faa5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優(yōu)質文檔-傾情為你奉上蛇吞食程序設計【摘要】本游戲設計采用MFC編程,對鍵盤消息、定時器消息、圖形界面等三個主要模塊進行設計,可視化強。本游戲初始編寫比較基礎,程序代碼相對簡單。此游戲具有可靠性,安全性以及低成本等特點。【關鍵詞】鍵盤消息 定時器消息 圖形界面一功能模塊的劃分整個界面由一個長寬為540*540的矩形框(此為蛇的活動范圍和食物出現(xiàn)的范圍)、分數(shù)欄等構成。鍵盤消息:按動鍵盤、使蛇的方向進行改變。定時器消息:整個程序只用到一個定時器,在OnStart()里對定時器進行設定SetTimer(1,100,NULL),在OnTimer()中對蛇和食物進行處理:第一關:將block設置為
2、1,當分數(shù)超過10分蛇不能通過墻壁;第二關:將block設置為2,設置障礙物并且蛇不能碰到墻壁,但有最低分數(shù)為20分。圖形界面:位圖處理:在OnDraw()里面畫出蛇和食物的圖片。一張蛇圖有四個方向的四條蛇,改變x_org(橫坐標)、y_org(縱坐標)、t_org(寬度)、b_org(長度)、t_org1(蛇圖顯示區(qū)域的橫坐標)的值來控制蛇不同方向的運動,用rand()來隨機產生食物的圖片。在執(zhí)行Invalidate()時自動顯示位圖的不同狀態(tài)。菜單功能模塊:Set包含Start、Gameover、First、Second。Start啟動定時器、Gameover關掉定時器并且退出游戲界面。F
3、irst和Second分別選擇游戲級別。Help是游戲的說明。二程序流程程序流程:1. 程序執(zhí)行Ondraw()函數(shù)部分,顯示出蛇朝右的圖片和食物圖片。2. 選擇級別First或者Second,此時程序會調用OnFirst()或OnSecond()改變block的值。若選擇的First,block將賦值為1,然后選擇Start程序調用OnStart()函數(shù),將m_nStart賦值為1,程序將執(zhí)行第一關的代碼,蛇能夠穿墻而過。如果分數(shù)超過10分(即score>10),游戲將自動升級,蛇不能穿墻而過,碰到墻壁蛇將死亡;若選擇的Second,block將賦值為2,然后選擇Start程序調用On
4、Start()函數(shù),將m_nStart賦值為1,程序將執(zhí)行第二關的代碼,蛇不能夠穿墻而過,而且在活動范圍內有障礙物,但有最低分20分,若碰到墻壁或障礙物蛇將死亡。3. 在選擇Start后,程序自動啟動定時器,執(zhí)行OnTimer()部分的代碼,若block=1,執(zhí)行第一關的代碼,蛇可以分別在四個方向上運動,score自動加分直到超過10,則改變代碼蛇不能撞墻。若撞墻則KillTimer()并將score置為0;4. 在執(zhí)行OnTimer()部分的代碼時,要不斷執(zhí)行Invalidate()進行刷新,然后調用Ondraw(),畫出不同狀態(tài)下的圖形。5. 選擇GameOver選項,調用OnEnd()函
5、數(shù),使m_nstart=0, KillTimer()并且退出游戲。程序流程圖:三 概要設計1.編寫目的概要設計為“蛇吞食”客戶端的開發(fā)提供基本的設計基礎。背景:蛇吞食是源于貪吃蛇開發(fā)的一種變種的基礎游戲,主要針對手機小游戲進行開發(fā)?!吧咄淌场敝饕康脑谟诠┤藠蕵泛拖玻擞螒蜷_發(fā)代碼簡單。2.參考資料:Visual c+與面向對象程序設計教程MFC程序開發(fā)大全游戲編程精粹63.基本設計概念和處理流程本游戲主要由鍵盤消息、定時器消息和圖形界面三部分功能模塊構成。定時器又分為第一關模塊和第二關模塊;圖形界面又分為位圖處理模塊和菜單功能模塊。下圖為各功能模塊的關系圖:4.結構功能模塊子功能模塊標識符
6、功能描述與其它各模塊的關系鍵盤消息無OnKeyDown改變蛇圖的方向在圖形界面的Ondraw函數(shù)中在一張位圖中截取不同方向的蛇圖定時器消息第一關模塊OnTimer蛇可以分別在四個方向上運動,score自動加分直到超過10,則改變代碼蛇不能撞墻。若撞墻則KillTimer()并將score置為0不斷對圖像進行刷新然后蛇自由的在活動范圍內移動,在此會涉及到鍵盤消息改變蛇移動的方向,也會調用Ondraw()進行圖像的處理第二關模塊OnTimer蛇可以分別在四個方向上運動,限制蛇的活動范圍不斷對圖像進行刷新然后蛇自由的在活動范圍內移動,在此會涉及到鍵盤消息改變蛇移動的方向,也會調用Ondraw()進行
7、圖像的處理圖形界面位圖處理模塊Ondraw畫出可視化界面,矩形框、蛇圖、食物圖片、顯示分數(shù)等在OnTimer里面進行刷新時自動調用Ondraw()達到顯示不同位置和方向的蛇圖、不同位置的食物圖、在玩游戲過程中的分數(shù)和最后的總分數(shù)。菜單功能模塊Set、HelpSet里面選擇級別和開始;Help選擇Introduce查看游戲的操作說明5.功能需求與程序的關系各項功能需求的實現(xiàn)同各塊程序的分配關系:OnDrawOnInvalidateOnIntroduceOnFirstOnSecondOnStartOnEndOnKeydownOnTimer鍵盤消息定時器消息位圖處理模塊菜單功能模塊6.人工處理本游戲
8、只由用戶按動控制蛇運動方向,防止碰到墻或障礙物即可。尚未解決的問題7.用戶接口用戶接口的設計按照友好性,更多的采用圖形界面。規(guī)范操作命令和方法、用戶界面、菜單結構、移動提示、彈出彈入圖符、警告提示的信息、幫助的提示。鍵盤消息:用戶只需要按動上下左右鍵控制蛇方向即可。定時器消息:用戶只需在菜單中選擇需要的關卡,就可啟動后臺程序。并通過觀察蛇的運動速度便可掌握蛇自由移動的大致時間。圖形界面:用戶通過菜單選擇啟動后臺程序,蛇碰到墻壁或障礙物,則會出現(xiàn)信息提示;通過視圖玩游戲,界面簡單,從而操作也簡單。在玩游戲的過程中可以看到自己當前的分數(shù),游戲結束時可以看到總分。8.出錯信息 用戶在玩游戲過程中按到
9、錯誤的鍵盤會顯示信息提示“對不起,按鍵錯誤,請重新選擇!”;蛇撞墻或障礙物,會提示“笨蛋,蛇撞墻了!”總結在此次課程設計中,編寫程序遇到了不少麻煩,比如怎樣使蛇自由的活動起來、怎樣使用定時器等。幸虧有老師和同學的幫助,才能將這些問題一一的解決。我感覺在編寫程序的時候要先規(guī)劃好先做哪一步,再做哪一步,在每編寫好一個模塊后要及時的進行調試,以保證程序在整個過程中的正確性。在做此次課程設計之前就先定好了題材,做出粗略的規(guī)劃:第一步:建立好工程,處理位圖;第二步:編寫鍵盤消息的程序,與此同時配合位圖進行處理;第三步:處理定時器的消息并且能使位圖活動起來;第四步:處理圖形界面的菜單選項。編寫游戲時要有絕對好的耐心,在此期間會出現(xiàn)各種各樣意想不到的困難,此時絕對不能被困難打到,要仔細分析虛心向老師
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇教版三年級上冊數(shù)學口算練習題
- 中華書局版歷史九年級上冊第3課《古代希臘》聽課評課記錄
- 出租居間合同范本
- 企業(yè)入駐協(xié)議書范本
- 湘教版數(shù)學七年級上冊3.4《一元一次方程模型的應用》聽評課記錄1
- 學區(qū)房租賃協(xié)議書范本
- 二零二五年度肉類產品電商平臺支付通道合作合同協(xié)議
- 2025年度家居用品經銷商返點及銷售渠道協(xié)議
- 2025年度足浴店員工福利保障與薪酬體系合同范本
- 2025年度合伙投資皮膚科醫(yī)院建設合同
- 耶魯綜合抽動嚴重程度量表正式版
- 水利水電工程建設常見事故類型及典型事故分析(標準版)
- 政府采購項目采購需求調查指引文本
- 2024建筑用輻射致冷涂料
- 2024年浙江省公務員錄用考試《行測》題(A類)
- 2024版《安全生產法》考試題庫附答案(共90題)
- 《化工設備機械基礎(第8版)》完整全套教學課件
- 疥瘡病人的護理
- 2024年江西省中考英語試題含解析
- 公務員2012年國考《申論》真題卷及答案(地市級)
- 跨學科實踐活動2 制作模型并展示科學家探索物質組成與結構的歷程(分層作業(yè))-九年級化學上冊同步高效課堂(人教版2024)(解析版)
評論
0/150
提交評論