貪吃蛇游戲-設(shè)計(jì)-流程課件_第1頁(yè)
貪吃蛇游戲-設(shè)計(jì)-流程課件_第2頁(yè)
貪吃蛇游戲-設(shè)計(jì)-流程課件_第3頁(yè)
貪吃蛇游戲-設(shè)計(jì)-流程課件_第4頁(yè)
貪吃蛇游戲-設(shè)計(jì)-流程課件_第5頁(yè)
已閱讀5頁(yè),還剩57頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

項(xiàng)目:貪吃蛇游戲設(shè)計(jì)常州工程職業(yè)技術(shù)學(xué)院計(jì)算機(jī)技術(shù)系項(xiàng)目:貪吃蛇游戲設(shè)計(jì)常州工程職業(yè)技術(shù)學(xué)院計(jì)算機(jī)技術(shù)系1今日工作任務(wù)八:界面(Start)類設(shè)計(jì)1分析Start類、應(yīng)用Timer控制系統(tǒng)

a分析設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)主菜單

3b貪吃蛇游戲擴(kuò)展功能

4c完整項(xiàng)目匯報(bào)、互評(píng)2工作總結(jié)3結(jié)束任務(wù)布置4WinForm項(xiàng)目開發(fā)》今日工作任務(wù)八:界面(Start)類設(shè)計(jì)1分析Start類、2分析Start類、應(yīng)用Timer控制系統(tǒng)各項(xiàng)目組匯報(bào)預(yù)設(shè)計(jì)、提出問(wèn)題互評(píng)、點(diǎn)評(píng)問(wèn)題解決進(jìn)一步解讀系統(tǒng)需求WinForm項(xiàng)目開發(fā)》分析Start類、應(yīng)用Timer控制系統(tǒng)各項(xiàng)目組匯報(bào)預(yù)設(shè)計(jì)、3分析Start類、應(yīng)用Timer控制系統(tǒng)一、主界面(Start類)分析此類繼承自系統(tǒng)類System.Windows.Forms.Form,是本程序的主窗體。Start類主要用了繼承來(lái)的字段、屬性、方法和事件,我們只是在Start類中通過(guò)添加控件及設(shè)置控件的屬性添加了對(duì)象字段和對(duì)象屬性字段。

WinForm項(xiàng)目開發(fā)》分析Start類、應(yīng)用Timer控制系統(tǒng)一、主界面(Sta4說(shuō)明:通過(guò)向窗體上添加控件,系統(tǒng)會(huì)自動(dòng)向窗體類中添加相應(yīng)的對(duì)象字段,如本程序的mainMenu1、timer1、label1等,在類中對(duì)應(yīng)的字段如下:privateSystem.Windows.Forms.MenuStripmainMenu1;

publicSystem.Windows.Forms.Timertimer1;privateSystem.Windows.Forms.Labellabel1;分析Start類、應(yīng)用Timer控制系統(tǒng)WinForm項(xiàng)目開發(fā)》說(shuō)明:通過(guò)向窗體上添加控件,系統(tǒng)會(huì)自動(dòng)向窗體類中添加相應(yīng)的對(duì)5timer控件_實(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。分析Start類、應(yīng)用Timer控制系統(tǒng)WinForm項(xiàng)目開發(fā)》timer控件_實(shí)現(xiàn)在用戶定義的時(shí)間間隔引發(fā)事件的計(jì)時(shí)器,此6⑵Interval屬性獲取或設(shè)置計(jì)時(shí)器開始計(jì)時(shí)之間的時(shí)間(以毫秒為單位)。計(jì)時(shí)器每次開始計(jì)時(shí)之間的毫秒數(shù)。該值不小于1。備注:2)Tick事件如果需要自動(dòng)運(yùn)行,常用此控件。分析Start類、應(yīng)用Timer控制系統(tǒng)若要獲取該時(shí)間間隔的秒數(shù),將此數(shù)字除以1,000。當(dāng)指定的計(jì)時(shí)器間隔已過(guò)去而且計(jì)時(shí)器處于啟用狀態(tài)時(shí)發(fā)生。WinForm項(xiàng)目開發(fā)》⑵Interval屬性獲取或設(shè)置計(jì)時(shí)器開始計(jì)時(shí)之間的時(shí)間(7時(shí)間(timer1)控件的Tick事件⑴功能⑵設(shè)計(jì)思路 自選級(jí)別沒(méi)有等級(jí),其他級(jí)別根據(jù)分?jǐn)?shù)是50的多少倍,計(jì)算級(jí)別,如果不是現(xiàn)在等級(jí),保存各修改等級(jí)。若分?jǐn)?shù)大于等于550,說(shuō)明玩到了通關(guān),停止游戲,顯示恭喜消息框。分析Start類、應(yīng)用Timer控制系統(tǒng) 顯示場(chǎng)地Floor對(duì)象(使蛇運(yùn)動(dòng));顯示游戲等級(jí)和分?jǐn)?shù);判斷是否玩到了通關(guān)和蛇是否死亡。WinForm項(xiàng)目開發(fā)》時(shí)間(timer1)控件的Tick事件⑴功能⑵設(shè)計(jì)思路 8 調(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í)間控件不可用。通過(guò)下面語(yǔ)句啟動(dòng)游戲和停止游戲。-timer1.Enable=true;//啟動(dòng)游戲-timer1.Enable=false;//停止游戲分析Start類、應(yīng)用Timer控制系統(tǒng)WinForm項(xiàng)目開發(fā)》 調(diào)用CheckSnake方法判斷蛇是否死亡,如果死亡,停9分析Start類、應(yīng)用Timer控制系統(tǒng)顯示運(yùn)動(dòng)場(chǎng)地顯示分?jǐn)?shù)保存現(xiàn)在級(jí)別到級(jí)數(shù)計(jì)算現(xiàn)在的級(jí)別設(shè)置新速度結(jié)束游戲顯示級(jí)數(shù)開始現(xiàn)在級(jí)別不是原級(jí)數(shù)且不是自選速度?分?jǐn)?shù)達(dá)到550了嗎?結(jié)束游戲顯示”恭喜”消息框蛇死亡了嗎?FTTTFF結(jié)束WinForm項(xiàng)目開發(fā)》分析Start類、應(yīng)用Timer控制系統(tǒng)顯示運(yùn)動(dòng)場(chǎng)地顯示分?jǐn)?shù)10窗體的KeyDown事件方法鍵被按下時(shí)發(fā)生。-事件處理程序接收一個(gè)KeyEventArgs類型的參數(shù),它包含與此事件相關(guān)的數(shù)據(jù)。其中KeyValues獲取按鍵的鍵值。(37、38、39、40)-1)窗體的KeyDown事件方法⑴功能:分析Start類、應(yīng)用Timer控制系統(tǒng)根據(jù)按鍵情況,調(diào)用蛇的TurnDirection方法,改變蛇的運(yùn)行方向。WinForm項(xiàng)目開發(fā)》窗體的KeyDown事件方法鍵被按下時(shí)發(fā)生。-事件處理程序接11分析Start類、應(yīng)用Timer控制系統(tǒng)開始定義整型變量k,d取e.KeyValue給k按向左光標(biāo)鍵?d=3按向下光標(biāo)鍵?d=2按向右光標(biāo)鍵?d=1按向上光標(biāo)鍵?d=0調(diào)用蛇的TurnDirection方法結(jié)束TTTTFFFF讀取當(dāng)前蛇的運(yùn)行方向給dWinForm項(xiàng)目開發(fā)》分析Start類、應(yīng)用Timer控制系統(tǒng)開始定義整型變量k,12分析設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)主菜單各項(xiàng)目組匯報(bào)預(yù)設(shè)計(jì)、提出問(wèn)題互評(píng)、點(diǎn)評(píng)問(wèn)題解決進(jìn)一步解讀系統(tǒng)需求WinForm項(xiàng)目開發(fā)》分析設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)主菜單各項(xiàng)目組匯報(bào)預(yù)設(shè)計(jì)、提出問(wèn)題互評(píng)、點(diǎn)131、MenuStrip控件MenuStrip控件表示窗體菜單結(jié)構(gòu)的容器??梢詫oolStripMenuItem

對(duì)象添加到表示菜單結(jié)構(gòu)中各菜單命令的

MenuStrip中。進(jìn)入每個(gè)toolStripMenuItem命令的單擊事件方法與其他控件相同,即通過(guò)雙擊此菜單項(xiàng)。分析設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)主菜單每個(gè)ToolStripMenuItem可以成為應(yīng)用程序的命令或其他子菜單項(xiàng)的父菜單WinForm項(xiàng)目開發(fā)》1、MenuStrip控件MenuStr142、“開始/重新開始”菜單

-1)功能: 游戲開始或重新開始游戲;若本菜單項(xiàng)為“開始”,改為“重新開始”;并且“暫停”菜單項(xiàng)可用。分析設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)主菜單WinForm項(xiàng)目開發(fā)》2、“開始/重新開始”菜單-1)功能: 游戲開始或重15

(1)開始游戲:timer1.Enable=true。

(2)判斷菜單是否為“開始” menuItem2.Text==“開始”;

(4)當(dāng)菜單項(xiàng)為“重新開始”時(shí),調(diào)用

2)設(shè)計(jì)思路及步驟:

(3)設(shè)置“暫?!辈藛雾?xiàng)可用。 menuItem3.Enabled=true,

floor.ReSet();

分析設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)主菜單WinForm項(xiàng)目開發(fā)》 (1)開始游戲:timer1.Enable=true16開始游戲菜單文本為”開始”嗎?菜單文本改為”重新開始”重新開始游戲分?jǐn)?shù)恢復(fù)為0開始結(jié)束TF“暫停/繼續(xù)”菜單可用分析設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)主菜單WinForm項(xiàng)目開發(fā)》開始游戲菜單文本為菜單文本改為”重新開始”重新開始游戲分?jǐn)?shù)恢173、“暫停/繼續(xù)”菜單⑴功能:設(shè)置程序暫停運(yùn)行或繼續(xù)運(yùn)行。

分析設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)主菜單WinForm項(xiàng)目開發(fā)》3、“暫停/繼續(xù)”菜單⑴功能:設(shè)置程序暫停運(yùn)行或繼續(xù)運(yùn)行。184、“退出”菜單 功能:退出程序,用窗體的Close方法。5、“級(jí)別”菜單項(xiàng)的“第N級(jí)”子菜單 ⑴功能:此菜單項(xiàng)的第一級(jí)到第五級(jí)全是設(shè)置游戲級(jí)別。 ⑵設(shè)計(jì)思路設(shè)置時(shí)間控件的Interval屬性為一定的值,游戲級(jí)別和分?jǐn)?shù),然后顯示出來(lái)。分析設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)主菜單WinForm項(xiàng)目開發(fā)》4、“退出”菜單 功能:退出程序,用窗體的Close方法。19WinForm項(xiàng)目開發(fā)》WinForm項(xiàng)目開發(fā)》206、“自定義速度”子菜單⑴功能:通過(guò)顯示自定義速度(Speed)窗體,設(shè)置游戲的速度。⑵設(shè)計(jì)思路設(shè)置游戲速度時(shí),游戲要停下來(lái),設(shè)置好后繼續(xù);創(chuàng)建Speed實(shí)例,模式顯示它;設(shè)置好速度值后把速度賦給PubClass類的kk靜態(tài)屬性保存,并設(shè)置時(shí)間控件(timer)的Interval屬性。分析設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)主菜單WinForm項(xiàng)目開發(fā)》6、“自定義速度”子菜單⑴功能:通過(guò)顯示自定義速度(Spee217、非模式窗體和模式窗體創(chuàng)建新非模式窗體后,立即返回,且沒(méi)有在當(dāng)前活動(dòng)窗體和新窗體間建立任何關(guān)系。即在保持新窗口的情況下關(guān)閉(或最小化)現(xiàn)有窗體或在保留現(xiàn)有窗體情況下關(guān)閉(或最小化)新窗口,都是可以的。分析設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)主菜單WinForm項(xiàng)目開發(fā)》7、非模式窗體和模式窗體創(chuàng)建新非模式窗體后,立即返回,且沒(méi)有22創(chuàng)建模式窗體后,只有當(dāng)建立的新窗口關(guān)閉之后,原有窗體才能重新獲得控制權(quán)。需要注意的是,不管是何種情況,只要主窗體被關(guān)閉了,或主程序結(jié)束了,那么Application.Run將會(huì)關(guān)閉所有窗體,不管它是模式還是非模式。即如果不關(guān)閉新窗口,將無(wú)法對(duì)原活動(dòng)窗口進(jìn)行任何操作。對(duì)新窗口進(jìn)行的最小化、還原將會(huì)和原窗口一起進(jìn)行,但是新窗口的關(guān)閉對(duì)原窗口沒(méi)有影響。分析設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)主菜單WinForm項(xiàng)目開發(fā)》創(chuàng)建模式窗體后,只有當(dāng)建立的新窗口關(guān)閉之后,原有窗體才能重新23 任何窗體(派生于基類Form的類),都可以以兩種方式進(jìn)行顯示。窗體調(diào)用//非模式窗體 Fromqform=newForm(); qform.Show();分析設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)主菜單WinForm項(xiàng)目開發(fā)》 任何窗體(派生于基類Form的類),都可以以兩種方式進(jìn)行24Formqform=newForm();//模式窗體qform.ShowDialog();6)“幫助”子菜單功能:在一個(gè)消息框中顯示幫助信息。分析設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)主菜單WinForm項(xiàng)目開發(fā)》Formqform=newForm();//模式窗體25項(xiàng)目總結(jié)本章學(xué)習(xí)了使用類和對(duì)象、GDI+繪圖來(lái)創(chuàng)建項(xiàng)目。類是面向?qū)ο蟪绦蛟O(shè)計(jì)的一個(gè)基本概念,是對(duì)一組類似的對(duì)象的一般化描述,它包括:字段、屬性、方法和事件幾類成員。類是創(chuàng)建對(duì)象的模板,由類創(chuàng)建對(duì)象,可由下式表示它們的關(guān)系。WinForm項(xiàng)目開發(fā)》項(xiàng)目總結(jié)本章學(xué)習(xí)了使用類和對(duì)象、GDI+繪圖來(lái)創(chuàng)建項(xiàng)目。類是26

具體化(創(chuàng)建)類

對(duì)象

抽象

字段是描述類特征的成員,如果需要描述類的哪方面的特征,就要設(shè)置一個(gè)相應(yīng)的字段;

屬性是為了訪問(wèn)隱藏?cái)?shù)據(jù)(字段)的,如果字段的數(shù)據(jù)需要在類外訪問(wèn),就要定義相應(yīng)的屬性; 方法是類能做的事情;事件是對(duì)象接受外部操作而發(fā)生的動(dòng)作。項(xiàng)目總結(jié)WinForm項(xiàng)目開發(fā)》 具體化(創(chuàng)建) 字段是描述類特征的成員,如果需要描27類成員有非靜態(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ù)就沒(méi)有了,需要的話就要聲明一個(gè)。項(xiàng)目總結(jié)WinForm項(xiàng)目開發(fā)》類成員有非靜態(tài)和靜態(tài)之分非靜態(tài)成員屬于對(duì)象對(duì)象名.成員名靜態(tài)28GDI+為Windows應(yīng)用程序開發(fā)提供了一組用于圖形圖像編程的類、結(jié)構(gòu)和枚舉。用GDI+繪圖的基本步驟是:①創(chuàng)建Graphics對(duì)象;-②創(chuàng)建畫筆或畫刷對(duì)象,并定義顏色;-③用Graphics對(duì)象方法畫圖。繪制空心圖形要用畫筆,繪制實(shí)心圖形要用畫刷項(xiàng)目總結(jié)WinForm項(xiàng)目開發(fā)》GDI+為Windows應(yīng)用程序開發(fā)提供了一組用于圖形圖像編29另外往窗體上增加菜單用mainMenu控件;控制系統(tǒng)自動(dòng)運(yùn)行要用timer控件;枚舉集合中的所有成員可用IEnumerator接口對(duì)象。項(xiàng)目總結(jié)WinForm項(xiàng)目開發(fā)》另外往窗體上增加菜單用mainMenu控件;控制系統(tǒng)自動(dòng)運(yùn)行30任務(wù)布置1.課下進(jìn)一步修改和擴(kuò)展項(xiàng)目;把電子稿上傳;2.完成本任務(wù)的小結(jié);3.以小組為單位預(yù)設(shè)計(jì)下一項(xiàng)目《通訊錄管理系統(tǒng)》的工作任務(wù)一解讀需求分析;工作任務(wù)二:創(chuàng)建數(shù)據(jù)庫(kù);工作任務(wù)三:設(shè)計(jì)用戶管理窗體

WinForm項(xiàng)目開發(fā)》任務(wù)布置1.課下進(jìn)一步修改和擴(kuò)展項(xiàng)目;把電子稿上傳;2.完成31項(xiàng)目:貪吃蛇游戲設(shè)計(jì)常州工程職業(yè)技術(shù)學(xué)院計(jì)算機(jī)技術(shù)系項(xiàng)目:貪吃蛇游戲設(shè)計(jì)常州工程職業(yè)技術(shù)學(xué)院計(jì)算機(jī)技術(shù)系32今日工作任務(wù)八:界面(Start)類設(shè)計(jì)1分析Start類、應(yīng)用Timer控制系統(tǒng)

a分析設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)主菜單

3b貪吃蛇游戲擴(kuò)展功能

4c完整項(xiàng)目匯報(bào)、互評(píng)2工作總結(jié)3結(jié)束任務(wù)布置4WinForm項(xiàng)目開發(fā)》今日工作任務(wù)八:界面(Start)類設(shè)計(jì)1分析Start類、33分析Start類、應(yīng)用Timer控制系統(tǒng)各項(xiàng)目組匯報(bào)預(yù)設(shè)計(jì)、提出問(wèn)題互評(píng)、點(diǎn)評(píng)問(wèn)題解決進(jìn)一步解讀系統(tǒng)需求WinForm項(xiàng)目開發(fā)》分析Start類、應(yīng)用Timer控制系統(tǒng)各項(xiàng)目組匯報(bào)預(yù)設(shè)計(jì)、34分析Start類、應(yīng)用Timer控制系統(tǒng)一、主界面(Start類)分析此類繼承自系統(tǒng)類System.Windows.Forms.Form,是本程序的主窗體。Start類主要用了繼承來(lái)的字段、屬性、方法和事件,我們只是在Start類中通過(guò)添加控件及設(shè)置控件的屬性添加了對(duì)象字段和對(duì)象屬性字段。

WinForm項(xiàng)目開發(fā)》分析Start類、應(yīng)用Timer控制系統(tǒng)一、主界面(Sta35說(shuō)明:通過(guò)向窗體上添加控件,系統(tǒng)會(huì)自動(dòng)向窗體類中添加相應(yīng)的對(duì)象字段,如本程序的mainMenu1、timer1、label1等,在類中對(duì)應(yīng)的字段如下:privateSystem.Windows.Forms.MenuStripmainMenu1;

publicSystem.Windows.Forms.Timertimer1;privateSystem.Windows.Forms.Labellabel1;分析Start類、應(yīng)用Timer控制系統(tǒng)WinForm項(xiàng)目開發(fā)》說(shuō)明:通過(guò)向窗體上添加控件,系統(tǒng)會(huì)自動(dòng)向窗體類中添加相應(yīng)的對(duì)36timer控件_實(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。分析Start類、應(yīng)用Timer控制系統(tǒng)WinForm項(xiàng)目開發(fā)》timer控件_實(shí)現(xiàn)在用戶定義的時(shí)間間隔引發(fā)事件的計(jì)時(shí)器,此37⑵Interval屬性獲取或設(shè)置計(jì)時(shí)器開始計(jì)時(shí)之間的時(shí)間(以毫秒為單位)。計(jì)時(shí)器每次開始計(jì)時(shí)之間的毫秒數(shù)。該值不小于1。備注:2)Tick事件如果需要自動(dòng)運(yùn)行,常用此控件。分析Start類、應(yīng)用Timer控制系統(tǒng)若要獲取該時(shí)間間隔的秒數(shù),將此數(shù)字除以1,000。當(dāng)指定的計(jì)時(shí)器間隔已過(guò)去而且計(jì)時(shí)器處于啟用狀態(tài)時(shí)發(fā)生。WinForm項(xiàng)目開發(fā)》⑵Interval屬性獲取或設(shè)置計(jì)時(shí)器開始計(jì)時(shí)之間的時(shí)間(38時(shí)間(timer1)控件的Tick事件⑴功能⑵設(shè)計(jì)思路 自選級(jí)別沒(méi)有等級(jí),其他級(jí)別根據(jù)分?jǐn)?shù)是50的多少倍,計(jì)算級(jí)別,如果不是現(xiàn)在等級(jí),保存各修改等級(jí)。若分?jǐn)?shù)大于等于550,說(shuō)明玩到了通關(guān),停止游戲,顯示恭喜消息框。分析Start類、應(yīng)用Timer控制系統(tǒng) 顯示場(chǎng)地Floor對(duì)象(使蛇運(yùn)動(dòng));顯示游戲等級(jí)和分?jǐn)?shù);判斷是否玩到了通關(guān)和蛇是否死亡。WinForm項(xiàng)目開發(fā)》時(shí)間(timer1)控件的Tick事件⑴功能⑵設(shè)計(jì)思路 39 調(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í)間控件不可用。通過(guò)下面語(yǔ)句啟動(dòng)游戲和停止游戲。-timer1.Enable=true;//啟動(dòng)游戲-timer1.Enable=false;//停止游戲分析Start類、應(yīng)用Timer控制系統(tǒng)WinForm項(xiàng)目開發(fā)》 調(diào)用CheckSnake方法判斷蛇是否死亡,如果死亡,停40分析Start類、應(yīng)用Timer控制系統(tǒng)顯示運(yùn)動(dòng)場(chǎng)地顯示分?jǐn)?shù)保存現(xiàn)在級(jí)別到級(jí)數(shù)計(jì)算現(xiàn)在的級(jí)別設(shè)置新速度結(jié)束游戲顯示級(jí)數(shù)開始現(xiàn)在級(jí)別不是原級(jí)數(shù)且不是自選速度?分?jǐn)?shù)達(dá)到550了嗎?結(jié)束游戲顯示”恭喜”消息框蛇死亡了嗎?FTTTFF結(jié)束WinForm項(xiàng)目開發(fā)》分析Start類、應(yīng)用Timer控制系統(tǒng)顯示運(yùn)動(dòng)場(chǎng)地顯示分?jǐn)?shù)41窗體的KeyDown事件方法鍵被按下時(shí)發(fā)生。-事件處理程序接收一個(gè)KeyEventArgs類型的參數(shù),它包含與此事件相關(guān)的數(shù)據(jù)。其中KeyValues獲取按鍵的鍵值。(37、38、39、40)-1)窗體的KeyDown事件方法⑴功能:分析Start類、應(yīng)用Timer控制系統(tǒng)根據(jù)按鍵情況,調(diào)用蛇的TurnDirection方法,改變蛇的運(yùn)行方向。WinForm項(xiàng)目開發(fā)》窗體的KeyDown事件方法鍵被按下時(shí)發(fā)生。-事件處理程序接42分析Start類、應(yīng)用Timer控制系統(tǒng)開始定義整型變量k,d取e.KeyValue給k按向左光標(biāo)鍵?d=3按向下光標(biāo)鍵?d=2按向右光標(biāo)鍵?d=1按向上光標(biāo)鍵?d=0調(diào)用蛇的TurnDirection方法結(jié)束TTTTFFFF讀取當(dāng)前蛇的運(yùn)行方向給dWinForm項(xiàng)目開發(fā)》分析Start類、應(yīng)用Timer控制系統(tǒng)開始定義整型變量k,43分析設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)主菜單各項(xiàng)目組匯報(bào)預(yù)設(shè)計(jì)、提出問(wèn)題互評(píng)、點(diǎn)評(píng)問(wèn)題解決進(jìn)一步解讀系統(tǒng)需求WinForm項(xiàng)目開發(fā)》分析設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)主菜單各項(xiàng)目組匯報(bào)預(yù)設(shè)計(jì)、提出問(wèn)題互評(píng)、點(diǎn)441、MenuStrip控件MenuStrip控件表示窗體菜單結(jié)構(gòu)的容器??梢詫oolStripMenuItem

對(duì)象添加到表示菜單結(jié)構(gòu)中各菜單命令的

MenuStrip中。進(jìn)入每個(gè)toolStripMenuItem命令的單擊事件方法與其他控件相同,即通過(guò)雙擊此菜單項(xiàng)。分析設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)主菜單每個(gè)ToolStripMenuItem可以成為應(yīng)用程序的命令或其他子菜單項(xiàng)的父菜單WinForm項(xiàng)目開發(fā)》1、MenuStrip控件MenuStr452、“開始/重新開始”菜單

-1)功能: 游戲開始或重新開始游戲;若本菜單項(xiàng)為“開始”,改為“重新開始”;并且“暫?!辈藛雾?xiàng)可用。分析設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)主菜單WinForm項(xiàng)目開發(fā)》2、“開始/重新開始”菜單-1)功能: 游戲開始或重46

(1)開始游戲:timer1.Enable=true。

(2)判斷菜單是否為“開始” menuItem2.Text==“開始”;

(4)當(dāng)菜單項(xiàng)為“重新開始”時(shí),調(diào)用

2)設(shè)計(jì)思路及步驟:

(3)設(shè)置“暫?!辈藛雾?xiàng)可用。 menuItem3.Enabled=true,

floor.ReSet();

分析設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)主菜單WinForm項(xiàng)目開發(fā)》 (1)開始游戲:timer1.Enable=true47開始游戲菜單文本為”開始”嗎?菜單文本改為”重新開始”重新開始游戲分?jǐn)?shù)恢復(fù)為0開始結(jié)束TF“暫停/繼續(xù)”菜單可用分析設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)主菜單WinForm項(xiàng)目開發(fā)》開始游戲菜單文本為菜單文本改為”重新開始”重新開始游戲分?jǐn)?shù)恢483、“暫停/繼續(xù)”菜單⑴功能:設(shè)置程序暫停運(yùn)行或繼續(xù)運(yùn)行。

分析設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)主菜單WinForm項(xiàng)目開發(fā)》3、“暫停/繼續(xù)”菜單⑴功能:設(shè)置程序暫停運(yùn)行或繼續(xù)運(yùn)行。494、“退出”菜單 功能:退出程序,用窗體的Close方法。5、“級(jí)別”菜單項(xiàng)的“第N級(jí)”子菜單 ⑴功能:此菜單項(xiàng)的第一級(jí)到第五級(jí)全是設(shè)置游戲級(jí)別。 ⑵設(shè)計(jì)思路設(shè)置時(shí)間控件的Interval屬性為一定的值,游戲級(jí)別和分?jǐn)?shù),然后顯示出來(lái)。分析設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)主菜單WinForm項(xiàng)目開發(fā)》4、“退出”菜單 功能:退出程序,用窗體的Close方法。50WinForm項(xiàng)目開發(fā)》WinForm項(xiàng)目開發(fā)》516、“自定義速度”子菜單⑴功能:通過(guò)顯示自定義速度(Speed)窗體,設(shè)置游戲的速度。⑵設(shè)計(jì)思路設(shè)置游戲速度時(shí),游戲要停下來(lái),設(shè)置好后繼續(xù);創(chuàng)建Speed實(shí)例,模式顯示它;設(shè)置好速度值后把速度賦給PubClass類的kk靜態(tài)屬性保存,并設(shè)置時(shí)間控件(timer)的Interval屬性。分析設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)主菜單WinForm項(xiàng)目開發(fā)》6、“自定義速度”子菜單⑴功能:通過(guò)顯示自定義速度(Spee527、非模式窗體和模式窗體創(chuàng)建新非模式窗體后,立即返回,且沒(méi)有在當(dāng)前活動(dòng)窗體和新窗體間建立任何關(guān)系。即在保持新窗口的情況下關(guān)閉(或最小化)現(xiàn)有窗體或在保留現(xiàn)有窗體情況下關(guān)閉(或最小化)新窗口,都是可以的。分析設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)主菜單WinForm項(xiàng)目開發(fā)》7、非模式窗體和模式窗體創(chuàng)建新非模式窗體后,立即返回,且沒(méi)有53創(chuàng)建模式窗體后,只有當(dāng)建立的新窗口關(guān)閉之后,原有窗體才能重新獲得控制權(quán)。需要注意的是,不管是何種情況,只要主窗體被關(guān)閉了,或主程序結(jié)束了,那么Application.Run將會(huì)關(guān)閉所有窗體,不管它是模式還是非模式。即如果不關(guān)閉新窗口,將無(wú)法對(duì)原活動(dòng)窗口進(jìn)行任何操作。對(duì)新窗口進(jìn)行的最小化、還原將會(huì)和原窗口一起進(jìn)行,但是新窗口的關(guān)閉對(duì)原窗口沒(méi)有影響。分析設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)主菜單WinForm項(xiàng)目開發(fā)》創(chuàng)建模式窗體后,只有當(dāng)建立的新窗口關(guān)閉之后,原有窗體才能重新54 任何窗體(派生于基類Form的類),都可以以兩種方式進(jìn)行顯示。窗體調(diào)用//非模式窗體 Fromqform=newForm(); qform.Show();分析設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)主菜單WinForm項(xiàng)目開發(fā)》 任何窗體(派生于基類Form的類),都可以以兩種方式進(jìn)行55Formqform=newForm();//模式窗體qform.ShowDialog();6)“幫助”子菜單功能:在一個(gè)消息框中顯示幫助信息。分析設(shè)計(jì)并

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論