Java程序設(shè)計報告材料貪吃蛇_第1頁
Java程序設(shè)計報告材料貪吃蛇_第2頁
Java程序設(shè)計報告材料貪吃蛇_第3頁
Java程序設(shè)計報告材料貪吃蛇_第4頁
Java程序設(shè)計報告材料貪吃蛇_第5頁
免費預(yù)覽已結(jié)束,剩余10頁可下載查看

下載本文檔

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

文檔簡介

1、實用文檔 Java程序設(shè)計?課程設(shè)計報告題 目:貪吃蛇游戲的設(shè)計與實現(xiàn)指導(dǎo)老師:沈澤剛專業(yè):計算機科學(xué)與技術(shù)班級:10-3姓名:鎏謙文案大全實用文檔一、 課程設(shè)計目的貪吃蛇游戲一款非常經(jīng)典的 游戲, 由于它比擬簡單有趣,無 論老少都比擬適合.目的是更好地了解和掌握 java語言,并熟練的 運用java語言來實現(xiàn)工程.培養(yǎng)自主學(xué)習(xí)的水平.本軟件在設(shè)計方面本著方便、實用及娛樂性高的宗旨,在外界進 行設(shè)計的過程中,始終堅持清楚明了,在性能方面能夠?qū)崿F(xiàn)效率高, 不易出錯等優(yōu)點.二、課程設(shè)計要求貪吃蛇游戲設(shè)計與實現(xiàn),主要分為以下二個模塊:游戲主界面模塊、游戲限制模塊.三、課程設(shè)計報告內(nèi)容一系統(tǒng)設(shè)計1 、

2、程序概述本程序是一個利用Java應(yīng)用軟件制作的貪吃蛇小游戲.在游戲過程中,用戶通過點擊小鍵盤區(qū)的方向鍵來限制蛇的運 行方向;當蛇沒有吃到食物且碰到墻壁或自己的身體時游戲結(jié)束.本程序的另一個功能是在程序運行窗口的左上角顯示, 用戶在 游戲過程中所得的分數(shù),不過缺點就是在退處程序后,下次翻開程序 時無法保存.2 、游戲的主界面設(shè)計游戲的主界面是進入游戲后,能夠給玩家第一感官的局部,主文案大全實用文檔要包括游戲圖形區(qū)域界面、游戲的速度選擇更新界面、游戲分數(shù)的顯 示更新界面、游戲開始按鈕、暫停游戲按鈕、退出游戲按鈕以及游戲 排行榜按鈕.3、游戲限制模塊設(shè)計這個模塊是游戲的中央環(huán)節(jié),主要完成限制游戲的開

3、始、暫停、 退出等功能.為了能夠給玩家一個很好的游戲環(huán)境, 這局部應(yīng)該做到 易懂、易操作.二主界面設(shè)計游戲界面主框架主要包括游戲圖形區(qū)域界面、游戲的開始按鈕、暫停按鈕、游戲的退出按鈕、困難程度、積分排行、關(guān)于作者三代碼設(shè)計import java.awt.Color;import java.awt.Container;import java.awt.Graphics;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event

4、.InputEvent;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import javax.swing.*;public class TanChiShe extends JFrame implements文案大全實用文檔ActionListener, KeyListener,Runnable ( private JMenuBar menuBar;private JMenu youXiMenu,nanDuMenu,fenShuMenu,guanYuMenu;privateJMenuItemkaiShiYouX

5、i,exitItem,zuoZheItem,fenShuItem;private JCheckBoxMenuItem cJianDan,cPuTong,cKunNan;private int length = 6; private Toolkit toolkit; privateinti,x,y,z,objectX,objectY,object=0,growth=0,time;privateintdifficult=2;privateintm=newint 50;privateintn=newint 50;privateThread she :=null ;privateintlife=0;p

6、rivateintfoods :=0;privateintfenshu=0;publicvoidrun() /運行(time=500;for (i=0;i=length-1;i+)(mi=90-i*10;ni=60;x=m0;y=n0;z=4;while (she!= null )(check();try(she. sleep (time);catch (Exception ee)(System. out .println(z+);public TanChiShe()(文案大全實用文檔*創(chuàng)立新對象*setVisible true ;menuBar = new JMenuBar;Containe

7、r con=getContentPane; toolkit=getToolkit;/*游戲菜單對象*youXiMenu = new JMenu游戲;kaiShiYouXi = new JMenuItem開始游戲;exitItem = new JMenuItem 退出游戲;/*困難程度對象*nanDuMenu = new JMenu 困難程度;cJianDan = new JCheckBoxMenuItem 簡單cPuTong =new JCheckBoxMenuItem普;ffi;cKunNan =new JCheckBoxMenuItem困難/*分數(shù)菜單對象*fenShuMenu =fenS

8、huItem =/*/*new JMenu 積分排行;new JMenuItem 最高記錄;關(guān)于對象 *guanYuMenu = new JMenu關(guān)于zuoZheItem = new JMenuItem關(guān)于作者;設(shè)置關(guān)于菜單 *guanYuMenu.addzuoZheItem;/*設(shè)置困難程度菜單*nanDuMenu.addcJianDan;nanDuMenu.addcPuTong;nanDuMenu.addcKunNan;文案大全實用文檔*設(shè)置分數(shù)菜單*fenShuMenu.add(fenShuItem);/*設(shè)置游戲菜單*youXiMenu.add(kaiShiYouXi);youXiM

9、enu.add(exitltem);/*設(shè)置主菜單*menuBar.add(youXiMenu);menuBar.add(nanDuMenu);menuBar.add(fenShuMenu);menuBar.add(guanYuMenu);/*監(jiān)聽注冊 *zuoZheItem.addActionListener(this );kaiShiYouXi.addActionListener(this );exitItem.addActionListener(this );addKeyListener( this );fenShuItem.addActionListener(this );/*加快捷鍵

10、*KeyStrokekeyOpenKeyStroke. getKeyStroke (O,InputEvent. CTRL_DOWN_MASK kaiShiYouXi.setAccelerator(keyOpen);KeyStrokekeyExit/*KeyStroke. getKeyStroke (X,InputEvent. CTRL_DOWN_MASK exitItem.setAccelerator(keyExit);設(shè)置框架 *setJMenuBar(menuBar);setTitle( 貪吃蛇)setResizable( false );setBounds(300,200,400,400

11、);validate();setDefaultCloseOperation(EXIT_ON_CLOSE);一 一public static void main(String args)new TanChiShe();/*菜單監(jiān)聽 *文案大全實用文檔public void actionPerformed(ActionEvent e) (if (e.getSource()=kaiShiYouXi)(length = 6;life = 0;foods = 0;if (she= null )(she= new Thread( this );she.start();elseif (she!= null

12、)(she=null ;she= new Thread( this );she.start();if (e.getSource()=exitItem)(System. exit (0);if (e.getSource()=zuoZheItem)(JOptionPane. showMessageDialog (this , 梁瀟+nn);if (e.getSource()=fenShuItem) (JOptionPane.+fenshu+);H*showMessageDialog (this , 最 高 記錄為檢查一下*public void check() (isDead();if (she!

13、= null )(if (growth=0) (文案大全實用文檔reform();) else ( upgrowth();)產(chǎn)生食物坐標 *if (x=objectX&y=objectY) ( object=0; growth=1; toolkit.beep(); ) /*)Math. floor (Math. random ()*39)*10;)Math. floor (Math. random ()*29)*10+50;if (object=0) ( object=1; objectX=(intobjectY=(int) this .repaint();) ) void isDead()

14、(if (z=4) ( x=x+10; ) else if (z=3) ( x=x-10;) else if (z=2) ( y=y+10;) else if (z=1) (y=y-10;)if (x39011y390) (文案大全實用文檔she= null ;)for (i=1;ilength;i+)( if (mi=x&ni=y)( she= null ;) public void upgrowth()(if (length50)( length+;) growth-;time=time-10;reform();life+=100;if (fenshu0;i-)(mi=mi-1;ni=ni

15、-1;) if (z=4)( m0=m0+10;) if (z=3)( m0=m0-10;) if (z=2)(文案大全實用文檔n0=n0+10;)if (z=1)(n0=n0-10;)public void keyPressed(KeyEvent e)(if (she!= null )(if (e.getKeyCode()=KeyEvent. VK_UP)(if (z!=2)(z=1;check();)else if (e.getKeyCode()=KeyEvent. V(if (z!=1)(z=2;check();)else if (e.getKeyCode()=KeyEvent. V(i

16、f (z!=4)(z=3;check();)else if (e.getKeyCode()=KeyEvent. V(if (z!=3)(z=4;check();)DOWN_LEFT)_RIGHT)文案大全實用文檔) public void keyReleased(KeyEvent e)(/ TODO自動生成方法存根) public void keyTyped(KeyEvent e)(/ TODO自動生成方法存根) public void paint(Graphics g)(*畫圖*g.setC010r(Color.DARK_GRAY;g.f川Rect(0,50,400,400);g.setC010r(Color.pink );for (i=0;i=length-1;i+)(g.fillRect(mi,ni,10,10);)g.setC010r(Color.green );g.f川Rect(objectX,objectY,10,10);g.setC010r(Color.white );g.drawString(當前 分數(shù)+this .life,6,60);g.drawString(當前已吃食物數(shù)+ this .foods

溫馨提示

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

評論

0/150

提交評論