




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)用文檔 Java程序設(shè)計(jì)?課程設(shè)計(jì)報(bào)告題 目:貪吃蛇游戲的設(shè)計(jì)與實(shí)現(xiàn)指導(dǎo)老師:沈澤剛專(zhuān)業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班級(jí):10-3姓名:鎏謙文案大全實(shí)用文檔一、 課程設(shè)計(jì)目的貪吃蛇游戲一款非常經(jīng)典的 游戲, 由于它比擬簡(jiǎn)單有趣,無(wú) 論老少都比擬適合.目的是更好地了解和掌握 java語(yǔ)言,并熟練的 運(yùn)用java語(yǔ)言來(lái)實(shí)現(xiàn)工程.培養(yǎng)自主學(xué)習(xí)的水平.本軟件在設(shè)計(jì)方面本著方便、實(shí)用及娛樂(lè)性高的宗旨,在外界進(jìn) 行設(shè)計(jì)的過(guò)程中,始終堅(jiān)持清楚明了,在性能方面能夠?qū)崿F(xiàn)效率高, 不易出錯(cuò)等優(yōu)點(diǎn).二、課程設(shè)計(jì)要求貪吃蛇游戲設(shè)計(jì)與實(shí)現(xiàn),主要分為以下二個(gè)模塊:游戲主界面模塊、游戲限制模塊.三、課程設(shè)計(jì)報(bào)告內(nèi)容一系統(tǒng)設(shè)計(jì)1 、
2、程序概述本程序是一個(gè)利用Java應(yīng)用軟件制作的貪吃蛇小游戲.在游戲過(guò)程中,用戶通過(guò)點(diǎn)擊小鍵盤(pán)區(qū)的方向鍵來(lái)限制蛇的運(yùn) 行方向;當(dāng)蛇沒(méi)有吃到食物且碰到墻壁或自己的身體時(shí)游戲結(jié)束.本程序的另一個(gè)功能是在程序運(yùn)行窗口的左上角顯示, 用戶在 游戲過(guò)程中所得的分?jǐn)?shù),不過(guò)缺點(diǎn)就是在退處程序后,下次翻開(kāi)程序 時(shí)無(wú)法保存.2 、游戲的主界面設(shè)計(jì)游戲的主界面是進(jìn)入游戲后,能夠給玩家第一感官的局部,主文案大全實(shí)用文檔要包括游戲圖形區(qū)域界面、游戲的速度選擇更新界面、游戲分?jǐn)?shù)的顯 示更新界面、游戲開(kāi)始按鈕、暫停游戲按鈕、退出游戲按鈕以及游戲 排行榜按鈕.3、游戲限制模塊設(shè)計(jì)這個(gè)模塊是游戲的中央環(huán)節(jié),主要完成限制游戲的開(kāi)
3、始、暫停、 退出等功能.為了能夠給玩家一個(gè)很好的游戲環(huán)境, 這局部應(yīng)該做到 易懂、易操作.二主界面設(shè)計(jì)游戲界面主框架主要包括游戲圖形區(qū)域界面、游戲的開(kāi)始按鈕、暫停按鈕、游戲的退出按鈕、困難程度、積分排行、關(guān)于作者三代碼設(shè)計(jì)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文案大全實(shí)用文檔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() /運(yùn)行(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()(文案大全實(shí)用文檔*創(chuàng)立新對(duì)象*setVisible true ;menuBar = new JMenuBar;Containe
7、r con=getContentPane; toolkit=getToolkit;/*游戲菜單對(duì)象*youXiMenu = new JMenu游戲;kaiShiYouXi = new JMenuItem開(kāi)始游戲;exitItem = new JMenuItem 退出游戲;/*困難程度對(duì)象*nanDuMenu = new JMenu 困難程度;cJianDan = new JCheckBoxMenuItem 簡(jiǎn)單cPuTong =new JCheckBoxMenuItem普;ffi;cKunNan =new JCheckBoxMenuItem困難/*分?jǐn)?shù)菜單對(duì)象*fenShuMenu =fenS
8、huItem =/*/*new JMenu 積分排行;new JMenuItem 最高記錄;關(guān)于對(duì)象 *guanYuMenu = new JMenu關(guān)于zuoZheItem = new JMenuItem關(guān)于作者;設(shè)置關(guān)于菜單 *guanYuMenu.addzuoZheItem;/*設(shè)置困難程度菜單*nanDuMenu.addcJianDan;nanDuMenu.addcPuTong;nanDuMenu.addcKunNan;文案大全實(shí)用文檔*設(shè)置分?jǐn)?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)聽(tīng)注冊(cè) *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)聽(tīng) *文案大全實(shí)用文檔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) (文案大全實(shí)用文檔reform();) else ( upgrowth();)產(chǎn)生食物坐標(biāo) *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) (文案大全實(shí)用文檔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)(文案大全實(shí)用文檔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)文案大全實(shí)用文檔) public void keyReleased(KeyEvent e)(/ TODO自動(dòng)生成方法存根) public void keyTyped(KeyEvent e)(/ TODO自動(dòng)生成方法存根) public void paint(Graphics g)(*畫(huà)圖*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(當(dāng)前 分?jǐn)?shù)+this .life,6,60);g.drawString(當(dāng)前已吃食物數(shù)+ this .foods
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 合法壓車(chē)合同范本
- 和員工股合同范本
- 合作種植大蔥合同范例
- 員工提成合同范例
- 加工豎立桅桿合同范本
- 臺(tái)州市商品房出租合同范本
- 吳江區(qū)律師顧問(wèn)合同范本
- 沖壓模具開(kāi)發(fā)合同范本
- 代理記賬報(bào)稅 合同范本
- 傳媒公司聘用合同范本
- 2024年英德中小學(xué)教師招聘真題
- 2024年車(chē)險(xiǎn)理賠保險(xiǎn)知識(shí)試題庫(kù)(附含答案)
- 食品安全追溯管理體系制度
- 2024-2025學(xué)年新教材高中語(yǔ)文 第六單元 13.2 裝在套子里的人教案 部編版必修下冊(cè)
- 中央2024年中國(guó)醫(yī)學(xué)科學(xué)院血液學(xué)研究所血液病醫(yī)院招聘17人筆試歷年典型考題及考點(diǎn)附答案解析
- JBT 14732-2024《中碳和中碳合金鋼滾珠絲杠熱處理技術(shù)要求》
- 【直播帶貨發(fā)展前景探究:以抖音平臺(tái)為例6700字(論文)】
- 2024入贅協(xié)議書(shū)范本
- 2024屆江蘇省蘇北七市(南通)高三二??荚囉⒄Z(yǔ)試題讀后續(xù)寫(xiě)思路分析My best examination 講義
- 計(jì)算機(jī)系統(tǒng)原理13015習(xí)題答案
- 2024年益陽(yáng)醫(yī)學(xué)高等專(zhuān)科學(xué)校單招職業(yè)技能測(cè)試題庫(kù)及答案解析
評(píng)論
0/150
提交評(píng)論