面向?qū)ο缶幊碳夹g(shù)實(shí)驗(yàn)指導(dǎo)教程

面向?qū)ο缶幊碳夹g(shù)實(shí)驗(yàn)指導(dǎo)教程

ID:33460452

大?。?59.00 KB

頁(yè)數(shù):21頁(yè)

時(shí)間:2019-02-26

面向?qū)ο缶幊碳夹g(shù)實(shí)驗(yàn)指導(dǎo)教程_第1頁(yè)
面向?qū)ο缶幊碳夹g(shù)實(shí)驗(yàn)指導(dǎo)教程_第2頁(yè)
面向?qū)ο缶幊碳夹g(shù)實(shí)驗(yàn)指導(dǎo)教程_第3頁(yè)
面向?qū)ο缶幊碳夹g(shù)實(shí)驗(yàn)指導(dǎo)教程_第4頁(yè)
面向?qū)ο缶幊碳夹g(shù)實(shí)驗(yàn)指導(dǎo)教程_第5頁(yè)
資源描述:

《面向?qū)ο缶幊碳夹g(shù)實(shí)驗(yàn)指導(dǎo)教程》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、面向?qū)ο缶幊碳夹g(shù)實(shí)驗(yàn)指導(dǎo)教程鄭州輕工業(yè)學(xué)院計(jì)算機(jī)與通信工程學(xué)院網(wǎng)絡(luò)工程系目錄1實(shí)驗(yàn)?zāi)康?2實(shí)驗(yàn)題目33實(shí)驗(yàn)步驟43.1需求43.2設(shè)計(jì)53.3編碼63.4測(cè)試183.5系統(tǒng)升級(jí)194實(shí)驗(yàn)報(bào)告205實(shí)驗(yàn)驗(yàn)收206實(shí)驗(yàn)成績(jī)20附錄1實(shí)驗(yàn)報(bào)告格式21網(wǎng)絡(luò)編程基礎(chǔ)實(shí)訓(xùn)教程1實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)開(kāi)發(fā)一款貪吃蛇游戲程序,熟練掌握C#編程語(yǔ)言、和面向?qū)ο蟪绦蛟O(shè)計(jì)方法,獨(dú)立完成一個(gè)游戲程序的開(kāi)發(fā)。2實(shí)驗(yàn)題目使用C#編程語(yǔ)言,開(kāi)發(fā)一款貪吃蛇游戲,如下圖所示。游戲基本功能描述如下:1)游戲場(chǎng)地是一片矩形區(qū)域的草坪。21網(wǎng)絡(luò)編程基礎(chǔ)實(shí)訓(xùn)教程1)一條蛇由蛇頭和蛇身組成。2)當(dāng)游戲開(kāi)始之后,草坪中出現(xiàn)一顆豆

2、和一條蛇,并且蛇不停地移動(dòng),蛇移動(dòng)的方向與蛇頭的方向一致。3)當(dāng)蛇移動(dòng)時(shí),玩家使用“↑”、“↓”、“←”和“→”四個(gè)鍵控制蛇的方向。4)當(dāng)蛇頭與豆的位置重合時(shí),豆被蛇吃掉,同時(shí)在草坪中再生成一顆新的豆,蛇身增加一節(jié)。5)當(dāng)蛇頭碰到草坪四周或蛇身時(shí),蛇立即斃命,游戲結(jié)束。1實(shí)驗(yàn)步驟1.1需求根據(jù)功能描述可知,貪吃蛇游戲的系統(tǒng)結(jié)構(gòu)圖如下所示。定義數(shù)據(jù)字典如下:1)草坪(Lawn):草坪是貪吃蛇游戲的場(chǎng)地。豆和蛇只能存在于草坪范圍之內(nèi)。草坪具有大小和顏色等屬性。2)蛇(Snake):在貪吃蛇游戲中,蛇由若干節(jié)組成,其中第一節(jié)是蛇頭,其余是蛇身。在游戲過(guò)程中,有且僅有一條21網(wǎng)絡(luò)編

3、程基礎(chǔ)實(shí)訓(xùn)教程蛇,并且蛇在不停地移動(dòng)。如果蛇吃了豆,則蛇生長(zhǎng)一節(jié)。如果蛇頭碰到蛇身或離開(kāi)草坪,則蛇死亡游戲結(jié)束。蛇具有長(zhǎng)度、顏色、運(yùn)動(dòng)方向、每一節(jié)的位置等屬性。1)豆(Bean):在貪吃蛇游戲中,豆是蛇的食物。在游戲過(guò)程中,有且僅有一顆豆。如果蛇吃了豆,則重新生成一顆豆。豆具有位置、大小和顏色等屬性。1.1設(shè)計(jì)根據(jù)需求分析可知,Snake的每一節(jié)都有位置和大小等屬性。而B(niǎo)ean也具有這兩個(gè)屬性。抽象出二者的共同特征,抽象出一般類(lèi)Block,用于描述一個(gè)塊。Block派生出Bean和SnakeBlock兩個(gè)類(lèi),其中SnakeBlock類(lèi)用于描述蛇的一節(jié)。為了使游戲的運(yùn)行更易于

4、控制,定義Game類(lèi)用于啟動(dòng)、暫停和繼續(xù)游戲。根據(jù)需求分析可知,Lawn僅包含大小和顏色兩個(gè)屬性。為了減少類(lèi)的數(shù)量,可將其大小和顏色等屬性添加到Game類(lèi)中。綜上所述,在貪吃蛇游戲中,有Block(塊)、Bean(豆)、SankeBlock(節(jié))、Snake(蛇)、Game(游戲)和MainForm(用戶(hù)接口)六個(gè)類(lèi)。貪吃蛇游戲的邏輯模型如下圖所示。21網(wǎng)絡(luò)編程基礎(chǔ)實(shí)訓(xùn)教程MainFormGameBlockBeanSnakeBlockSnake1.1編碼1.1.1Block(塊)類(lèi)編碼Block是用來(lái)構(gòu)成Bean(豆)和Snake(蛇)的最基本的單位,是Bean和Snake

5、Block的基類(lèi)。Block類(lèi)的參考代碼如下。usingSystem;usingSystem.Drawing;namespaceHungrySnake{classBlock{protectedPointorigion;//Block的左上頂點(diǎn)publicconstintWIDTH=10;//Block的寬度publicconstintHEIGHT=10;//Block的高度protectedColorcolor;//Block的顏色publicBlock(){origion=newPoint(0,0);color=newColor();}21網(wǎng)絡(luò)編程基礎(chǔ)實(shí)訓(xùn)教程public

6、Block(intx,inty,Color_color){origion=newPoint(x,y);color=_color;}publicPointOrigion{get{returnorigion;}}publicvoidDisplay(Graphicsg){SolidBrushbrush=newSolidBrush(color);g.FillRectangle(brush,origion.X,origion.Y,WIDTH,HEIGHT);Penpen=newPen(Color.Black);g.DrawRectangle(pen,newRectangle(orig

7、ion.X,origion.Y,WIDTH-1,HEIGHT-1));}publicvoidClear(Graphicsg,ColorbackGroundColor){SolidBrushbrush=newSolidBrush(backGroundColor);g.FillRectangle(brush,origion.X,origion.Y,WIDTH,HEIGHT);}}}1.1.1Bean(豆)類(lèi)編碼Bean表示豆,是由Block派生而來(lái)的。Bean類(lèi)的參考代碼如下。usingSystem;usingSyst

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。