版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目:貪吃蛇游戲設(shè)計(jì)
工作任務(wù)八:主界面(Start)類工作任務(wù)八:主界面(Start)類一、主界面(Start類)分析此類繼承自系統(tǒng)類,是本程序的主窗體。Start類主要用了繼承來的字段、屬性、方法和事件,我們只是在Start類中通過添加控件及設(shè)置控件的屬性添加了對(duì)象字段和對(duì)象屬性字段。
說明:通過向窗體上添加控件,系統(tǒng)會(huì)自動(dòng)向窗體類中添加相應(yīng)的對(duì)象字段,如本程序的mainMenu1、timer1、label1等,在類中對(duì)應(yīng)的字段如下:privatemainMenu1;publicSystem.Windows.Forms.Timertimer1;privateSystem.Windows.Forms.Labellabel1;二、主界面(Start)類實(shí)現(xiàn)timer控件實(shí)現(xiàn)在用戶定義的時(shí)間間隔引發(fā)事件的計(jì)時(shí)器此計(jì)時(shí)器最宜用于Windows窗體應(yīng)用程序中,并且必須在窗口中使用。1)控件的屬性⑴Enabled屬性獲取或設(shè)置計(jì)時(shí)器是否正在運(yùn)行。如果計(jì)時(shí)器當(dāng)前處于啟用狀態(tài),則為true;否則為false。默認(rèn)為false。⑵Interval屬性獲取或設(shè)置計(jì)時(shí)器開始計(jì)時(shí)之間的時(shí)間(以毫秒為單位)。計(jì)時(shí)器每次開始計(jì)時(shí)之間的毫秒數(shù)。該值不小于1。備注:若要獲取該時(shí)間間隔的秒數(shù),將此數(shù)字除以1,000。2)Tick事件當(dāng)指定的計(jì)時(shí)器間隔已過去而且計(jì)時(shí)器處于啟用狀態(tài)時(shí)發(fā)生。如果需要自動(dòng)運(yùn)行,常用此控件。mainMenu控件MainMenu控件表示窗體菜單結(jié)構(gòu)的容器。菜單由表示菜單結(jié)構(gòu)中單個(gè)菜單命令的MenuItem對(duì)象組成。每個(gè)MenuItem可以成為應(yīng)用程序的命令或其他子菜單項(xiàng)的父菜單。若要將MainMenu綁定到將顯示它的Form,請(qǐng)將MainMenu分配給Form的Menu屬性。進(jìn)入每個(gè)MenuItem命令的單擊事件方法與其他控件相同,通過雙擊此菜單項(xiàng)。窗體的KeyDown事件方法鍵被按下時(shí)發(fā)生。事件處理程序接收一個(gè)KeyEventArgs類型的參數(shù),它包含與此事件相關(guān)的數(shù)據(jù)。其中KeyValues獲取按鍵的鍵值。1)窗體的KeyDown事件方法⑴功能:根據(jù)按鍵情況,調(diào)用蛇的TurnDirection方法,改變蛇的運(yùn)行方向。時(shí)間(timer1)控件的Tick事件⑴功能:顯示場(chǎng)地Floor對(duì)象(使蛇運(yùn)動(dòng));顯示游戲等級(jí)和分?jǐn)?shù);判斷是否玩到了通關(guān)和蛇是否死亡。⑵設(shè)計(jì)思路自選級(jí)別沒有等級(jí),其他級(jí)別根據(jù)分?jǐn)?shù)是50的多少倍,計(jì)算級(jí)別,如果不是現(xiàn)在等級(jí),保存各修改等級(jí)。若分?jǐn)?shù)大于等于550,說明玩到了通關(guān),停止游戲,顯示恭喜消息框。調(diào)用CheckSnake方法判斷蛇是否死亡,如果死亡,停止游戲。蛇的自動(dòng)運(yùn)行是由系統(tǒng)每隔一定時(shí)間自動(dòng)調(diào)用此方法,當(dāng)時(shí)間控件(timer)的Enable屬性設(shè)置為true時(shí),時(shí)間控件可用,設(shè)置為false時(shí),時(shí)間控件不可用。通過下面語(yǔ)句啟動(dòng)游戲和停止游戲。timer1.Enable=true;//啟動(dòng)游戲timer1.Enable=false;//停止游戲3.各菜單事件方法1)“開始/重新開始”菜單⑴功能:游戲開始或重新開始游戲;若本菜單項(xiàng)為“開始”,改為“重新開始”;并且“暫?!辈藛雾?xiàng)可用。⑵設(shè)計(jì)思路及步驟:設(shè)置時(shí)間控件(timer1)的Enable屬性為true。判斷菜單文字是否為“開始”用語(yǔ)句:menuItem2.Text=“開始”;設(shè)置“暫停”菜單項(xiàng)的Enabled屬性為true,使菜單項(xiàng)可用。當(dāng)菜單項(xiàng)文字為“重新開始”時(shí),調(diào)用floor對(duì)象的ReSet方法重新開始游戲。
2)“暫停/繼續(xù)”菜單⑴功能:設(shè)置程序暫停運(yùn)行或繼續(xù)運(yùn)行。
3)“退出”菜單功能:退出程序,用窗體的Close方法。4)“級(jí)別”菜單項(xiàng)的“第N級(jí)”子菜單⑴功能:此菜單項(xiàng)的第一級(jí)到第五級(jí)全是設(shè)置游戲級(jí)別。⑵設(shè)計(jì)思路設(shè)置時(shí)間控件的Interval屬性為一定的值,游戲級(jí)別和分?jǐn)?shù),然后顯示出來。5)“自定義速度”子菜單⑴功能:通過顯示自定義速度(Speed)窗體,設(shè)置游戲的速度。⑵設(shè)計(jì)思路設(shè)置游戲速度時(shí),游戲要停下來,設(shè)置好后繼續(xù);創(chuàng)建Speed實(shí)例,模式顯示它;設(shè)置好速度值后把速度賦給PubClass類的kk靜態(tài)屬性保存,并設(shè)置時(shí)間控件(timer)的Interval屬性。非模式窗體和模式窗體的區(qū)別創(chuàng)建新非模式窗體后,立即返回,且沒有在當(dāng)前活動(dòng)窗體和新窗體間建立任何關(guān)系,即在保持新窗口的情況下關(guān)閉(或最小化)現(xiàn)有窗體或在保留現(xiàn)有窗體情況下關(guān)閉(或最小化)新窗口,都是可以的。創(chuàng)建模式窗體后,只有當(dāng)建立的新窗口關(guān)閉之后,原有窗體才能重新獲得控制權(quán)。即如果不關(guān)閉新窗口,將無法對(duì)原活動(dòng)窗口進(jìn)行任何操作。對(duì)新窗口進(jìn)行的最小化、還原將會(huì)和原窗口一起進(jìn)行,但是新窗口的關(guān)閉對(duì)原窗口沒有影響。需要注意的是,不管是何種情況,只要主窗體被關(guān)閉了,或主程序結(jié)束了,那么將會(huì)關(guān)閉所有窗體,不管它是模式還是非模式。窗體調(diào)用任何窗體(派生于基類Form的類),都可以以兩種方式進(jìn)行顯示。//非模式窗體
Fromqform=newForm();
();//模式窗體
Formqform=newForm();
();6)“幫助”子菜單功能:在一個(gè)消息框中顯示幫助信息。問題探究本章學(xué)習(xí)了使用類和對(duì)象、GDI+繪圖來創(chuàng)建項(xiàng)目。類是面向?qū)ο蟪绦蛟O(shè)計(jì)的一個(gè)基本概念,是對(duì)一組類似的對(duì)象的一般化描述,它包括:字段、屬性、方法和事件幾類成員。類是創(chuàng)建對(duì)象的模板,由類創(chuàng)建對(duì)象,可由下式表示它們的關(guān)系。
具體化(創(chuàng)建)類
對(duì)象
抽象字段是描述類特征的成員,如果需要描述類的哪方面的特征,就要設(shè)置一個(gè)相應(yīng)的字段;屬性是為了訪問隱藏?cái)?shù)據(jù)(字段)的,如果字段的數(shù)據(jù)需要在類外訪問,就要定義相應(yīng)的屬性;方法是類能做的事情;事件是對(duì)象接受外部操作而發(fā)生的動(dòng)作。類成員有非靜態(tài)和靜態(tài)之分非靜態(tài)成員屬于對(duì)象對(duì)象名.成員名靜態(tài)成員屬于類成員類名.成員名。構(gòu)造函數(shù)構(gòu)造函數(shù)的重載如果聲明類時(shí)不包含任何構(gòu)造函數(shù),系統(tǒng)會(huì)給它創(chuàng)建一個(gè)默認(rèn)的空構(gòu)造函數(shù),如果聲明類時(shí)創(chuàng)建了一個(gè)構(gòu)造函數(shù),默認(rèn)的空構(gòu)造函數(shù)就沒有了,需要的話就要聲明一個(gè)。GDI+為Windows應(yīng)用程序開發(fā)提供了一組用于圖形圖像編程的類、結(jié)構(gòu)和枚舉。用GDI+繪圖的基本步驟是:①創(chuàng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 商業(yè)綜合體2025年度改造裝修協(xié)議2篇
- 2025年度貨運(yùn)司機(jī)勞動(dòng)合同模板(含績(jī)效考核)
- 二零二五年度學(xué)校教師學(xué)生國(guó)際交流與合作聘用合同3篇
- 二零二五年度信息技術(shù)產(chǎn)品軟件售后服務(wù)合同書模板2篇
- 2025年度個(gè)人法律咨詢委托書范本4篇
- 二零二五年度廚房電氣設(shè)備安裝與維護(hù)承包協(xié)議4篇
- 2025版實(shí)習(xí)合同模板:實(shí)習(xí)期間解約與補(bǔ)償3篇
- 二零二五版舊機(jī)動(dòng)車交易車輛售后配件供應(yīng)合同3篇
- 2025版實(shí)習(xí)期員工勞動(dòng)合同-實(shí)習(xí)期間合同解除與續(xù)簽3篇
- 珠海科技學(xué)院《賈平凹文學(xué)創(chuàng)作研究》2023-2024學(xué)年第一學(xué)期期末試卷
- 運(yùn)動(dòng)技能學(xué)習(xí)與控制課件第十一章運(yùn)動(dòng)技能的練習(xí)
- 蟲洞書簡(jiǎn)全套8本
- 射頻在疼痛治療中的應(yīng)用
- 四年級(jí)數(shù)學(xué)豎式計(jì)算100道文檔
- “新零售”模式下生鮮電商的營(yíng)銷策略研究-以盒馬鮮生為例
- 項(xiàng)痹病辨證施護(hù)
- 職業(yè)安全健康工作總結(jié)(2篇)
- 懷化市數(shù)字經(jīng)濟(jì)產(chǎn)業(yè)發(fā)展概況及未來投資可行性研究報(bào)告
- 07FD02 防空地下室電氣設(shè)備安裝
- 教師高中化學(xué)大單元教學(xué)培訓(xùn)心得體會(huì)
- 彈簧分離問題經(jīng)典題目
評(píng)論
0/150
提交評(píng)論