




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、棗莊學院信息科學與工程學院課程設計任務書題目貪吃蛇小程序的設計與開發(fā)學 號:姓 名:專 業(yè):計算機科學與技術(shù)課 程:java程序設計指導教師: 職稱: 講師完成時間: 2012年 5月-2012年 6月棗莊學院信息科學與工程學院制課程設計任務書及成績評定課程設計的任務和具體要求1、課程設計的任務:利用所學知識開發(fā)一個 java貪吃蛇小游戲;2、課程設計的具體要求:(1)界面美觀大方,操作簡單便捷,按鍵布局美觀。(2)實現(xiàn)貪吃蛇游戲的左右拐彎,增長等基本游戲功能。(3)程序能正確運行,操作無錯誤。(4)要求所撰寫的課程設計任務書的內(nèi)容和格式符合要求。指導教師簽字:_日期:_指導教師評語成績: 指
2、導教師簽字: 日期: 課程設計所需軟件、硬件等硬件 CPU : In tel T2080D-0內(nèi)存:2G硬盤空間:320G軟件操作系統(tǒng):Windows XP開發(fā)軟件:jdk eclips課程設計進度計劃起至日期工作內(nèi)容備注2012.5.1 5.152012.6.1 6.102012.6.11 6.152012.6.16- 6.20確定課題并收集資料 整體規(guī)劃并進行初步定位 編寫程序代碼并進行試驗撰寫課程設計任務書參考文獻、資料索引序號文獻、資料名稱編著者出版單位1 Java語言程序設計(第二版)李尊朝,蘇軍 中國鐵道出版社2 java大學基礎(chǔ)教程(第六版)劉曉莉電子工業(yè)出版社3 Java編程思
3、想(第四版)埃史爾(美),譯者:陳昊鵬 機械工業(yè)出 版社3目錄第 1 章 引言 11.1 研究的背景 11.2 研究目的和意義 1第 2 章 設計方案論證 . 22.1 設計思路 22.2 概要設計 22.3 詳細設計 3第 3章 設計結(jié)果與分析 7第 4章 心得體會 . 9附錄 試驗代碼 10第1章引言1.1研究的背景JAVA程序設計是計算機相關(guān)專業(yè)的必修專業(yè)基礎(chǔ)課程,其實踐性、應 用性很強。實踐教學環(huán)節(jié)是必不可少的一個重要環(huán)節(jié)。本課程的程序設計專題 實際是計算機相關(guān)專業(yè)學生學習完JAVA程序設計課程后,進行的一次全面 的綜合訓練,JAVA程序設計的設計目的是加深對理論教學內(nèi)容的理解和掌握,
4、 使學生較系統(tǒng)地掌握程序設計及其在網(wǎng)絡開發(fā)中的廣泛應用,基本方法及技巧,為學生綜合運用所學知識,利用軟件工程為基礎(chǔ)進行軟件開發(fā)、并在實踐應用 方面打下一定基礎(chǔ)。1.2研究目的和意義這次課程設計是通過JAVA編程來實現(xiàn)計算器的功能。以前,人們用來計算 的工具不管從方便的角度還是速度的角度來看都不及現(xiàn)代計算器,計算器的發(fā) 明是人類進步的有力證明。電子技術(shù)的不斷發(fā)展使得計算器的功能不斷的完善。 人們通過使用計算器來提高自己的工作效率,計算器是高科技的產(chǎn)物,是以往 任何時代都無法比擬的。在二十一世紀的今天,計算器依然是人們重要的計算 工具,所以,對計算器的研究的課程設計具有重大意義。本次課程設計題目主
5、要應用到JAVA面向?qū)ο蟪绦蛟O計語言中Swing組件和 GUI(圖形用戶界面)當中的一些知識,當然也用到JAVA中大部分基礎(chǔ)知識,如 JAVA的基本控制結(jié)構(gòu)、數(shù)組、輸入與輸出等等 。13第2章設計方案論證2.1設計思路貪吃蛇游戲設計與實現(xiàn),主要分為以下二個模塊:游戲主界面模塊和游戲 控制模塊。在此只實現(xiàn)游戲的游戲主界面模塊、游戲控制模塊。并且只是實現(xiàn) 移動速度、暫停、重新開始等功能。游戲主界面模塊:游戲的主界面是進入游戲后,能夠給玩家第一感官的部分,主要包括游戲 圖形區(qū)域界面、游戲的速度選擇更新界面、新生方塊的預覽、游戲速度控制按 鈕、暫停游戲按鈕、重新開始游戲按鈕以及游戲排行榜按鈕。從很大程
6、度上決 定了玩家對游戲的興趣問題,因此,游戲的主界面應該力求美觀,爽心悅目。 游戲控制模塊:這個模塊是游戲的中心環(huán)節(jié),主要完成控制游戲的速度、暫停、重新開始 等功能。為了能夠給玩家一個很好的游戲環(huán)境,這部分應該做到易懂、易操作。本設計所開發(fā)的是基于Java的一個貪吃蛇游戲軟件,主要實現(xiàn)游戲的速度 控制、游戲的暫停、游戲的退出等功能,分為:游戲主界面模塊、游戲控制模 塊以二個模塊。性能:本軟件在設計方面本著方便、實用及娛樂性高的宗旨,在對界面進行設計 的過程中,始終堅持清晰明了,在性能方面能夠?qū)崿F(xiàn)效率高,不易出錯等優(yōu)點。2.2概要設計自定義類說明類名:Exception作用:用來處理當蛇撞到墻或
7、自己的身體時程序的運行繼承的父類:GreedS nake類實現(xiàn)的接口:沒有2.3詳細設計2.3.1程序流程圖本次游戲設計的處理流程如圖2-1所示鍵盤操作左移右移向下t向上沒有吃到 食物且蛇 碰到邊界游戲中途欲 中斷,稍后 繼續(xù)游戲單擊“確定”游戲結(jié)束圖2-1游戲處理流程232程序概述本程序是一個利用Java應用軟件制作的貪食蛇小游戲。在游戲過程中,用戶通過點擊小鍵盤區(qū)的方向鍵來控制蛇的運行方向;通 過Pageup和pagedown鍵來控制蛇的移動速度,每單擊一次,蛇的移動速度改 變一次,改變頻率為0.75。游戲運行過程中,如果想暫停,只需要按 Space或 P鍵即可。重新開始游戲的按鍵為 En
8、ter、S或R。當蛇沒有吃到食物且碰到墻 壁或自己的身體時游戲結(jié)束。本程序的另一個功能是在程序運行窗口的左上角顯示,用戶在游戲過程中 所得的分數(shù),不過缺點是無法保存分數(shù)。233總設計模塊的劃分根據(jù)游戲需求中游戲所要實現(xiàn)的功能,整個游戲分為二個模塊進行具體的 設計,如圖2-2所示。貪吃蛇游戲游戲主界面模塊游戲控制模塊圖2-2游戲總設計模塊游戲控制模塊的主要框架如圖2-3所示圖2-3游戲控制模塊框架游戲移動速度功能控制:點擊“ PageUp, PageDown按鈕,蛇的移動速度就會 改變,每點擊一次,速度的改變頻率為 0.75。游戲暫??刂疲狐c擊“ Space或P暫停游戲”按鈕,游戲暫停;再單擊,
9、游戲 繼續(xù)。游戲重新開始控制:點擊“ Enter、S或R'鍵后,系統(tǒng)圖重新載入,即游戲重 新開始。2.3.4類、方法、屬性說明1 成員變量表1主要成員變量(屬性)成員變量描述變量類型名稱文件菜單中子菜 單“新建”JMe nultemmFile_New編輯菜單中子菜 單“撤消”JMe nultemmEdit_U ndo格式菜單中子菜 單“顏色”JMe nuformatMe nu _Color幫助菜單中子菜 單“幫助主題”Men ultemmHelp_HelpTopics2方法表2主要方法方法名功能備注Notepad4()描述記事本無Text.setBackgro un d(Color.w
10、hite)設置編輯區(qū)默 認背景色無Text.setForegro un d(Color.black)設置編輯區(qū)默 認前景色無第3章設計結(jié)果與分析本程序在運行后,能夠正常的相應按鍵事件。由于程序的主要部分已經(jīng)集 成為一個對象SnakeModel,所以利用鍵盤就可以實現(xiàn)操作。蛇前行的過程中, 可以任意向其左或右方向改變方向,但按其前進方向和前進的反方向都沒有反 應。點擊PageUp, PageDown®后,蛇的移動速度會根據(jù)點擊的次數(shù)而改變。每 點擊一次,速度的改變頻率為0.75。點擊Space或P鍵后游戲就暫停了。點擊 Enter或R或S鍵后系統(tǒng)則重新載入,即游戲重新開始。運行結(jié)果如圖
11、 3-1所 示:圖3-1程序運行圖當蛇沒有吃到食物且碰到邊界或碰撞到自己的身體時,游戲結(jié)束,此時得 分為0。如果想重新開始即按ENTERS S鍵,運行結(jié)果如圖3-2所示:魚 Greed Snake | u | 回SS Score: 0PageUp, PageDowngf 控制凍席;ENTERgRRHjjSfit 為開怕龍;SPACE或P鍵為暫侮鍵圖3-2程序結(jié)束圖程序異常處理Excepti on在蛇的運行線程過程中,當蛇撞到墻或自己的身體時,將拋出一個類的異常對象,然后使用try-catch 去捕捉這個異常,異常的處理如下:tryThread.sleep(time In terval); ca
12、tch(Excepti on e)break;第4章心得體會通過這次課程設計,我對這學期所學的JAVA語言程序設計有一個更深刻的了解,將所學的知識應用于實踐,由于所學知識有限,為了使游戲 能夠?qū)崿F(xiàn)自己預先的構(gòu)想,我通過上網(wǎng)和去圖書館找程序,比較好的流程圖及功能模塊,不斷閱讀修改代碼使程序達到預期所要實現(xiàn)的目標,完成課程設計后,可以感覺到自己對Java程序的又有了新的認識。在做Java設計之前也有做過其他的課程設計,大多規(guī)模很小。在數(shù)據(jù)庫、 各種應用軟件和游戲中,我仍覺得對游戲的設計有極大的熱情。因為其各個模 塊間的聯(lián)系十分緊密,代碼重復執(zhí)行率高,當經(jīng)過無數(shù)次的調(diào)試、修改后,能 最終看到成品,有
13、無比自豪的心情。大學期間做過圖書館管理程序等簡單的數(shù) 據(jù)庫管理系統(tǒng)的課程設計,思想大致相似,變化范圍有限,沒有太多自己可發(fā) 揮的余地。綜合運用以前所學習的知識,設計一個 JAVA手機游戲,并能實現(xiàn)以 下的功能:游戲暫停、游戲重新開始、游戲的結(jié)束??傊ㄟ^本次的課程設 計,使我平時學到的理論知識得到了很好地升華,理論與實際得到一次很好的 結(jié)合,為我今后參加工作打下了堅實的基礎(chǔ),使我受益匪淺。附錄試驗代碼import java.awt.*;import javax.swi ng.*;import java.awt.eve nt.*;import java.util.*;public class
14、Sn akeGame exte nds JFrame impleme nts KeyListe nerprivate int stat=1,directi on=0,bodyle n=6,headx=7,heady=8, tailx=1,taily=8,tail,foodx,foody,food; 初始化定義變量 public final int EAST=1,WEST=2,SOUTH=3,NORTH=4;方向常量in t fillblock=new in t 2020;定義蛇身所占位置public SnakeGame() / 構(gòu)造函數(shù)super(”貪吃蛇");setSize(510
15、,510);setVisible(true);/ 設定窗口屬性addKeyListener(this);/ 添加監(jiān)聽setDefaultCloseOperatio n( JFrame.EXIT_ON_CLOSE);for(int i=1;i<=7;i+) fillblocki8=EAST;初始化蛇身屬性direction=EAST;方向初始化的設置FoodLocate(); / 定位食物while (stat=1)fillblockheadxheady=direct ion;switch(directio n)case 1:headx+;break;case 2:headx-;break
16、;case 3:heady+;break;case 4:heady-;break; 蛇頭的前進if(heady>19|headx>19|tailx>19 |ta ily>19|heady<0|headx<0|tailx<0|taily<0|fillblockheadxhe ady!=0)stat=0;break; /判斷游戲是否結(jié)束 tryThread.sleep(150); catch(lnterruptedException e)/ 延遲fillblockheadxheady=direct ion;if(headx=foodx&&am
17、p;heady=foody)/吃到食物FoodLocate();food=2;tryThread.sleep(100); catch(InterruptedException e)/ 延遲if(food!=0)food-;elsetail=fillblocktailxtaily;fillblockta il xtaily=0;蛇尾的消除switch(tail)case 1:tailx+;break;case 2:tailx-;break;case 3:taily+;break;case 4:taily-;break;/蛇尾的前進repa in t();if(stat=0)JOptio nPan
18、 e.showMessageDialog( null,"GAME OVER","GameOver",JOptio nPa neNFORMATION_MESSAGE);public void keyPressed(KeyEvent e) / 按鍵響應int keyCode=e.getKeyCode();if(stat=1) switch(keyCode)case KeyEve nt.VK_UP:if(directio n!=SOUTH) directio n=NORTH;break;case KeyEve nt.VK_DOWN:if(directio n!=NORTH)directi on=SOUTH;break;case KeyEve nt.VK_LEFT:if(directio n!=EAST)directi on=
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 初中數(shù)學省級課題申報書
- 寧波課題立項申報書
- 生物小課題立項申報書
- 藝術(shù)規(guī)劃課題申報書范本
- 風濕課題申報書
- 賣車位定金合同范本
- 行為習慣養(yǎng)成課題申報書
- 合同范本文化傳播
- 課題成果申報書范文
- 精準教學 課題申報書
- 陳銀子礦山基建施工組織方案方案
- 襄陽房地產(chǎn)市場月報2024年08月
- 新版人音版小學音樂一年級下冊全冊教案
- 工業(yè)互聯(lián)網(wǎng)平臺的架構(gòu)與功能
- 八年級英語下冊課件教學
- 人教版(2019) 必修第二冊 Unit 1 Cultural Heritage Discovering Useful Structures(教案)
- hidlibrary使用操作手冊
- 陳獨秀生平事跡
- 2024年人教版初三數(shù)學(下冊)模擬試卷及答案(各版本)
- 《大學美育》高職全套教學課件
- 醫(yī)院CT機房裝飾改造工程施工組織設計
評論
0/150
提交評論