飞机大战java程序设计报告

上传人:xins****2008 文档编号:115936660 上传时间:2019-11-15 格式:DOC 页数:10 大小:213KB
返回 下载 相关 举报
飞机大战java程序设计报告_第1页
第1页 / 共10页
飞机大战java程序设计报告_第2页
第2页 / 共10页
飞机大战java程序设计报告_第3页
第3页 / 共10页
飞机大战java程序设计报告_第4页
第4页 / 共10页
飞机大战java程序设计报告_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《飞机大战java程序设计报告》由会员分享,可在线阅读,更多相关《飞机大战java程序设计报告(10页珍藏版)》请在金锄头文库上搜索。

1、中国地质大学长城学院Java 程 序 设 计题目 基于Java的打飞机游戏设计与实现 系 别 信息工程系 专 业 计算机科学与技术 学生姓名 马辉 学 号 041120101 指导教师 田玉龙 2015 年 6 月 18 日基于Java的打飞机游戏设计与实现1、软件运行所需要的软硬件环境本系统是以Windows系统为操作平台,用Java编程语言来实现本系统所需功能的。本机器的配置如下:处理器:AMD A4 或英特尔同级别处理器主频:1.2Hz以上内存:1G以上硬盘:HHD 50G或更高采用的主要技术和软件编程语言:Java开发环境:windows7开发软件:Eclipse 3.72、软件开发环

2、境配置JAVA_HOME = F:JAVAjdkPATH = % JAVA_HOME%bin;%JAVA_HOME%lib;%JAVA_HOME%jrelib;CLASSPATH = %JAVA_HOME%lib;%JAVA_HOME%jrelib;3、软件功能框图重新开始或再次游戏游戏界面 生命值降到04、软件所实现的截图5、主要功能部分的源代码import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyAdapter;import java.awt.event

3、.KeyEvent;import java.util.Random;import java.util.Vector;import javax.swing.JOptionPane;import javax.swing.Timer;public class Controller extends KeyAdapterpublic static Vector bangs = new Vector();public static Vector ebullets = new Vector();public static Vector pbullets = new Vector();public stati

4、c Vector eplanes = new Vector();public static PPlane pplane = new PPlane();private GamePanel gamePanel;private Random random = new Random();public static int baoZhaNum;public Controller(Vector bang,Vector ebullet,Vector pbullet,Vector eplane,PPlane pplane,GamePanel gamePanel) super();this.bangs = ba

5、ng;this.ebullets = ebullet;this.pbullets = pbullet;this.eplanes = eplane; this.pplane = pplane;this.gamePanel = gamePanel;/使用定时器 每隔一秒为每一个敌机 产生一个子弹Timer timer = new Timer(1000, new ActionListener() Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubfor(int i=0;i eplan

6、es.size();i+)EBullet ebullet = new EBullet(eplanes.elementAt(i).x, eplanes.elementAt(i).y,8,2);ebullets.add(ebullet););timer.start(); /声明定时器之后 就 开启定时器Overridepublic void keyPressed(KeyEvent e) / TODO Auto-generated method stubswitch (e.getKeyCode()case KeyEvent.VK_UP:PPlane.UP = true;break;case KeyE

7、vent.VK_DOWN:PPlane.DOWN = true;break;case KeyEvent.VK_LEFT:PPlane.LEFT = true;break;case KeyEvent.VK_RIGHT:PPlane.RIGHT = true;break;case KeyEvent.VK_X:PPlane.isFired = true;break;Overridepublic void keyReleased(KeyEvent e) / TODO Auto-generated method stubswitch (e.getKeyCode()case KeyEvent.VK_UP:

8、PPlane.UP = false;break;case KeyEvent.VK_DOWN:PPlane.DOWN = false;break;case KeyEvent.VK_LEFT:PPlane.LEFT = false;break;case KeyEvent.VK_RIGHT:PPlane.RIGHT = false;break;case KeyEvent.VK_X:PPlane.isFired = false;public void StartRun()new Thread()public void run()int count = 0; /通过count控制子弹 避免连续按发送键时

9、 子弹连成线while(true)/本机移动pplane.pplaneMove();/添加本机子弹 if(PPlane.isFired & count%5=0)PBullet pbullet1 = new PBullet(pplane.x+65, pplane.y+50, 8, 15);pbullets.add(pbullet1);PBullet pbullet2 = new PBullet(pplane.x+50, pplane.y+50, 8, 15);pbullets.add(pbullet2);PBullet pbullet3 = new PBullet(pplane.x+35, pp

10、lane.y+50, 8, 15);pbullets.add(pbullet3);PBullet pbullet4 = new PBullet(pplane.x+20, pplane.y+50, 8, 15);pbullets.add(pbullet4);count+;/让本机子弹 移动 并判断是否打中敌机for(int i=0;i pbullets.size();i+)pbullets.elementAt(i).bulletMove();int index = pbullets.elementAt(i).isPbulletHitEplane();if(index != -1) /不等于-1

11、证明打中了 并产生爆炸 Bang bang = new Bang(pbullets.elementAt(i).x,pbullets.elementAt(i).y,30,30);bangs.add(bang);baoZhaNum+;eplanes.remove(index);/判断本机子弹 出界就移除for(int i=0;i pbullets.size();i+)if(pbullets.elementAt(i).y = 0)pbullets.remove(i);/System.out.println(子弹 移除);/添加 敌机if(eplanes.size() Global.ENEMY_NUMBER)int x = random.nextInt(Global.FRAME_WIDTH);int y = -30;EPlane eplane = new EPlane(x, y, 30, 30);eplanes.add(eplane);/让敌机 移动 并且判断出界 for(int i=0;i eplanes.size();i+)eplanes.elementAt(i).eplaneMo

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

当前位置:首页 > 大杂烩/其它

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