“大魚吃小魚”課程設(shè)計(jì) 報(bào)告
《“大魚吃小魚”課程設(shè)計(jì) 報(bào)告》由會(huì)員分享,可在線閱讀,更多相關(guān)《“大魚吃小魚”課程設(shè)計(jì) 報(bào)告(14頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、計(jì)算機(jī)與信息工程系面向?qū)﹀璩绦蛟O(shè)計(jì)課程設(shè)計(jì)報(bào)告學(xué)號(hào)12080202112013-2014學(xué)年第二學(xué)期面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)報(bào)告網(wǎng)絡(luò)工程12管蔚雄題目: 專業(yè): 班級(jí): 姓名: 指導(dǎo)教師: 成績:大魚吃小魚網(wǎng)絡(luò)工程徐寧計(jì)算機(jī)與信息工程系2014年6月6日目錄第一章 設(shè)計(jì)的目的與要求21.1設(shè)計(jì)目的21.2設(shè)計(jì)要求21.3實(shí)現(xiàn)功能21.4界面設(shè)計(jì)2第二章開發(fā)平臺(tái)與技術(shù)32.1java 語言32e2greenfoot42.3環(huán)境配置5第三章模塊具體實(shí)現(xiàn)禾口主要?jiǎng)赢嬘|發(fā)7小結(jié)8參考文獻(xiàn)8附錄9計(jì)算機(jī)與信息工程系面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)報(bào)告大魚吃小魚第一章設(shè)計(jì)目的與要求1.1設(shè)計(jì)目的通過用greenf
2、oot來設(shè)計(jì)“大魚吃小魚”這個(gè)游戲,來熟悉 并學(xué)會(huì)運(yùn)用greenfoot這個(gè)軟件的同時(shí)鞏固我們專業(yè)課java知識(shí)。1.2設(shè)計(jì)要求1.熟悉GreenFoot平臺(tái);2 對(duì)游戲中所需類進(jìn)行設(shè)計(jì);3 寫出源程序文件;4.對(duì)游戲進(jìn)行調(diào)試和分析。1. 3實(shí)現(xiàn)功能敵方有三類魚(鯊魚、藍(lán)魚和小黃魚),每一類魚的對(duì)象出現(xiàn)后,在游戲中 處于隨機(jī)自由移動(dòng)狀態(tài),敵方大魚能吃小魚;主角為紅魚且紅魚只有一條,玩家 通過鍵盤方向鍵控制移動(dòng),紅魚有兩級(jí)狀態(tài),初始時(shí)處于低級(jí)狀態(tài),只能吃黃魚, 能被藍(lán)魚或鯊魚吃掉。初級(jí)狀態(tài)的紅魚經(jīng)過重重險(xiǎn)惡且吃掉一定數(shù)量的黃魚升級(jí) 后,能吃黃魚和藍(lán)魚,但還是能被鯊魚吃。吃掉一定數(shù)量的魚,則顯示成
3、功信息,結(jié)束游戲;若紅魚被鯊魚或藍(lán)魚吃掉, 則顯示失敗信息。1.4界面設(shè)計(jì)紅魚是主角,玩家通過鍵盤方向鍵控制移動(dòng),紅魚有兩級(jí)狀態(tài):初級(jí)狀態(tài)只 能吃小黃魚,會(huì)被藍(lán)魚和鯊魚吃掉;吃掉20條小黃魚后回升級(jí)即長大,能吃掉 藍(lán)魚,但還是能被鯊魚吃掉。紅魚升級(jí)后,吃黃魚數(shù)量達(dá)到40,藍(lán)魚數(shù)量達(dá)到 20,顯示成功信息,結(jié)束游戲;若紅魚被鯊魚或藍(lán)魚吃掉,顯示失敗信息。敵方大魚能吃小魚,即鯊魚吃藍(lán)魚和黃魚,藍(lán)魚吃黃魚。第二章開發(fā)平臺(tái)和技術(shù)2. 1 Java 語言簡單性:Java最初是為對(duì)家用電器進(jìn)行集成控制而設(shè)計(jì)的一種語言,因此它必 須簡單明了。Java語言的簡單性主要體現(xiàn)在以下三個(gè)方面:Java的風(fēng)格類似于C
4、+,但是Java摒棄了 C+中容易引發(fā)程序錯(cuò)誤的地方,如 指針和內(nèi)存管理。Java提供了豐富的類庫。Java自身的基本系統(tǒng)所占用空間小于250KB (即編譯器和解釋器),它實(shí)現(xiàn)了垃 圾自動(dòng)收集,簡化了內(nèi)存的管理工作??煽啃院桶踩裕篔ava不支持指針,這杜絕了內(nèi)存的非法訪問。Java的自動(dòng)單元收集防止了內(nèi)存丟失等動(dòng)態(tài)內(nèi)存分配導(dǎo)致的問題。Java解釋器運(yùn)行時(shí)實(shí)施檢査,可以發(fā)現(xiàn)數(shù)組和宇符串訪問的越界;Java提供了異 常處理機(jī)制,以便從錯(cuò)誤處理任務(wù)恢復(fù)。Java通過自己的安全機(jī)制防止了病毒程序的產(chǎn)生和下載程序?qū)Ρ镜叵到y(tǒng)的威脅 破壞。當(dāng)Java字節(jié)碼進(jìn)進(jìn)入解釋器時(shí),首先必須經(jīng)過字節(jié)碼校驗(yàn)器的檢査,然
5、后 Java解釋器將決定程序中類的內(nèi)存布局,隨后,類裝載器負(fù)責(zé)把來自網(wǎng)絡(luò)的類 裝載到單獨(dú)的內(nèi)存區(qū)域??缙脚_(tái)性:面向?qū)ο螅喊殉绦驅(qū)崿F(xiàn)的每一個(gè)具體功能作為類,然后用類來構(gòu)成對(duì)象。 優(yōu)點(diǎn)是代碼可重用、系統(tǒng)易擴(kuò)展。多線程:通過使用多線程,程序設(shè)計(jì)者可以分別用不同的線程完成特定的行為, 提高系統(tǒng)的運(yùn)行效率。分布性:分布式包括數(shù)據(jù)分布和操作分布。數(shù)據(jù)分布是指數(shù)據(jù)可以分散在網(wǎng)絡(luò)的 不同主機(jī)上;操作分布是指把一個(gè)計(jì)算分散在不同主機(jī)上處理。它支持以上兩種 分布性。對(duì)前者,Java提供了一個(gè)叫做URL的對(duì)象,利用這個(gè)對(duì)象,可以訪問Internet 上的所有網(wǎng)絡(luò)資源;對(duì)于后者,Java提供的基于流套接字的網(wǎng)絡(luò)編程接
6、口,為 實(shí)現(xiàn)網(wǎng)絡(luò)的應(yīng)用和Web應(yīng)用提供了方便。豐富的類庫和API文檔2.2 GreenFootGreenfoot是由肯特大學(xué)的Michael和Martin開發(fā)的一款游戲程序設(shè)計(jì)平 臺(tái),主要用于程序設(shè)計(jì)的輔助教學(xué)。它是一個(gè)功能完整的開發(fā)環(huán)境,可以方便地 編寫游戲和進(jìn)行游戲模擬。Greenfoot也可看做是一個(gè)二維圖形程序框架和集成 開發(fā)環(huán)境的結(jié)合體,它支持面向?qū)ο蟪绦蛟O(shè)計(jì)的全部特性,特別適;合進(jìn)行基于 組件的可視化編程。Greenfoot具備以卜幾個(gè)特點(diǎn):(1) 可視化程序設(shè)計(jì)界面(2) 游戲案例作為項(xiàng)目單元(3) 良好的社區(qū)支持2.3環(huán)境配置開發(fā)運(yùn)行環(huán)境:JDK (Java Developme
7、nt Kit) + 文本編輯器(UltraEdit )JDK是java開發(fā)工具包,包括java類庫、java編譯器、java解釋器、java 運(yùn)行環(huán)境和java命令行工具。http:/www oracle. com/technetwork/java/javase/downloads/index html IDE:集成開發(fā)工具JCreator (Xinox)www. jcreator. comJBuilder (Borland)www. borland com/jbuiIder/Visual J+(Microsoft)VisualAge forJava(IBM)www-3 ibm com/sof
8、tware/vajava/about/index htmlNetBeanswww. netbeans orgEclipsehttp:/www eclipse org/downloadsJava SE Development Kit 7ufi1Yom muni McetM th Ofew iHnnmI tcmiM Mreement fat- i to oowmgd tht*oftwar*.you for accept mg the Oracle flinary Cod*foe Java S: you may nowdownload this sortwatvuProduct i r” D scr
9、ipt ionOowtiKMHlLinuc ARM yOiVT Horn Float abi67 F M |UklinuM irn vfp hVitMrgrLlHUt ARM90ft FIO41 Afil67MMB Klk-ZuM 4tnux4irm vtp nLlav.9Linut dk 7u51 nwiCMx xM.1 “oiiHgS84506Jnr.grSol arts .C4 (SVR424 53 MO曼 1k TuM WCUKif|.x644ftfZSolans.16 28MD |dk FuS1 &cjdk MUinw BtMSolans 9PARCea 19 MB llk ?m5T
10、 olwns |Mc4Ar.Q*$Ola4tS SPARC 6a mi (SVR423 94 MB |1k Zu&1nparcvO.tArSotans SPARCIfl 33 MB Klk /u51sotann S|xncvO.Utt.g/Windows EO04 MB曼 |dk-?u5i -windowflk45S0,ex4Windows lte Fu51JDK的安裝安裝:和一般應(yīng)用程序相似,有向?qū)е敢?。Java(TK) SE Development Kit 6 Update 5-自定義安裝區(qū)自定義安裝選擇要安裝的程期能-安裝到:功能說明JavafTM) SE Deveopment Kit
11、6Update 5 包括專用JRE 6Update 5.這將需要300 MB的 硬盤驅(qū)動(dòng)器空間.D:3avajok上一步下一步(LD a 辭著珈g癘険圖驚安裝完如您犧使用控制面板沖的添如9環(huán)境變量的設(shè)置:Path使得系統(tǒng)可以在任何路徑下識(shí)別java命令。Classpath 為 java 加載類(class or lib)路徑,只有類在 classpath 中,java 命令才能識(shí)別。JDK的安裝路徑:C:Javajdkpath 路徑為:C:Javajdkbinclasspath 路徑為:.;C:JavajdklibGreenfoot 安裝:Greenfoot軟件直接在自己的pc機(jī)上安裝即可用。
12、第三章模塊具體實(shí)現(xiàn)和主要?jiǎng)赢嬘|發(fā)涉及的類及類名本實(shí)驗(yàn)中world類中有一個(gè)子類sea, actor類中有十個(gè)子類,分別是主角 類即紅魚類Redfish,黃魚兩個(gè)類yellowfishl與yellowfish2,藍(lán)魚兩個(gè)類 bluefishl 與 bluefish2,鯊魚類 shark,水泡類 blister, 一個(gè)計(jì)數(shù)器 Counter, 一個(gè) Scoreboard, 一個(gè) successo各類實(shí)現(xiàn)的效果sea類:添加了一個(gè)紅魚的對(duì)象即主角;計(jì)數(shù)器的兩個(gè)對(duì)象分別是用于計(jì)數(shù)吃掉 黃魚的數(shù)量和吃掉藍(lán)魚的數(shù)量;黃魚與藍(lán)魚在世界里處于隨機(jī)出現(xiàn)自由移動(dòng)狀 態(tài);實(shí)現(xiàn)計(jì)數(shù)器加一的方法;游戲結(jié)束的方法;游戲成
13、功的方法;背景音樂循環(huán) 播放。Redfish類:紅魚設(shè)置四種狀態(tài),在構(gòu)造方法中設(shè)置了其初始狀態(tài),然后通過if 判斷語句來限制它的狀態(tài);在act方法中設(shè)置了關(guān)聯(lián)鍵盤向左移游戲動(dòng)作;吃黃 魚藍(lán)魚動(dòng)作,具體實(shí)現(xiàn)通過if語句控制;魚升級(jí)及游戲成功也是在act方法中 用if語句來限定。yellowfishl與yellowfish2類:黃魚在邊界消失。bluefishl與bluefish2類:藍(lán)魚在邊界消失;在其act方法里設(shè)置了吃黃魚, 通過if語句,并調(diào)用sea類的getCount ()方法,其數(shù)值小于等于20情況下 可以吃紅魚。shark類:鯊魚在邊界消失;在act方法中設(shè)置了吃黃魚,藍(lán)魚,紅魚,并
14、且當(dāng) 吃到紅魚,游戲結(jié)束,調(diào)用sea類的gameover方法。blister類:水泡在邊界消失。 ScoreBoard與success類:主要是繪制分?jǐn)?shù)界面背景。Counter類:用于計(jì)數(shù)的類。小結(jié)此次課程設(shè)計(jì),使我更扎實(shí)的掌握了本學(xué)期專業(yè)課java知識(shí)。當(dāng)然,設(shè)計(jì) 過程中遇到了一些困難和問題,實(shí)在想不出來的問同學(xué)或請教老師,終于游逆而 解。課程設(shè)計(jì)體現(xiàn)出自己綜合運(yùn)用知識(shí)的能力,體會(huì)了學(xué)以致用、突出自己勞動(dòng) 成果的喜悅心情,從中發(fā)現(xiàn)自己平時(shí)學(xué)習(xí)的不足和薄弱之處。實(shí)踐出真知,通過親自設(shè)計(jì),使我們掌握的知識(shí)不再是是紙上談兵。說實(shí)話, 本次課程設(shè)計(jì)花了不少時(shí)間,時(shí)間主要花在游戲設(shè)計(jì)即代碼上,游戲做好
15、后,感 覺所花時(shí)間是值得的,個(gè)人對(duì)自己設(shè)計(jì)游戲較滿意,雖然不是做得那么精致,還 存在些許需要改進(jìn)的地方,我想以后有機(jī)會(huì)繼續(xù)完善它。我認(rèn)為,在這次課程設(shè)計(jì)中,不僅培養(yǎng)了獨(dú)立思考、動(dòng)手操作的能力,在各 種其它能力上也都有了提高。更重耍的是,在實(shí)驗(yàn)中,我學(xué)會(huì)了很多學(xué)習(xí)的方法。 而這是日后最實(shí)用的,真的是受益匪淺。要面對(duì)社會(huì)的挑戰(zhàn),只有不斷的學(xué)習(xí)、 實(shí)踐,再學(xué)習(xí)、再實(shí)踐。這對(duì)于我們的將來也有很大的幫助。以后,不管有多苦, 我想我們都能變苦為樂,找尋有趣的事情,發(fā)現(xiàn)其中珍貴的事情。就像中國提倡 的艱苦奮斗一樣,我們都可以在實(shí)驗(yàn)結(jié)束之后變的更加成熟,會(huì)面對(duì)需要面對(duì)的 事情。此次設(shè)計(jì)也讓我明白了思路即出路,
16、有什么不懂不明白的地方要及時(shí)請教 或上網(wǎng)查詢,只要認(rèn)真鉆研,動(dòng)腦思考,動(dòng)手實(shí)踐,就沒有弄不懂的知識(shí)。參考文獻(xiàn):Greenfoot官方網(wǎng)站;Java程序設(shè)計(jì)教程(牛曉太主編)。附錄:(部分代碼)sea 類:import greenfoot.*;public class sea extends WorldCounter mycounter;Counter mycounterl;GreenfootSound music; public seaOsuper (800, 600, 1);addObject(new Redfish 0,400, 300);mycou nt er=new Cou nt er
17、 (吃掉的 yellowfish 數(shù)量:“); mycounterl=new Counter (z,吃掉的 blue 數(shù)量:“); addObject(mycounter, 100, 20);addObject(mycounterl, 300, 20); music=new Greenf oot Sound (z,jus tin bieber - mis tleto e. mp3);public void act () music. playLoop ();if(Greenfoot. getRandomNumber (100)3)addObject(new yellowfishl(), 0,
18、Greenfoot, getRandomNumber(600); addObject(new yellowfish2(), 800, Greenfoot. getRandomNumber (600);if(Greenfoot. getRandomNumber (100)20 ) setlmdge(oldR) ;else setlmage(smallR) ; move(5) ;if(Greenfoot. isKeyDown(left)if (sea) getWorld (). getCount () 20 ) 計(jì)算機(jī)與信息工程系面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)報(bào)告setlmage(oldL) ;else
19、 setlmage(smallL) ; move (-5);if(Greenfoot. isKeyDown(up)setLocation (getX (), getY () -5);if(Greenfoot. isKeyDown(dowrT)setLocation (getX(), getY () +5);if (sea)getWorld(). getCount ()20 )if (ge tl mage () =smallL) setlmage(oldL) ;if (getImage()=smallR) setlmage(oldR) ;getbluefish 0;getyellowfish()
20、;if (sea) getWorld (). getCount () 40& (sea) getWorld (). getCount 1 () 20) Green foot, sto p();(sea) get World (). music, stop ();(sea) getWorld (). gameWin ();public void getyellowfishOyellowfishlyellowl=(yellowfishl)getOnelntersectingObject(yellowfishl. class); yellowfish2yellow2=(ye11owfish2)get
21、OnelntersectingObject (yellowfish2 class); if(yellowl!=null)Greenfoot. playSound (z/pop. wav);yellowl. disappear 0 ;(sea) get World () cou nt Change ();if(yellow2!=null)Greenfoot. playSound (zzpop. wavzz);yellow2. disappear 0;(sea) get World () cou nt Change ();public void getbluefishO bluefishlblue
22、l=(bluefishl)getOnelntersectingObject(bluefishl. class); bluefish2blue2=(bluefish2)getOnelntersectingObject(bluefish2. class); if(bluel!=null)bluel. disappear 0;Greenfoot. playSound (zzeating. wav); (sea) get World (). cou nt Changel ();if(blue2!=null)blue2. disappear 0;Greenfoot. playSound (z,eating. wav); (sea) get World (). cou nt Changel ();11
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二月二來歷課件
- 炎黃國醫(yī)館市場推廣方案
- 醫(yī)患關(guān)系醫(yī)學(xué)知識(shí)
- 通信行業(yè)營業(yè)廳現(xiàn)場管理
- 北師大版數(shù)學(xué)五年級(jí)下冊《展開與折疊》PPT課件之二(教育精品)
- 工廠精益物流
- 統(tǒng)計(jì)過程控制培訓(xùn)
- 北師大數(shù)學(xué)八年級(jí)下冊第五章分式與分式方程認(rèn)識(shí)分式1(教育精品)
- 初中地理課件-東南亞(教育精品)
- 二輪專題復(fù)習(xí)-中國近代化的歷程
- 國際服務(wù)貿(mào)易的理論和政策
- 國際工業(yè)合作與科技發(fā)展
- 《諫太宗十思疏》課件
- 質(zhì)量體系過程
- 財(cái)務(wù)金融分析師-銷售關(guān)系管理