小游戏JAVA代码贪吃蛇.docx

上传人:牧羊曲112 文档编号:3476885 上传时间:2023-03-13 格式:DOCX 页数:17 大小:39KB
返回 下载 相关 举报
小游戏JAVA代码贪吃蛇.docx_第1页
第1页 / 共17页
小游戏JAVA代码贪吃蛇.docx_第2页
第2页 / 共17页
小游戏JAVA代码贪吃蛇.docx_第3页
第3页 / 共17页
小游戏JAVA代码贪吃蛇.docx_第4页
第4页 / 共17页
小游戏JAVA代码贪吃蛇.docx_第5页
第5页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《小游戏JAVA代码贪吃蛇.docx》由会员分享,可在线阅读,更多相关《小游戏JAVA代码贪吃蛇.docx(17页珍藏版)》请在三一办公上搜索。

1、小游戏JAVA代码贪吃蛇大家一起学习下O(_)O哈哈贪吃蛇是一款很古董的游戏了,相信大家都玩过,于是写了个贪吃蛇游戏与大家分享,学习是在不断实践中成才的,希望对大家的学习有帮助。package tanChiShe; 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.ev

2、ent.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; private JMenuItem kaiShiYo

3、uXi,exitItem,zuoZheItem,fenShuItem; private JCheckBoxMenuItem cJianDan,cPuTong,cKunNan; private int length = 6; private Toolkit toolkit; private int i,x,y,z,objectX,objectY,object=0,growth=0,time;/bojectX,Y为食物坐标,z为蛇前进方向 private int difficult=2; private int m=new int50; private int n=new int50; priva

4、te Thread she = null; private int life=0; private int foods = 0; private int fenshu=0; public void run 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 /*创建新对象* setVisible(

5、true); menuBar = new JMenuBar; Container con=getContentPane; toolkit=getToolkit; /*游戏菜单对象* youXiMenu = new JMenu(游戏); kaiShiYouXi = new JMenuItem(开始游戏); exitItem = new JMenuItem(退出游戏); /*困难程度对象* nanDuMenu = new JMenu(困难程度); cJianDan = new JCheckBoxMenuItem(简单); cPuTong = new JCheckBoxMenuItem(普通); c

6、KunNan = new JCheckBoxMenuItem(困难); /*分数菜单对象* fenShuMenu = new JMenu(积分排行); fenShuItem = new JMenuItem(最高记录); /*关于对象* guanYuMenu = new JMenu(关于); zuoZheItem = new JMenuItem(关于作者); /*设置关于菜单* guanYuMenu.add(zuoZheItem); /*设置困难程度菜单* nanDuMenu.add(cJianDan); nanDuMenu.add(cPuTong); nanDuMenu.add(cKunNan

7、); /*设置分数菜单* fenShuMenu.add(fenShuItem); /*设置游戏菜单* youXiMenu.add(kaiShiYouXi); youXiMenu.add(exitItem); /*设置主菜单* menuBar.add(youXiMenu); menuBar.add(nanDuMenu); menuBar.add(fenShuMenu); menuBar.add(guanYuMenu); /*监听注册* zuoZheItem.addActionListener(this); kaiShiYouXi.addActionListener(this); exitItem

8、.addActionListener(this); addKeyListener(this); fenShuItem.addActionListener(this); /*加快捷键* KeyStroke keyOpen = KeyStroke.getKeyStroke(O,InputEvent.CTRL_DOWN_MASK); kaiShiYouXi.setAccelerator(keyOpen); KeyStroke keyExit = KeyStroke.getKeyStroke(X,InputEvent.CTRL_DOWN_MASK); exitItem.setAccelerator(k

9、eyExit); /*设置框架* setJMenuBar(menuBar); setTitle(贪吃蛇); setResizable(false); setBounds(300,200,400,400); validate; setDefaultCloseOperation(EXIT_ON_CLOSE); public static void main(String args) new TanChiShe; /*菜单监听* public void actionPerformed(ActionEvent e) if(e.getSource=kaiShiYouXi) length = 6; lif

10、e = 0; foods = 0; if(she=null) she=new Thread(this); she.start; else if(she!=null) she=null; she= new Thread(this); she.start; if(e.getSource=exitItem) System.exit(0); if(e.getSource=zuoZheItem) JOptionPane.showMessageDialog(this, 北京java编程爱好者制作+nn+ +QQ号:860695120+n); if(e.getSource=fenShuItem) JOpti

11、onPane.showMessageDialog(this,最高记录为+fenshu+); /*检查一下* public void check isDead; if(she!=null) if(growth=0) reform; /得到食物 else upgrowth; /生成食物 if(x=objectX&y=objectY) object=0; growth=1; toolkit.beep; /*产生食物坐标* if(object=0) object=1; objectX=(int)Math.floor(Math.random*39)*10; objectY=(int)Math.floor

12、(Math.random*29)*10+50; this.repaint; /重绘 void isDead /判断游戏是否结束的方法 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(x<0|x>390|y<50|y>390) she=null; for(i=1;i<length;i+) if(mi=x&ni=y) she=null; public void upgrowth /当蛇吃到东西时的方法 if(length<50) length+; growth

13、-; time=time-10; reform; life+=100; if(fenshu<life) fenshu = life; foods+; public void reform for(i=length-1;i>0;i-) mi=mi-1; ni=ni-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)

14、 z=1; check; else if(e.getKeyCode=KeyEvent.VK_DOWN) if(z!=1) z=2; check; else if(e.getKeyCode=KeyEvent.VK_LEFT) if(z!=4) z=3; check; else if(e.getKeyCode=KeyEvent.VK_RIGHT) if(z!=3) z=4; check; public void keyReleased(KeyEvent e) / TODO 自动生成方法存根 public void keyTyped(KeyEvent e) / TODO 自动生成方法存根 publi

15、c void paint(Graphics g) /*画图* g.setColor(Color.DARK_GRAY); /设置背景 g.fillRect(0,50,400,400); g.setColor(Color.pink); for(i=0;i<=length-1;i+) g.fillRect(mi,ni,10,10); g.setColor(Color.green); /蛇的食物 g.fillRect(objectX,objectY,10,10); g.setColor(Color.white); g.drawString(当前 分数+this.life,6,60); g.drawString(当前已吃食物数+this.foods,6,72);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号