Java实现贪吃蛇

上传人:ni****g 文档编号:563704725 上传时间:2022-12-03 格式:DOCX 页数:6 大小:32.33KB
返回 下载 相关 举报
Java实现贪吃蛇_第1页
第1页 / 共6页
Java实现贪吃蛇_第2页
第2页 / 共6页
Java实现贪吃蛇_第3页
第3页 / 共6页
Java实现贪吃蛇_第4页
第4页 / 共6页
Java实现贪吃蛇_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《Java实现贪吃蛇》由会员分享,可在线阅读,更多相关《Java实现贪吃蛇(6页珍藏版)》请在金锄头文库上搜索。

1、项目效果图:源代码:importjava.awt.Color;importjava.awt.Container;importjava.awt.Dimension;importjava.awt.Graphics;importjava.awt.Graphics2D:importjava.awt.Point;importjava.awt.event.ComponentAdapter;importjava.awt.event.ComponentEvent;importjava.awt.event.KeyAdapter;importjava.awt.event.KeyEvent;importjava.a

2、wt.event.MouseAdapter;importjava.awt.event.MouseEvent;importjava.awt.event.MouseMotionAdapter;importjava.awt.event.WindowAdapter;importjava.awt.event.WindowEvent;importjava.awt.geom.Rectangle2D;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.Map:importjava.util.*;importjavax.swing.

3、JFrame;importjavax.swing.JLabel;importjavax.swing.JOptionPane;importjavax.swing.JPanel;/*author:蒋冰*/publicclassKeyBoardextendsJFrameprivateintdirection=0;privateintjudge=0;privatePanelpanel=newPanel();privateRectLabellabel=newRectLabel1200;privateHashMapmap=newHashMap();privateArrayListlist=newArray

4、List();privatePointpoint=newPoint1200;privateinttargetx=0;privateinttargetY=0;privatestaticintgoal=3;privateintspeed;privateRectLabeltargetLabel=newRectLabel();privatestaticKeyBoardframe=newKeyBoard();publicstaticvoidmain(Stringargs)frame.setvisible(true);publicKeyBoard()super();addWindowListenernew

5、WindowAdapter()OverridepublicvoidwindowActivated(WindowEventarg0)map.put(KeyEvent.VK_RIGHT,KeyEvent.VK_LEFT);map.put(KeyEvent.VK_LEFT,KeyEvent.VK_RIGHT);map.put(KeyEvent.VK_UP,KeyEvent.VK_DOWN);map.put(KeyEvent.VK_DOWN,KeyEvent.VK_UP);map.put(0,0);map.put(KeyEvent.VK_G,0);Randomra=newRandom();target

6、X=ra.nextint(30)*10+50;targetY=ra.nextint(20)*10+50;targetLabel.setLocation(targetX,targetY););setBackground(Colorgray);setLayout(null);setBounds(400,200,400,300);addKeyListener(newKeyAdapter()publicvoidkeyPressed(KeyEvente)if(e.getKeyCode()=map.get(direction)return;elsedirection=e.getKeyCode(););fo

7、r(inti=1;igoal;i+)labeli=newRectLabel();labeli.setBounds(-10,-10,10,10);list.add(labeli);panel.setBounds(-10,-10,10,10);panel.addComponentListener(newComponentAdapter()OverridepublicvoidcomponentMoved(ComponentEventarg0)point0=panel.getLocation();if(Math.abs(point0.x-targetX)5&Math.abs(point0.y-targ

8、etY)5)Randomra=newRandom();targetX=ra.nextInt(30)*10+50;targetY=ra.nextInt(20)*10+50;while(true)for(inti=1;igoal-1;i+)Pointp=labeli.getLocation();if(p.x=targetX)&(p.y=targetY)break;elsejudge+;if(judge=goal-2)break;elsejudge=0;targetX=ra.nextInt(30)*10+50;targetY=ra.nextInt(20)*10+50;targetLabel.setL

9、ocation(targetX,targetY);labelgoal=newRectLabel();labelgoal.setBounds(-10,-10,10,10);pointgoal-1=newPoint();list.add(labelgoal);goal+;for(inti=1;ilist.size();i+)pointi=labeli.getLocation();labeli.setLocation(pointi-1);frame.add(labeli);labellist.size().setLocation(pointlist.size()-1);frame.add(label

10、list.size();for(inti=3;ilist.size();i+)if(Math.abs(label1.getLocation().x-labeli.getLocation().x)=1&Math.abs(label1.getLocation().y-labeli.getLocation().y)=1)direction=KeyEvent.VK_G;);targetLabel.setBounds(200,100,10,10);add(targetLabel);add(panel);classPanelextendsJPanelimplementsRunnableprivateint

11、flag=0;privateintx=0;privateinty=0;publicPanel()setPreferredSize(newDimension(10,10);newThread(this).start();Overridepublicvoidrun()while(true)if(direction=KeyEvent.VK_RIGHT)if(x=0)x-=10;setLocation(x,y);elsedirection=KeyEvent.VK_G;if(direction=KeyEvent.VK_DOWN)if(y=0)y-=10;setLocation(x,y);elsedire

12、ction=KeyEvent.VK_G;tryif(goal30)speed=goal;elsespeed=30;Thread.sleep(400-speed*10);catch(InterruptedExceptione)e.printStackTrace();repaint();classRectLabelextendsJLabelprivateintr=5;/小球半径privateintwidth=r*2;/球宽度privateintheight=r*2;/球高度privateColorballColor=Color.BLUE;/默认颜色publicRectLabel()setPreferredSizenewDimension(width,height);/初始化大小OverrideprotectedvoidpaintComponent(Graphicsg)super.paintComponent(g);g.setColorballColor);/设置默认颜色g.fillRect(0,0,width,height);/在标签上绘制球体

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号