飞机大战 java 源代码

(19页)

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

14.9 积分

package com;import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Image; import java.awt.Rectangle; import java.awt.event.KeyEvent; import java.io.IOException;import javax.imageio.ImageIO;public class Plane { Image feijiImage = null; int x = 300; int y = 700; int lifeCount=5; public Plane() { try { feijiImage = ImageIO.read(Plane.class.getClassLoader() .getResourceAsStream(“images/feiji.png“)); } catch (IOException e) { e.printStackTrace(); } }public void draw(Graphics g) {//画飞机图片 g.drawImage(feijiImage, x, y, null);//飞机移动 this.move();// 血条 if(lifeCount>0){ g.setColor(Color.WHITE); g.fillRect(20, 80, 100, 10); g.setColor(Color.red); g.fillRect(20, 80, (100/5)*lifeCount, 10); g.setColor(Color.blue);g.setFont(new Font(“幼圆“, Font.BOLD, 30)); g.drawString(“Score:“+Play01.count, 20, 60);}}public void move(){ if(isUP }else if(!isUP }else if(!isUP }else if(!isUP }else if(isUP y=y-5; }else if(!isUP y=y+5; }else if(isUP y=y-5;}else if(!isUP y=y+5; } }boolean isUP = false; boolean isDown = false; boolean isLeft = false; boolean isRight = false;// 摁下 public void keyPressed(KeyEvent e) {int keyCode = e.getKeyCode(); if (keyCode == KeyEvent.VK_RIGHT || keyCode == KeyEvent.VK_D) { isRight=true; } else if (keyCode == KeyEvent.VK_LEFT || keyCode == KeyEvent.VK_A) { isLeft=true; } else if (keyCode == KeyEvent.VK_UP || keyCode == KeyEvent.VK_W) { isUP=true; } else if (keyCode == KeyEvent.VK_DOWN || keyCode == KeyEvent.VK_S) { isDown=true; } }// 放开 public void keyReleased(KeyEvent e) { int keyCode = e.getKeyCode(); if (keyCode == KeyEvent.VK_RIGHT || keyCode == KeyEvent.VK_D) { isRight=false; } else if (keyCode == KeyEvent.VK_LEFT || keyCode == KeyEvent.VK_A) { isLeft=false; } else if (keyCode == KeyEvent.VK_UP || keyCode == KeyEvent.VK_W) { isUP=false; } else if (keyCode == KeyEvent.VK_DOWN || keyCode == KeyEvent.VK_S) { isDown=false; } } public Rectangle getRectangle(){ return new Rectangle(x,y,feijiImage.getWidth(null),feijiImage.getHeight(null)); } }package com;public class PlaneStatus { public static int roleNum = 1;public static int playStatus = 0;// 0 游戏开始前 1 第一关 -1 游戏结束}package com;import java.awt.Graphics; import java.awt.Image;import java.awt.Rectangle; import java.awt.event.KeyEvent; import java.io.IOException;import javax.imageio.ImageIO;public class Power { Image PowerImage = null; int x = 20; int y = 0;public Power() { this.x=(int)(Math.random()*540)+20; try {PowerImage = ImageIO.read(Gift.class.getClassLoader() .getResourceAsStream(“images/power.png“)); } catch (IOException e) { e.printStackTrace(); } }public void draw(Graphics g) {//画血瓶图片 g.drawImage(PowerImage, x, y, null);//血瓶移动y++; } public Rectangle getRectangle(){ return new Rectangle(x,y,PowerImage.getWidth(null),PowerImage.getHeight(null)); }}package com;import java.awt.Graphics; import java.awt.Image; import java.awt.Rectangle; import java.awt.event.KeyEvent;import java.io.IOException; import java.util.ArrayList; import java.util.List;import javax.imageio.ImageIO;// 第一关 public class Play01 {static int count=0;Image bgImage = null;// 战机 Plane plane = new Plane();// 战机子弹 List mzds = new ArrayList();// 敌机 List dijis = new ArrayList();// 敌机子弹 //List dijizidans = new ArrayList();// 血瓶 List gifts = new ArrayList(); List powers = new ArrayList(); public Play01() { try {bgImage = ImageIO.read(Play01.class.getClassLoader() .getResourceAsStream(“images/bg_01.jpg“)); } catch (IOException e) { e.printStackTrace(); } }int bgY1 = 0; int bgY2 = -600; int fireTime = 0; boolean flag=false;public void draw(Graphics g) {// 画背景图片 g.drawImage(bgImage, 0, bgY1, null); bgY1 += 5;if (bgY1 = 0) { bgY2 = -600; }// 清理战机子弹 for (int i = 0; i 800) { mzds.remove(i); } }// 添加子弹 if (isFire1 == true } fireTime++; } if (isFire1== true mzds.add(new MyZiDan(plane.x +52, plane.y +0)); } fireTime++; }// 画战机子弹 for (int i = 0; i 0) flag=false;if(plane.lifeCount KeyAdapter this.addKeyListener(new KeyAdapter(){ @Override public void keyPressed(KeyEvent e) { if(PlaneStatus.playStatus == 0){ before.keyPressed(e); }else if(PlaneStatus.playStatus ==1){ play01.keyPressed(e); }else if(PlaneStatus.playStatus==-1){ over.keyPressed(e); } } @Override public void keyReleased(KeyEvent e) { if(PlaneStatus.playStatus == 0){ before.keyReleased(e); }else if(PlaneStatus.playStatus ==1){ play01.keyReleased(e); }else if(PlaneStatus.playStatus==-1){ over.keyReleased(e); } } });//启动一个线程:每隔 20 毫秒执行一次 new Thread(){ public void run(){ while(true){ MainFrame.this.repaint(); try { Thread.sleep(20); } catch (InterruptedException e) { e.printStackTrace(); } } } }.start();//显示 this.setVisible(true); }Image bufferImage =null;//这个方法也是 20 毫秒执行一次 public void paint(Graphics g){ if(bufferImage==null){ bufferImage = this.createImage(600, 800); } Graphics g4Image = bufferImage.getGraphics(); g4Image.setColor(Color.BLACK); g4Image.fillRect(0, 0, 600, 800); this.draw(g4Image);g.drawImage(bufferImage, 0, 0, null);}public void draw(Graphics g){ if(PlaneStatus.playStatus == 0){ before.draw(g); }else if(PlaneStatus.playStatus ==1){ play01.draw(g); }else if(PlaneStatus.playStatus==-1){ over.draw(g); } }public static void main(String[] args) {new MainFrame(); } }package com; import java.awt.Graphics; import java.awt.Image; import java.awt.Rectangle; import java.io.IOException; import javax.imageio.ImageIO;public class MyZiDan { Image zidanImage = null; int x ; int y ;public MyZiDan(int x,int y) { this.x=x; this.y=y; try { zidanImage = ImageIO.read(MyZiDan.class.getClassLoader() .getResourceAsStream(“images/zidan.png“)); } catch (IOException e) { e.printStackTrace(); } }public void draw(Graphics g) {//画我军子弹图片 g.drawImage(zidanImage, x, y, null);//我的飞机子弹移动速度 y-=20; } public Rectangle getRectangle(){ return new Rectangle(x,y,zidanImage.getWidth(null),zidanImage.getHeight(null)); } }package com;import java.awt.Graphics; import java.awt.Image;import java.awt.Rectangle; import java.awt.event.KeyEvent; import java.io.IOException;import javax.imageio.ImageIO;public class Diji { Image dijiImage = null; int y = -20; int x = 10;//20 ~ 760 int r;public Diji() { this.x=(int)(Math.random()*540)+40; try {r = (int)(Math.random()*3)+1; dijiImage = ImageIO.read(Diji.class.getClassLoader() .getResourceAsStream(“images/diji_“+r+“.png“)); } catch (IOException e) { e.printStackTrace(); } }public void draw(Graphics g) {//画敌机图片 g.drawImage(dijiImage, x, y, null);//敌机移动 if(r==1){ y+=4; }else if(r==2){ y+=4; }else if(r==3){ y+=7; }} public Rectangle getRectangle(){ return new Rectangle(x,y,dijiImage.getWidth(null),dijiImage.getHeight(null)); }}package com;import java.awt.Graphics; import java.awt.Image; import java.awt.Rectangle; import java.awt.event.KeyEvent; import java.io.IOException;import javax.imageio.ImageIO;public class Gift { Image GiftImage = null; int x = 20; int y = 0;public Gift() { this.x=(int)(Math.random()*540)+20; try {GiftImage = ImageIO.read(Gift.class.getClassLoader() .getResourceAsStream(“images/blood.png“)); } catch (IOException e) { e.printStackTrace(); } }public void draw(Graphics g) {//画血瓶图片 g.drawImage(GiftImage, x, y, null);//血瓶移动y++; } public Rectangle getRectangle(){ return new Rectangle(x,y,GiftImage.getWidth(null),GiftImage.getHeight(null)); }}package com;import java.awt.Graphics;import java.awt.Image; import java.awt.Rectangle; import java.io.IOException;import javax.imageio.ImageIO;public class DijiZiDan { Image zidanImage = null; int x ; int y ; int fangxiang =0; public DijiZiDan(int x,int y) { this.x=x; this.y=y; fangxiang = (int)(Math.random()*5);//0 ~ 7 try { zidanImage = ImageIO.read(DijiZiDan.class.getClassLoader() .getResourceAsStream(“images/dijizidan.jpg“)); } catch (IOException e) { e.printStackTrace(); } }public void draw(Graphics g) {//画敌机子弹图片 g.drawImage(zidanImage, x, y, null);//移动 this.move(); } public void move(){ if(fangxiang==0){//下 y=y+2; }else if(fangxiang==1){//左 x=x-2; }else if(fangxiang==2){//右 x=x+2; }else if(fangxiang==3){//左下 x=x-2; y=y+2; }else if(fangxiang==4){//右下 x=x+2; y=y+2; } } public Rectangle getRectangle(){ return new Rectangle(x,y,zidanImage.getWidth(null),zidanImage.getHeight(null)); }}package com;import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Image; import java.awt.event.KeyEvent; import java.io.IOException;import javax.imageio.ImageIO;// 游戏开始之前 public class Before { Image bg=null; Image wfeiji=null; Image kdiji1=null; Image kdiji2=null; Image kdiji3=null;public Before() { try { bg = ImageIO.read(Before.class.getClassLoader().getResourceAsStream(“images/bg.jpg“)); wfeiji = ImageIO.read(Before.class.getClassLoader().getResourceAsStream(“images/feiji_1.png“)); kdiji1 = ImageIO.read(Before.class.getClassLoader().getResourceAsStream(“images/kdiji_01.png“)); kdiji2 = ImageIO.read(Before.class.getClassLoader().getResourceAsStream(“images/kdiji_02.png“)); kdiji3 = ImageIO.read(Before.class.getClassLoader().getResourceAsStream(“images/kdiji_03.png“));} catch (IOException e) { e.printStackTrace(); } }int time=0; public void draw(Graphics g){if(PlaneStatus.roleNum==1){// 画妹妹 g.drawImage(bg, 0, 0, null); g.drawImage(wfeiji, 260, 600, null);g.drawImage(kdiji1, 200, 50, null); g.drawImage(kdiji1, 400, 50, null); g.drawImage(kdiji1, 150, 480, null); g.drawImage(kdiji1, 400, 480, null); g.drawImage(kdiji2, 100, 200, null); g.drawImage(kdiji2, 300, 100, null); g.drawImage(kdiji2, 480, 200, null); g.drawImage(kdiji3, 300, 300, null); g.drawImage(kdiji3, 70, 400, null); g.drawImage(kdiji3, 510, 400, null);}//画回车符 time++; g.setColor(Color.YELLOW);g.setFont(new Font(“幼圆“, Font.BOLD, 30)); if(time>“, 50, 750); }else if(time>“, 50, 750); }else if(time>“, 50, 750); if(time==30){ time=0; } }} public void keyPressed(KeyEvent e) { int keyCode = e.getKeyCode(); if(keyCode == KeyEvent.VK_ENTER){PlaneStatus.playStatus=1; } if(keyCode ==KeyEvent.VK_LEFT ||keyCode==KeyEvent.VK_RIGHT ){PlaneStatus.roleNum = 3-PlaneStatus.roleNum;//1~2 互换 } } public void keyReleased(KeyEvent e) { } } 关 键 词: 飞机 大战 java 源代码

 天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

java飞机大战boos代码_飞机大战 java 源代码相关推荐

  1. 飞机大战python代码_飞机大战Python程序

    import pygame from plane_sprites import * class PlaneGame( object ): # 初始化 开始游戏类方法 启动游戏 def __init__ ...

  2. java类添加单元测试代码_如何在java中单元测试时跳过一段代码

    如果问题确实是: 如何在Java 然后我给出的答案同意单元测试时,我跳过一段代码.依赖注入,嘲讽框架绝对是真正的单元测试的正确途径. 但是,如果问题是: 使用JUnit(或其他单元测试框架) 然后我想 ...

  3. java写病毒程序代码_一个用JAVA写的清除EXE病毒文件的程序(转)

    Clear.java 这是一个主类,主要是负责运行程序和参数检查,不是核心 程序代码: import java.io.*; public class Clear{ public static void ...

  4. java按键发出声音代码_怎么在java中给按钮添加声音?

    可以加入GTM时间,代码如下: public class ShowCurrentTime { public static void main(String args[]){ //Obtain the ...

  5. python飞机大战简书_飞机大战(pygame)开发实录一

    飞机大战,算是面向对象的程序语言入门必修程序,但大多教程只是点到为止,跳过了很多实际开发会遇到的问题,自然也错过了很多不错的经验.该系列文章针对python的pygame包,详细讲解了飞机大战的开发. ...

  6. java计分系统编程代码_使用Java代码对实时系统进行编程

    由于许多重要原因,Java语言在实时系统中的使用并不广泛. 这些包括Java语言设计固有的不确定性性能影响,例如动态类加载,以及Java Runtime Environment(JRE)本身,例如垃圾 ...

  7. java简单雷电游戏代码_[代码全屏查看]-Java 雷电游戏(完成)

    [3].[文件] MyFrame.java ~ 6KB    下载(399) package com.ruxia.frame; import java.awt.Frame; import java. ...

  8. java项目实战达内代码_达内Java就业班项目实践之“飞扬小鸟”游戏项目

    达内Java培训班采用理论和实践相结合的方式,项目贯穿于整个Java学习周期,边学边练,通过完成项目,增加实战经验.除了贯穿课程始终的学子商城项目外,在不同的学习阶段,达内Java课程还为学员安排了适 ...

  9. java cxf服务端代码_【JAVA】 cxf 生成 webservice 服务端代码

    CXF Apache CXF = Celtix + XFire.CXF 继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS 全面的支持,并且提供了多种 Binding . ...

  10. java调用子系统代码_深入理解JAVA虚拟机-Idea远程执行本地Java代码 - Java 技术驿站-Java 技术驿站...

    今天在看深入理解JAVA虚拟机的9.3节,作者实现了一个远程执行功能.这个功能可以在远程服务器中临时执行一段程序代码,而去不依赖jdk版本,不改变原有服务端程序的部署,不依赖任何第三方库,不入侵原有的 ...

最新文章

  1. 五轮阿里面试题及答案
  2. java seteditable,Java TextField.setEditable方法代碼示例
  3. C++:22 再议const的作用(上)
  4. cubrid php,PHP - Manual: CUBRID (官方文档)
  5. Dynamics CRM 2015/2016 Web API:Unbound Custom Action 和 Bound Custom Action
  6. 现代通信原理4.2:随机过程
  7. html5 打开支付宝app,支付宝H5唤醒APP
  8. 美国飞机安全事件频发:背后黑手竟然是5G?
  9. 【无机纳米材料科研制图——OriginLab 0208】Origin拟合SERS拉曼光谱
  10. vue前端使用xlsx和 xlsx-style 导出excel,并修改样式
  11. RStudio的常用快捷键
  12. MySQL——MySQL高可用之 MMM多主复制管理器
  13. C语言解数独(含源码) 2020/8/19
  14. iOS中给图片加水印或文字的几种方法
  15. android应用程序设计答案,Android移动应用程序设计智慧职教MOOC答案
  16. 【Pandas】数据分析工具Pandas的基本操作和可视化工具Matplotlib
  17. Edge上的gmail网页改为纯文字模式后改不回标准模式(HTML Gmail)问题和解决方法
  18. 你开车都有什么小技巧?
  19. PLC(Power Line Carrier)电力线载波介绍
  20. 不是因为有希望才坚持,而是因为坚持才有希望!

热门文章

  1. Java垃圾回收(GC)机制
  2. HTML网页设计:四、超链接
  3. 2022年计算机体系结构与软件工程国际会议(CASE 2022 )
  4. 【算法】数独解题——用python代码
  5. mp4文件如何转换为webm格式
  6. iPhone6 和iPhone6plus 快速适配
  7. Unreal Engine 4 手绘风滤镜(Paint Filter)即 桑原滤镜(Kuwahara Filter)教程(下)
  8. 软件测试报告模板什么样的?
  9. 怎么把音频转换文字?三个步骤解决它
  10. ArcPy常用函数梳理