![項目:貪吃蛇游戲設計-工作任務五:場地(Floor)類課件_第1頁](http://file4.renrendoc.com/view/4152aef4005a49d132a0bf718dc70530/4152aef4005a49d132a0bf718dc705301.gif)
![項目:貪吃蛇游戲設計-工作任務五:場地(Floor)類課件_第2頁](http://file4.renrendoc.com/view/4152aef4005a49d132a0bf718dc70530/4152aef4005a49d132a0bf718dc705302.gif)
![項目:貪吃蛇游戲設計-工作任務五:場地(Floor)類課件_第3頁](http://file4.renrendoc.com/view/4152aef4005a49d132a0bf718dc70530/4152aef4005a49d132a0bf718dc705303.gif)
![項目:貪吃蛇游戲設計-工作任務五:場地(Floor)類課件_第4頁](http://file4.renrendoc.com/view/4152aef4005a49d132a0bf718dc70530/4152aef4005a49d132a0bf718dc705304.gif)
![項目:貪吃蛇游戲設計-工作任務五:場地(Floor)類課件_第5頁](http://file4.renrendoc.com/view/4152aef4005a49d132a0bf718dc70530/4152aef4005a49d132a0bf718dc705305.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
項目:貪吃蛇游戲設計常州工程職業(yè)技術(shù)學院計算機技術(shù)系項目:貪吃蛇游戲設計常州工程職業(yè)技術(shù)學院計算機技術(shù)系1今日工作任務五:場地類(Floor)設計1分析、設計Floor類的字段和屬性
a分析設計并實現(xiàn)Floor類方法
3b任務六:PubClass類和任務七:Speed類42工作匯報、互評3工作小結(jié)4結(jié)束任務布置5WinForm項目開發(fā)》今日工作任務五:場地類(Floor)設計1分析、設計Flo2分析、設計Floor類的字段和屬性各項目組匯報預設計、提出問題互評、點評問題解決進一步解讀系統(tǒng)需求WinForm項目開發(fā)》分析、設計Floor類的字段和屬性各項目組匯報預設計、提出問3分析、設計Floor類的字段和屬性一、場地(Floor)類分析為游戲的主場地,豆要在此范圍內(nèi)出現(xiàn),蛇要在此范圍內(nèi)運行;場地的左上角確定場地的顯示位置,長寬確定場地的大小在游戲過程中,要首先初始化場地類,然后顯示場地,當豆被吃掉后,要隨機產(chǎn)生一個新豆并顯示,還要不斷檢查蛇是否吃了豆,是否碰撞到了場地的壁或蛇自身。
WinForm項目開發(fā)》分析、設計Floor類的字段和屬性一、場地(Floor)類分41)字段分析、設計Floor類的字段和屬性
privatestaticintunit=5;
privateint
length=80*unit;
privateintwidth=50*unit;
privatePointdot;
publicintscore;
privateSnakes;
privateBeanbean1;
WinForm項目開發(fā)》1)字段分析、設計Floor類的字段和屬性 private52)屬性分析、設計Floor類的字段和屬性 publicSnakeS3)構(gòu)造函數(shù) publicFloor(Pointp)4)方法: publicvoidDisplay(Graphicsg) publicvoidCheckBean(Graphicsg) publicvoidCheckSnake() privateBeangetRandomBean() publicvoiddisplaybean(Graphicsg) privatevoidReSet(Graphicsg)WinForm項目開發(fā)》2)屬性分析、設計Floor類的字段和屬性 public6二、場地(floor)類實現(xiàn)分析、設計Floor類的字段和屬性1.屬性設置蛇對象的屬性為只讀屬性
publicSnakeS
{ get{returns;} }WinForm項目開發(fā)》二、場地(floor)類實現(xiàn)分析、設計Floor類的字段和屬72.構(gòu)造函數(shù)分析、設計Floor類的字段和屬性 publicFloor(Pointp)⑴功能 初始化場地的左上角位置dot、豆對象bean1和蛇對象s。⑵設計思路及方法 根據(jù)傳遞來參數(shù)p設置場地外框左上角位置;用p和10實例化蛇s(設置蛇的長度由10個塊組成);用空構(gòu)造函數(shù)實例化豆對象并設置由p設置豆的位置屬性值。WinForm項目開發(fā)》2.構(gòu)造函數(shù)分析、設計Floor類的字段和屬性 publi8分析設計并實現(xiàn)Floor類方法各項目組匯報預設計、提出問題互評、點評問題解決進一步解讀系統(tǒng)需求WinForm項目開發(fā)》分析設計并實現(xiàn)Floor類方法各項目組匯報預設計、提出問題互93.方法分析設計并實現(xiàn)Floor類方法1)顯示場地(Display)方法⑴功能依次顯示場地內(nèi)的所有對象,場地邊框、豆和蛇;還要檢查蛇是否吃了豆。WinForm項目開發(fā)》3.方法分析設計并實現(xiàn)Floor類方法1)顯示場地(Disp10分析設計并實現(xiàn)Floor類方法⑵設計思路創(chuàng)建紅色畫筆畫運行場地顯示豆(調(diào)用豆的Display方法)顯示蛇(調(diào)用蛇的Display方法)檢查豆是否被吃掉(調(diào)用CheckBean方法)結(jié)束開始參數(shù)(Graphicsg)畫一個長能放下80個豆、寬能放下50個豆的紅色矩形作為場地依次用各自的顯示方法顯示蛇和豆,并檢測當前豆是否被蛇吃掉。WinForm項目開發(fā)》分析設計并實現(xiàn)Floor類方法⑵設計思路創(chuàng)建紅色畫筆畫運行場112)檢查蛇是否吃了豆(CheckBean)方法分析設計并實現(xiàn)Floor類方法⑴功能 檢測豆是否被蛇吃掉,如果被蛇吃掉,得分增加10分,顯示新豆,使蛇增長一塊,否則不作任何處理,直接返回。WinForm項目開發(fā)》2)檢查蛇是否吃了豆(CheckBean)方法分析設計并實現(xiàn)12分析設計并實現(xiàn)Floor類方法⑵設計思路判斷豆的位置是否與蛇頭的位置相同用Point結(jié)構(gòu)的Equals方法:bean1.Origin.Equals(s.getHeadPoint)其中bean1是當前豆對象,s是蛇對象得分增加10分豆被蛇吃掉了嗎?分數(shù)增加10產(chǎn)生并顯示新豆(調(diào)用displaybean方法)蛇增長一塊(調(diào)用蛇的Growth方法)FT結(jié)束開始WinForm項目開發(fā)》分析設計并實現(xiàn)Floor類方法⑵設計思路判斷豆的133)顯示豆(displaybean)方法分析設計并實現(xiàn)Floor類方法 ⑴功能:當豆被蛇吃掉后,消除被吃豆,隨機生成一個新豆并顯示它。 ⑵設計思路:調(diào)用它們各自的方法UnDisplay()、randombean()和Display()完成它們的功能。4)產(chǎn)生隨機豆(randombean)方法 ⑴功能:生成一個在場地范圍內(nèi)任意位置的豆。 ⑵設計思路: 由隨機數(shù)對象產(chǎn)生兩個隨機數(shù),根據(jù)這兩個整數(shù)建立一個Point變量,把它賦給豆對象的位置Origin屬性,最后返回此豆。WinForm項目開發(fā)》3)顯示豆(displaybean)方法分析設計并實現(xiàn)Flo14分析設計并實現(xiàn)Floor類方法創(chuàng)建偽隨機數(shù)對象并實例化產(chǎn)生隨機x坐標創(chuàng)建新豆并實例化產(chǎn)生隨機y坐標由x,y坐標構(gòu)造點p返回新豆給新豆的位置屬性賦值為p開始結(jié)束WinForm項目開發(fā)》分析設計并實現(xiàn)Floor類方法創(chuàng)建偽隨機數(shù)對象并實例化產(chǎn)生隨15產(chǎn)生隨機數(shù)分析設計并實現(xiàn)Floor類方法C#中產(chǎn)生隨機數(shù)的方法分兩步:①
創(chuàng)建偽隨機數(shù)對象,并實例化它。 Randomrandom=newRandom();②
產(chǎn)生整數(shù)隨機數(shù)的方法Next() 格式:intNext(intmaxnum) 功能:產(chǎn)生一個不大于maxnum的非負整數(shù)。
WinForm項目開發(fā)》產(chǎn)生隨機數(shù)分析設計并實現(xiàn)Floor類方法C#中產(chǎn)生隨機數(shù)的方16豆位置坐標隨機數(shù)由下面兩式產(chǎn)生:分析設計并實現(xiàn)Floor類方法Pointd=newPoint(dot.X+x*5,dot.Y+y*5);intx=random.Next(length/unit-2)+1;inty=random.Next(width/unit-2)+1;豆的位置點由下式產(chǎn)生:WinForm項目開發(fā)》豆位置坐標隨機數(shù)由下面兩式產(chǎn)生:分析設計并實現(xiàn)Floor類方175)檢查蛇是否撞墻和撞到它自身(CheckSnake)方法分析設計并實現(xiàn)Floor類方法⑴功能:⑵設計思路和步驟:要判斷蛇頭是否撞到場地的墻壁,蛇頭的位置由頭塊的左上角位置決定,當蛇向左、向上運行,頭塊碰到墻壁時位置與墻的位置重合,當蛇向右、向下運行,頭塊碰到墻壁時,頭塊的位置x、y坐標減5,所以判斷條件如下:
判斷蛇是否撞墻和撞到它自身,如果蛇碰撞到場地的壁或碰撞到它自身,返回true,否則返回false。WinForm項目開發(fā)》5)檢查蛇是否撞墻和撞到它自身(CheckSnake)方法分18dot.X<s.getHeadPoint.X&&s.getHeadPoint.X<(dot.X+length)-5)&&分析設計并實現(xiàn)Floor類方法判斷蛇是否碰到它自身,直接調(diào)用判斷蛇碰撞到自身屬性:!s.getHitSelf。(dot.Y<s.getHeadPoint.Y&&s.getHeadPoint.Y<(dot.Y+width)-5)WinForm項目開發(fā)》dot.X<s.getHeadPoint.X&&s.196)重新開始(ReSet)方法分析設計并實現(xiàn)Floor類方法⑴功能:消除現(xiàn)在的蛇,在起始位置重新顯示蛇。⑵設計思路和步驟調(diào)用蛇的消除方法UnDisplay()和重新設置方法ReSet()。WinForm項目開發(fā)》6)重新開始(ReSet)方法分析設計并實現(xiàn)Floor類方法20任務六:PubClass類和任務七:Speed類各項目組匯報預設計、提出問題互評、點評問題解決進一步解讀系統(tǒng)需求WinForm項目開發(fā)》任務六:PubClass類和任務七:Speed類各項目組匯報21任務六:PubClass類和任務七:Speed類一、公共類(PubClass)分析⒈類分析目的:存放公共數(shù)據(jù)和公共方法。此項目中要通過自定義速度(Speed)類設置游戲的速度值,此值要應用到窗體(Start)類中,因此在此類中只設置一個靜態(tài)字段。⒉字段publicstaticintkk;WinForm項目開發(fā)》任務六:PubClass類和任務七:Speed類一、公共類(22對象成員與類成員一般在類中定義的成員稱為對象成員,即由類定義對象后,每一個對象有各自的獨立成員;有時需要類的所有對象在類的范圍內(nèi)共享某個成員,它不屬于任何一個對象,稱為類成員,即靜態(tài)成員。對象(實例)成員具有以下特征:訪問方式:對象名.實例成員;類的每個實例分別包括一組該類的所有實例字段。
實例函數(shù)在類的給定實例上操作,此實例可以作為this訪問。任務六:PubClass類和任務七:Speed類WinForm項目開發(fā)》對象成員與類成員一般在類中定義的成員稱為對象成員,即由類定義23類(靜態(tài))成員有以下特征:訪問靜態(tài)成員方式:類名.靜態(tài)成員名;一個靜態(tài)字段只標識一個存儲位置;
靜態(tài)函數(shù)成員不在某個特定實例上操作,在這樣的函數(shù)中引用this會引發(fā)編譯錯誤。任務六:PubClass類和任務七:Speed類WinForm項目開發(fā)》類(靜態(tài))成員有以下特征:訪問靜態(tài)成員方式:類名.靜態(tài)成員名24一、自定義速度(Speed)類分析通過向項目中添加窗體時系統(tǒng)自動創(chuàng)建的,由系統(tǒng)的System.Windows.Forms.Form類派生而成。分析設計與實現(xiàn)PubClass類和Speed類WinForm項目開發(fā)》一、自定義速度(Speed)類分析通過向項目中添加窗體時系統(tǒng)25控件名屬性名屬性值說明ClassNameSpeed
Text自定義速度顯示在窗體標題欄Label1Text請輸入1~500之間的數(shù)字用于提示輸入值TextBox1Text
用來輸入速度Button1Text確定
任務六:PubClass類和任務七:Speed類WinForm項目開發(fā)》控件名屬性名屬性值說明ClassNameSpeed
Text26事件是類中的另一成員;事件是可以通過代碼響應或“處理”的操作。事件驅(qū)動的應用程序執(zhí)行代碼以響應事件。每個窗體和控件都公開一組預定義事件,可根據(jù)這些事件進行編程。如果發(fā)生其中一個事件并且在相關(guān)聯(lián)的事件處理程序中有代碼,則調(diào)用該代碼。事件可由用戶操作(如單擊鼠標或按某個鍵)、程序代碼或系統(tǒng)生成。任務六:PubClass類和任務七:Speed類WinForm項目開發(fā)》事件是類中的另一成員;事件是可以通過代碼響應或“處理”的操作27對象引發(fā)的事件類型會發(fā)生變化,但對于大多數(shù)控件,很多類型是通用的。事件處理程序是綁定到事件的方法。當引發(fā)事件時,執(zhí)行事件處理程序內(nèi)的代碼。每個事件處理程序提供兩個處理事件的參數(shù)。例如,大多數(shù)對象都會處理Click事件。如果用戶單擊窗體,就會執(zhí)行窗體的Click事件處理程序內(nèi)的代碼。任務六:PubClass類和任務七:Speed類WinForm項目開發(fā)》對象引發(fā)的事件類型會發(fā)生變化,但對于大多數(shù)控件,很多類型是通28按鈕(Button)控件的單擊事件1)功能把文本框(textBox1)中的數(shù)據(jù)保存到公共類(PubClass)中的靜態(tài)字段kk中,并關(guān)閉窗體。2)設計思路 判斷輸入到文本框中的數(shù)據(jù)是否滿足要求,如果滿足保存,否則輸出一提示消息框。
根據(jù)人們?nèi)粘A晳T,設置的數(shù)據(jù)越大,運動的速度就會越快,但是,對于時間控件(timer)而言卻恰恰相反,其interval屬性值設置越小,調(diào)用的速度就會越快,因此,相關(guān)數(shù)據(jù)設置語句可參考如下: PubClass.kk=501-temp任務六:
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 自考00259 公證與律師制度 考前強化練習試題庫(含答案)
- 第九屆“雄鷹杯”小動物醫(yī)師技能大賽考試題庫(含答案)
- 2025年江蘇信息職業(yè)技術(shù)學院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 2025年武漢航海職業(yè)技術(shù)學院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 2025年新疆交通職業(yè)技術(shù)學院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 房地產(chǎn)獨家銷售代理合同范本
- 全新外包服務合同中英文下載年
- 借款合作協(xié)議合同范本
- 兼職健身教練聘用合同
- 皮卡車租賃合同
- 2024年全國職業(yè)院校技能大賽高職組(研學旅行賽項)考試題庫(含答案)
- 電器儀表人員培訓課件
- 2025年中小學春節(jié)安全教育主題班會課件
- 計量經(jīng)濟學練習題
- 2025年全國高考體育單招考試模擬政治試卷試題(含答案詳解)
- 傳統(tǒng)春節(jié)習俗
- 反走私課件完整版本
- 四年級下冊數(shù)學知識點總結(jié)
- (人衛(wèi)版第九版?zhèn)魅静W總論(一))課件
- 《批判性思維原理和方法》全套教學課件
- 經(jīng)歷是流經(jīng)裙邊的水
評論
0/150
提交評論