JAVA課程設計打磚塊含代碼_第1頁
JAVA課程設計打磚塊含代碼_第2頁
JAVA課程設計打磚塊含代碼_第3頁
JAVA課程設計打磚塊含代碼_第4頁
JAVA課程設計打磚塊含代碼_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、Java程序課程設計任務書一、主要內(nèi)容 打磚塊游戲是一種動作電子游戲的名稱。玩家操作一根螢幕上水平的“棒子”,讓一顆不斷彈來彈去的“球”在撞擊作為過關目標消去的“磚塊”的途中不會落到螢幕底下。球碰到磚塊、棒子與底下以外的三邊會反彈,落到底下會失去一顆球,把磚塊全部消去就可以破關。二、具體要求通過圖形用戶界面(Graphics User Interface,GUI)和線程,使用戶和程序之間可以方便地進行交互。運用Swing組件,編寫小應用程序游戲,加深對Java語言的理解,深入地了解圖形用戶界面的設計,更加熟練地運用編程軟件。功能要求:(1) 游戲運行需鍵盤的操作;(2) 游戲可統(tǒng)計分數(shù);(3)

2、 球落到底下會失去一顆,按ENTER可重新開始。開發(fā)工具:JCreater軟件;開發(fā)技術: J2ME。三、進度安排12月28日:課程設計選題,查找參考資料12月29日: 完成打磚塊游戲程序設計分析12月30日 1月3日: 完成程序代碼的編寫1月4日 1月5日:游戲測試與完善1月6日 1月7日:完成課程設計報告,準備答辯四、主要參考文獻1 (美) 埃克爾著 陳昊鵬,饒若楠等譯. Java編程思想J. 機械工業(yè)出版社,20052(美)Gary J.Bronson著 張瓏 劉雅文譯. Java編程原理J. 清華大學出版社,20043(美)Michael Morrison著 徐剛,于健,薛雷譯. 游戲

3、編程入門J. 人民郵電出版社,2005.94(美)Wendy Stahler著 馮寶坤,曹英譯. 游戲編程中的數(shù)理應用J. 紅旗出版社,20055(美)克羅夫特(David Wallace Croft)著 彭暉譯. Java游戲高級編程J. 清華大學出版社,20056 (美)David Brackeen著 邱仲潘譯. Java游戲編程J. 科學出版社,20047 聶慶亮編著. Java應用開發(fā)指南J. 清華大學出版社,20108 耿祥義,張躍平編著. Java面向對象程序設計J. 清華大學出版社,20109 楊紹方編著. Java編程實用技術與案例J. 清華大學出版社,2000.1110 明日

4、科技編著. Java編程全能詞典J. 電子工業(yè)出版社,2010摘要隨著Java語言的不斷發(fā)展和壯大,現(xiàn)在的Java已經(jīng)廣泛的應用于各個領域,包括醫(yī)藥,汽車工業(yè),手機行業(yè),游戲,等等地方。Java游戲的開發(fā)為滿足人們娛樂所需而設計。本游戲為打磚塊游戲,是基于Java的圖形用戶界面而開發(fā)的,可以放松心情的小游戲。游戲從系統(tǒng)操作簡便、界面友好、靈活、上手即會的基本要求出發(fā),完成整款游戲的開發(fā)。游戲更設置了暫停、計分、音樂、速度,用戶信息保存等功能,可以根據(jù)自己的愛好,挑戰(zhàn)更高難度,為用戶帶來愉悅的體驗。本課程設計報告介紹了游戲的構想,分析,開發(fā),實現(xiàn)的過程。論述了游戲的功能開發(fā),設計構思。給出了游戲

5、的設計步驟,游戲系統(tǒng)關鍵的設計思想;在游戲系統(tǒng)實現(xiàn)章節(jié)給出了部分功能流程和相關代碼。關鍵詞:游戲,打磚塊 目 錄JAVA程序課程設計任務書II摘要IV目 錄V第1章 引言11.1 背景11.2 課程設計內(nèi)容11.3 任務分工2第二章彈磚塊小游戲應用程序32.1 彈磚塊小游戲應用程序概述32.1.1 打磚塊小游戲系統(tǒng)任務及目的32.2 主要特色系統(tǒng)介紹32.3 本章小結4第3章 打磚塊游戲系統(tǒng)的設計53.1 系統(tǒng)需求分析53.2 系統(tǒng)開發(fā)及運行環(huán)境53.3 系統(tǒng)主要功能要求53.4.1 打磚塊系統(tǒng)總體結構63.4 系統(tǒng)數(shù)據(jù)流圖93.5 本章小結9第4章 系統(tǒng)數(shù)據(jù)庫設計104.1數(shù)據(jù)庫設計過程10

6、4.1需求分析104.2功能實現(xiàn)104.3 本章小結11第5章 系統(tǒng)的具體實現(xiàn)125.1界面設計125.1.1 用戶登錄界面圖125.1.2 游戲主界面135.2程序設計及調(diào)試運行19自動計時195.2.2 在JPanel中畫圖20用戶注冊登錄系統(tǒng)215.2.4 游戲結果的存儲225.3 本章小結23第6章 結束語24致謝25參考文獻26附錄 源代碼27第1章 引言1.1 背景游戲是全球最大的娛樂經(jīng)濟項目之一,已經(jīng)被命名為“第九藝術”。而由“游戲”派生出來的職業(yè),除了軟件開發(fā)外,游戲包裝宣傳推廣、攻略指導、網(wǎng)絡游戲管理員和職業(yè)游戲玩家等,已成為了一系列專門的崗位。面對游戲產(chǎn)業(yè)如此巨大的市場空間

7、,國內(nèi)各大城市紛紛加大了這方面的人才培養(yǎng),中國的游戲人才培訓已隨著游戲行業(yè)的總體發(fā)展開始逐步邁入了正軌。雖然說中國的游戲行業(yè)開始逐步的邁入了正軌,但是現(xiàn)今,游戲人才出現(xiàn)嚴重的瓶頸時期,高校的擴招、金融危機的侵襲直接影響著我們最關心的就業(yè)問題,但是另一方面游戲人才的缺乏又直接制約著行業(yè)的發(fā)展,這就更加嚴格了對社會培訓機構的穩(wěn)定性和正規(guī)性的要求。在我國,游戲人才培養(yǎng)體系還未健全,部分開設了相關專業(yè)的高校,游由于理論和實踐的脫離無法完全滿足網(wǎng)游公司對人才的需求。所以,就中國目前的市場分析來看,加強游戲產(chǎn)業(yè)必須在多渠道人才培養(yǎng)體系上加快突破,盡快建立起多渠道人才培養(yǎng)體系,來滿足社會對游戲人才的需求。1

8、.2 課程設計內(nèi)容打磚塊游戲是一種動作電子游戲的名稱。玩家操作一根螢幕上水平的彈板,讓一顆不斷彈來彈去的“球”在撞擊作為過關目標消去的“磚塊”的途中不會落到螢幕底下。球碰到磚塊、彈板與底下以外的三邊會反彈,落到底下會失去一顆球,把磚塊全部消去就可以破關。游戲的功能包含以下內(nèi)容:(1)基本的游戲操作 用戶可以通過鼠標或者鍵盤來操作彈板,盡量讓彈球不要掉下底下。開始按鈕和暫停按鈕可以控制游戲的進行。(2)寶物獲得功能 用戶在游戲過程中,可能獲得相關的寶物,可以使彈板增長一部分。(3)速度設置功能 本游戲有5個速度設置,可以根據(jù)用戶的需要,調(diào)節(jié)到用戶想要的速度進行游戲。(4)音樂設置功能 用戶可以根

9、據(jù)自己的喜好,選擇自己喜歡的音樂,或者是關掉它。(5)用戶注冊登錄功能每個用戶在游戲開始時都要輸入用戶的信息注冊,登錄,并記錄。當用戶退出游戲以后,系統(tǒng)將記錄用戶的游戲信息。(6)計分,記時功能用戶在游戲的過程中,系統(tǒng)將記錄游戲的成績,并保存在文件中,用戶退出游戲后也可以查詢成績。1.3 任務分工第二章 彈磚塊小游戲應用程序2.1 彈磚塊小游戲應用程序概述此程序設計是一個小游戲(彈磚塊)的實現(xiàn),主要運用了用戶圖形界面,程序接口和基本函數(shù)繪制來實現(xiàn),事件監(jiān)聽(包括鼠標事件,鍵盤事件,響應時間)也是這個程序的特色。此程序用到了圖片的引用,磚塊、彈板應用了函數(shù)繪制和圖片引用,彈球的設計外且安全是應用

10、函數(shù)繪制。游戲還利用JAVA Applet實現(xiàn)了播放聲音。再加入復選框,按鈕,標簽等來實現(xiàn)本游戲用戶界面布局??傊?,本游戲在用戶界面的可操作性、游戲的美觀度、計分計時存儲結果方便都基本完善,有一定的可玩性。 打磚塊小游戲系統(tǒng)任務及目的 此小程序是為群眾閑暇消遣之用,玩家在進入游戲后輸入自己的大名,按游戲規(guī)則用彈球打掉彈板上的全部磚塊,獲得相應的分數(shù),進入下一關,知道全部過關,游戲結束后可記錄玩家分數(shù)及排行榜名次進入游戲界面,一個文本框可以選擇是否記錄游戲這名字,接著是“開始”、“暫?!薄ⅰ爸匦麻_始”按鈕以及四個復選框分別控制背景音樂、速度、模型和關卡,還有四標簽記錄時間、生命分數(shù)和排行榜數(shù)據(jù)。

11、2.2 主要特色系統(tǒng)介紹游戲增加了背景音樂以及碰撞音樂的設置,并用圖片代替了純粹用函數(shù)構造出的磚塊,使玩家在使用此程序時更加能體驗到樂趣。自主選關、模式選擇和速度選擇給了玩家更多的自主機動性,使得玩家可以根據(jù)自己的意愿來設定游戲難度,排行榜功能也是特色之一,玩家可以根據(jù)排行榜來了解自己玩的如何,可以有個相對的比較。2.3 本章小結雖然游戲在功能和界面上不能算的上很棒,但是麻雀雖小,五臟俱全,游戲具備了彈磚塊這個經(jīng)典游戲鎖應該具有的基本雛形。通過這一章,我們對這個游戲應該有了比較宏觀的了解,我們將在這一基礎上探究游戲更完美的改變。 第3章 打磚塊游戲系統(tǒng)的設計這一章是打磚塊游戲系統(tǒng)的設計,從系統(tǒng)

12、需求分析開始,介紹開發(fā)環(huán)境和用到的開發(fā)工具,系統(tǒng)主要的功能設計,系統(tǒng)的數(shù)據(jù)流程圖。3.1 系統(tǒng)需求分析打磚塊的設計目標為:(1)實現(xiàn)打磚塊游戲功能,使用背景音樂,可用鍵盤或者鼠標控制擋板,并對游戲時間,游戲分數(shù)進行記錄并保存成績到文本,列出成績排行榜。(2)實現(xiàn)游戲難度和游戲模型的選擇,通過本關后可以選擇進入下一關。(3)得到不同寶物可以實現(xiàn)多種游戲功能,加強游戲可玩性。3.2 系統(tǒng)開發(fā)及運行環(huán)境硬件平臺:q CPU:INTEL-I5。q 內(nèi)存:1024MB以上。軟件平臺:q 操作系統(tǒng):Windows XP。q 數(shù)據(jù)庫:TXT文檔。q 開發(fā)工具包:JDK Version1.6.2。q 分辨率:

13、最佳效果1024768像素。 3.3 系統(tǒng)主要功能要求本系統(tǒng)為了實現(xiàn)游戲打磚塊。本系統(tǒng)主要實現(xiàn)如下功能:q 系統(tǒng)界面美觀大方舒適。q 實現(xiàn)游戲一些基礎信息的保存和讀取。q 畫面流暢,具有可玩性q 沒有較大的游戲BUG。q 顯示游戲者的游戲時間和積分。q 存儲玩家的積分。q 實現(xiàn)多種難度的選擇。q 實現(xiàn)多種磚塊的排列模型。q 多種寶物可以實現(xiàn)不同的功能q 玩家可以輸入名稱存入數(shù)據(jù)庫。q 系統(tǒng)最大限度地實現(xiàn)了易維護性和易操作性。 q 系統(tǒng)運行穩(wěn)定、安全可靠。q 實現(xiàn)用戶的注冊及注冊信息的保存 打磚塊系統(tǒng)總體結構打磚塊游戲是基于基本的軟件和普通硬件基礎上的傳統(tǒng)優(yōu)秀游戲,一個游戲應該包括以下幾大功能,

14、如圖3.1所示打磚塊系統(tǒng)數(shù)據(jù)保存查詢統(tǒng)計基礎游戲功能用戶注冊輸入姓名姓名得分記錄查詢游戲分數(shù)打磚塊游戲難度調(diào)整游戲模型調(diào)整圖3.1 系統(tǒng)功能結構圖各功能模塊實現(xiàn)的功能為:游戲管理模塊:實現(xiàn)基本的打磚塊操作并實現(xiàn)游戲模型調(diào)整和游戲難度調(diào)整。查詢統(tǒng)計:讓玩家注冊用戶并保存它的游戲數(shù)據(jù)。實現(xiàn)游戲分數(shù)的查詢。游戲管理模塊圖如圖3.2所示。游戲管理模塊打磚塊功能實現(xiàn)模塊游戲模型調(diào)整模塊游戲難度調(diào)整模塊圖3.2游戲管理功能模塊圖查詢統(tǒng)計模塊圖如圖3.3所示查詢統(tǒng)計輸入用戶名姓名得分記錄查詢分數(shù)模塊用戶注冊信息保存圖3.3 查詢統(tǒng)計功能模塊圖3.4 系統(tǒng)數(shù)據(jù)流圖游戲信息的流向,即系統(tǒng)數(shù)據(jù)流圖如圖2.3所示。

15、游戲注冊和信息保存開始游戲并記錄分數(shù)顯示玩家得分存儲玩家得分并判斷能否進排行榜更改玩家游戲分數(shù)輸出玩家分數(shù)榜圖3.3系統(tǒng)數(shù)據(jù)流圖3.5 本章小結本章是打磚塊游戲的具體設計過程,有具體的需求分析、系統(tǒng)功能模塊、系統(tǒng)數(shù)據(jù)流圖。這里我們開始接觸JAVA程序設計的最初步驟,也是很重要的一步。第4章 系統(tǒng)數(shù)據(jù)庫設計本章是打磚塊的數(shù)據(jù)庫設計,有了數(shù)據(jù)庫,就可以對游戲的成績,玩家姓名進行保存,提高游戲的可玩性、競爭性4.1數(shù)據(jù)庫設計過程數(shù)據(jù)庫設計是指對于一個給定的應用環(huán)境,構造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫應用系統(tǒng),使之能有效的存儲數(shù)據(jù),滿足各種用戶的應用需求。數(shù)據(jù)庫設計方法是研究數(shù)據(jù)庫及其應用系統(tǒng)的技術,是

16、數(shù)據(jù)庫在應用領域中的主要的研究課題。4.1需求分析打磚塊的游戲存儲需要兩部分:一是游戲姓名注冊以及存儲,二是游戲分數(shù)存儲4.2功能實現(xiàn) 圖4.2.2 游戲信息的存儲4.3 本章小結本章是打磚塊游戲系統(tǒng)的數(shù)據(jù)庫開發(fā)。采用的是TXT文本 。第5章 系統(tǒng)的具體實現(xiàn)界面是系統(tǒng)和玩家之間最直接的交互界面,界面的友好性體現(xiàn)了程序設計的質(zhì)量,界面是否便捷易懂也是程序所基本的要求。5.1界面設計5.1.1 用戶登錄界面圖5.1.2 游戲主界面 上圖就是進入游戲后的界面,接下來用一個框圖來表現(xiàn)界面的說明。界面的初始化的關鍵代碼為:public class Game extends JFrame implemen

17、ts Runnable, KeyListener,ActionListener private String s = new String(打磚塊游戲);/ 定義組件JToolBar toolbar = new JToolBar(); / 工具欄JButton gstart = null; / 開始按鈕JButton gstop = null; / 暫停按鈕JButton grestart = null; / 重新開始按鈕JButton setmusic = null; / 設置音樂按鈕JButton setspeed; / 設置速度按鈕JLabel ctime = null; / 計時標簽J

18、Label clife=null;/生命標簽JLabel cscore=null;/分數(shù)標簽JComboBox gmodel = null; / 磚塊排列模型JComboBox setgate=null; /設置關卡JTextField setName=null;/游戲者姓名/ 定義變量static int speed = 100; / 速度(全局靜態(tài))static boolean isfire = true; / isfire為true時,有碰撞聲static int toolgate = 0;static boolean respeed = false;int hours = 0, min

19、utes = 0, seconds = 0;int m = 8, n = 5;int life = 3; / 生命int score=0;/分數(shù)boolean isstop = true;/ 開始 暫停boolean setpaddle = true;boolean setball = true;int model = 1; / 磚塊疊放的模型 0為矩形 1為三角形 2為倒三角形3為空三角形4為六邊形/ 定義嵌入對象SetMusic GetMusic; / 音樂窗口SetSpeed settingspeed; / 速度窗口FireVoice firevoice; / 聲明碰撞聲音類Thread

20、 t = new Thread(this);/ 定義圖形Brick brick = null; / 磚塊Ball ball = new Ball(); / 球Paddle paddle = new Paddle(); / 板塊Treasure treasure = new Treasure4; / 寶物MyPanel panel; / 畫板BufferedImage img1; / 圖片BufferedImage img2;/* * 主界面初始化函數(shù) * */public void init() initvariable();GetMusic = new SetMusic();/ 開啟音樂se

21、ttingspeed = new SetSpeed();/ 初始化速度設置窗口firevoice = new FireVoice();setName=new JTextField(10);/輸入姓名對話框/ 設置窗體setSize(800, 500);setBackground(Color.white);panel = new MyPanel();this.setResizable(false);this.setLocation(200, 200);Container contentPane = getContentPane();contentPane.setLayout(new Border

22、Layout();this.setTitle(s);/ 初始化按鈕gstart = new JButton(開始);gstop = new JButton(暫停);grestart = new JButton(重新開始);setmusic = new JButton(設置音樂);setspeed = new JButton(設置速度);/ 初始化計時標簽ctime = new JLabel(計時:00:00:00);clife=new JLabel(生命:3);cscore=new JLabel(分數(shù):0);/ 初始化下拉欄String smodel = 模型1, 模型2, 模型3, 模型4,

23、 模型5 ;gmodel = new JComboBox(smodel);String sgate=第1關,第2關,第3關,第4關,第5關;setgate=new JComboBox(sgate);/ 將組件添加到工具欄toolbar.add(gstart);toolbar.addSeparator();/添加分隔欄toolbar.add(gstop);toolbar.addSeparator();/添加分隔欄toolbar.add(grestart);toolbar.addSeparator();/添加分隔欄toolbar.add(setmusic);toolbar.addSeparator

24、();/添加分隔欄toolbar.add(setspeed);toolbar.addSeparator();/添加分隔欄toolbar.add(gmodel);toolbar.addSeparator();/添加分隔欄toolbar.add(setgate);toolbar.addSeparator();/添加分隔欄toolbar.add(ctime);toolbar.addSeparator();/添加分隔欄toolbar.add(clife);toolbar.addSeparator();/添加分隔欄toolbar.add(cscore);/ 添加組件到畫板contentPane.add(

25、toolbar, BorderLayout.NORTH);contentPane.add(panel, BorderLayout.CENTER);/ 監(jiān)聽事件gstop.setEnabled(false);gstart.addActionListener(this);gstop.addActionListener(this);grestart.addActionListener(this);setmusic.addActionListener(this);setspeed.addActionListener(this);gmodel.addActionListener(this);setgat

26、e.addActionListener(this);setName.addActionListener(this);addMouseMotionListener(new MouseMove();panel.addKeyListener(this);panel.requestFocus();this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/輸入姓名setVisible(true);int h = JOptionPane.showConfirmDialog(null, setName,輸入姓名, JOptionPane.YES_NO_OPTI

27、ON);if (h = 1) System.exit(0); else t.start();5.2程序設計及調(diào)試運行編寫12個CLASS文件,存入一個包“S”中,各個模塊的程序代碼都完成后,進行編譯連接運行,經(jīng)過反復調(diào)試,找出錯誤和不足,以達到游戲所需的基本功能和基本界面。這個過程比較繁瑣,我們參考網(wǎng)絡上現(xiàn)有的資源,并加以改進,對各個模塊仔細分析備注并進行調(diào)試,做到程序簡潔易懂,可讀性好。盡量避免因代碼不完善而導致的游戲運行中可能出現(xiàn)的錯誤。5.2.1自動計時游戲的自動計功能是非常有必要的,可以讓玩家很直觀地看到自己所玩的時間。下面是自動計時功能的部分關鍵代碼:public String ge

28、ttimes(int hours, int minuts, int seconds) / 設置時間格式String text;if (hours 10)text = 時間:+0 + hours;elsetext = String.valueOf(hours);if (minutes 10)text = text + : + 0 + minutes;elsetext = text + : + minutes;if (seconds 10)text = text + : + 0 + seconds;elsetext = text + : + seconds;return text;5.2.2 在J

29、Panel中畫圖JPanel 是一般輕量級容器,可以向JPanel容器中放入JPanel,JTextfiled,JButton等。Swing的JPanel支持double buffering的功能,使得JPanel在處理動畫上更為流暢,較不會有畫面閃爍的情況發(fā)生。下面是此程序運用Jpanel畫圖的部分主要代碼:class MyPanel extends JPanel protected void paintComponent(Graphics g) Graphics2D g2d = (Graphics2D) g;ctime.setText(gettimes(hours, minutes, se

30、conds); / 設置時間g.drawImage(img1, (int) paddle.xpaddle, (int) (paddle.ypaddle),(int) paddle.width, (int) paddle.height, null);/ 畫板塊for (int j = 0; j brick0.length; j+) / 畫磚塊for (int i = 0; i brick.length; i+) brickij.xBrick = i * (800 / m);brickij.yBrick = j * (200 / n);if (brickij.alive = 1) g.drawIm

31、age(img2, (int) brickij.xBrick,(int) brickij.yBrick,(int) brickij.width,(int) brickij.heigh, null);/ 畫球g2d.setPaint(new GradientPaint(int) ball.xBall, (int) ball.yBall,Color.blue, (int) (ball.xBall + ball.r),(int) (ball.yBall + ball.r), Color.yellow, true);g2d.fill(new Ellipse2D.Double(ball.xBall, b

32、all.yBall, ball.r,ball.r);/ 畫寶物g.setColor(Color.black);for (int k = 0; k treasure.length; k+) if (treasurek.alive = 1) g.fill3DRect(int) treasurek.xtreasure,(int) treasurek.ytreasure,(int) treasurek.width, (int) treasurek.height,true);5.2.3用戶注冊登錄系統(tǒng)下面給出登錄功能的主要代碼 public void loginDialog() login = new

33、JDialog(); login.setTitle(登錄); login.setLayout(new FlowLayout(); login.add(new JLabel(用戶名:); login.add(name); login.add(new JLabel(密 碼:); password.setEchoChar(*); login.add(password); JButton confirm = new JButton(登錄); confirm.addActionListener(new ActionListener() public void actionPerformed(Action

34、Event e) if (compareUserData(name.getText().trim(), new String(password.getPassword() login.setVisible(false); f.setVisible(true); else JOptionPane.showMessageDialog(login, 用戶名或密碼錯誤!, 錯誤提示, JOptionPane.ERROR_MESSAGE); ); login.add(confirm); final JDialog regDialog = new JDialog(login, 注冊, true); reg

35、isterDialog(regDialog); JButton register = new JButton(注冊); register.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) regDialog.setVisible(true); ); login.add(register); login.setSize(200, 130); login.setResizable(false); login.setLocationRelativeTo(null); login.setV

36、isible(true);5.2.4 游戲結果的存儲此功能將用戶游戲后的結果存入TXT文檔中關鍵代碼如下public boolean saveUserData(String name, String sex, String password1, String password2) if (!password1.equals(password2) return false; try RandomAccessFile out = new RandomAccessFile(user.txt, rw);out.seek(out.length();out.writeUTF(name);out.write

37、UTF(sex);out.writeUTF(password1);out.close(); catch (IOException e) e.printStackTrace();return false; return true; /保存成績 public void saveScore() tryRandomAccessFile raf=new RandomAccessFile(score.txt,rw);String s=String.valueOf(score);raf.seek(raf.length();raf.writeBytes(name:+name.getText();raf.wri

38、teBytes( score:+s+ );catch(IOException e ) 5.3 本章小結本章介紹了程序的具體實現(xiàn)和部分關鍵代碼,包括自動計時,界面初始化和用Jpanel畫圖的部分源代碼,在這里我們對本程序有了更加深入徹底的了解。第6章 結束語由于市場需要,游戲的更新速度步步加快,為了適應社會的需要,社會對游戲開發(fā)人員的需求,在游戲編程的學習過程中,必須理論與實踐結合,提高編程能力與水平。通過小游戲的設計,對以學過的內(nèi)容加深理解,對游戲開發(fā)的過程有初步的認識,為以后的游戲開發(fā)設計和更加深入的學習計算機語言打下夯實的基礎。目前競爭日益激烈的行業(yè)環(huán)境,對于未來行業(yè)的前景,還是要保持樂觀

39、的心態(tài)。畢竟游戲并不是一下子就可以編寫成的。需要不斷的技術積累,需要團隊的合作,提高了工作的效率,才算是在游戲開發(fā)的道路上成功了一半。在現(xiàn)在這個信息化飛速發(fā)展的道路上,要成為一名合格的編程人員,那就必須走好每一步現(xiàn)在的路?;贘ava的打磚塊小游戲,滿足了用戶娛樂的需求,已經(jīng)達到了預期的目標。雖然該游戲大部分功能基本上已經(jīng)實現(xiàn),但是還是會存在一些不足:(1)游戲中存在一些BUG,游戲中彈球有時不會下落,未碰到的磚塊卻自動消失了。(2)游戲的關卡太少,樣式不夠多樣化,不能滿足用戶對該游戲的挑戰(zhàn)。(3)游戲的色彩不夠多樣化,色彩單一,不能給用戶增加新鮮的娛樂感。(4)對于用戶信息方面,由于該程序沒

40、有涉及到數(shù)據(jù)庫的相關內(nèi)容,在用戶信息存儲,用戶信息更新功能方面表現(xiàn)欠佳。在用戶信息功能的方面有待進一步改善。致謝參考文獻1 (美) ??藸栔?陳昊鵬,饒若楠等譯. Java編程思想J. 機械工業(yè)出版社,20052(美)Gary J.Bronson著 張瓏 劉雅文譯. Java編程原理J. 清華大學出版社,20043(美)Michael Morrison著 徐剛,于健,薛雷譯. 游戲編程入門J. 人民郵電出版社,2005.94(美)Wendy Stahler著 馮寶坤,曹英譯. 游戲編程中的數(shù)理應用J. 紅旗出版社,20055(美)克羅夫特(David Wallace Croft)著 彭暉譯.

41、Java游戲高級編程J. 清華大學出版社,20056 (美)David Brackeen著 邱仲潘譯. Java游戲編程J. 科學出版社,20047 聶慶亮編著. Java應用開發(fā)指南J. 清華大學出版社,20108 耿祥義,張躍平編著. Java面向對象程序設計J. 清華大學出版社,20109 楊紹方編著. Java編程實用技術與案例J. 清華大學出版社,2000.1110 明日科技編著. Java編程全能詞典J. 電子工業(yè)出版社,2010附錄 源代碼此游戲包含8個java文件,Ball.java, Brick.java, Paddle.java, Treasure.java, Nextne

42、w.java, SetMusic.java, SetSpeed.java, Game.java。Ball.javapackage s;/球public class Ball double xBall=10,yBall=470;double r=20;public Ball ()Brick.javapackage s;/磚塊public class Brick double xBrick=0,yBrick=0;double width=60;double heigh=40;int alive=0;int istreasure=0;public Brick() Paddle.javapackage

43、 s;/檔板public class Paddle public double xpaddle=320;public double width=150;public double height=20;public double ypaddle=435-height;Treasure.javapackage s;/寶物public class Treasure int alive=0; double xtreasure=0,ytreasure=0,width=10,height=10; public Treasure() NextNew.javapackage s;/下一關import java

44、.applet.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class NextNew extends JFrame implements ActionListener JPanel jp0; JButton ok;JButton quit;public NextNew()super(打磚塊);setSize(300,150);setLocation(300, 300);setBackground(Color.white);jp0=new JPanel();ok=new JButton(確定);

45、quit=new JButton(退出);jp0.add(ok);jp0.add(quit);setLayout(new BorderLayout();add(North,(new JPanel().add(new JLabel( 恭喜你!過關了!);add(Center,(new JPanel().add(new JLabel( 是否繼續(xù)下一關?);add(South,jp0);setVisible(true);Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubif(e.ge

46、tSource()=ok)if(e.getSource()=quit)public static void main(String arg)NextNew gameover=new NextNew();SetMusic.javapackage s;import java.applet.*;import java.awt.*;import java.awt.event.*;import java.io.*;import javax.swing.*;public class SetMusic extends JFrame implements ActionListener,ItemListener

47、private int choice=0;public static String s1=new String(1.mid);private boolean firststart=true; JPanel jp1; JPanel jp2; JPanel jp3; JLabel BackMusic; JComboBox SelectMusic;JButton MusicStop;JLabel FireVoice;JButton FVOpen;JButton FVClose;JButton ok;public static SelectMusic music;public SetMusic()/s

48、uper(設置窗口);setSize(300,150);setLocation(300, 300);setBackground(Color.white);music=new SelectMusic();jp1=new JPanel();jp2=new JPanel();jp3=new JPanel();BackMusic=new JLabel(背景音樂:);SelectMusic=new JComboBox();MusicStop=new JButton(關閉);SelectMusic.addItemListener(this);MusicStop.addActionListener(this);setLayout(new BorderLayout();FireVoice=new JLabel(碰撞聲音: );FVOpen=new JButton

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論