当前位置:文档之家› java飞机大战源代码

java飞机大战源代码

g.setColor(Color.blue);
g.setFont(new Font("幼圆",Font.BOLD, 30));
g.drawString("Score:"+Play01.count, 20, 60);
}
}
//
public void move(){ if(isUP&& !isDown&& !isLeft&& !isRight){ 上 y=y-5; }else if(!isUP&&isDown&& !isLeft&& !isRight){
}
package com;
importjava.awt.Graphics;
importjava.awt.Image;
importjava.awt.Rectangle;
importjava.awt.event.KeyEvent;
importjava.util.ArrayList; importjava.util.List;
importjava.io.IOException;
importjavax.imageio.ImageIO;
public class Power {
ImagePowerImage= null;
intx = 20;
inty = 0;
public Power() {
this.x=(int)(Math.random()*540)+20;
右下
x=x+5;
y=y+5;
} // // // // // // //
}booleanisUP= false;booleanisDown= false;booleanisLeft= false;booleanisRight= false; // 摁下 public voidkeyPressed(KeyEvente) {
bgY1=0;}g.drawImage(bgIm;dijis.add(newDiji());}//;}//判断战机和血瓶相撞for(inti=0;i;}}booleanisFire1=false; b;packagecom;;importjava.awt.Color;;importjava.awt.Font;;importjava.awt.Graphics;;
importjava.awt.Color;
importjava.awt.Font;
importjava.awt.Graphics;
importjava.awt.Image;
importjava.awt.Rectangle;
importjava.awt.event.KeyEvent;
importjava.io.IOException;
dijis.add(newDiji()); } // 抽奖:添加血瓶if ((int) (Math.random() * 1000) == 5) {gifts.add(new Gift()); } for (inti= 0;i<gifts.size();i++) { Giftgift=gifts.get(i);gift.draw(g); } // // 抽奖:添加power if ((int) (Math.random() * 1000) == 5) {powers.add(new Power()); } for (inti= 0;i<powers.size();i++) { Powerpower=powers.get(i);power.draw(g); } // 画敌机 for (inti= 0;i<dijis.size();i++) {Dijidj=dijis.get(i);dj.draw(g); } //画飞机plane.draw(g); // 判断战机相撞 for (inti= 0;i<dijis.size();i++) { // 先得到每一个敌机Dijidj=dijis.get(i); Rectangle r1 =dj.getRectangle(); Rectangle r2 =plane.getRectangle(); if (r1.intersects(r2)) {dijis.remove(i);plane.lifeCount=plane.lifeCount- 1; if(plane.lifeCount>0) flag=false; if(plane.lifeCount<1){PlaneStatus.playStatus=-1; }
importjavax.imageio.ImageIO;pu源自lic class Play01 {
staticintcount=0;
ImagebgImage= null;
//战机Planeplane= new Plane(); //战机子弹List<MyZiDan>mzds= newArrayList<MyZiDan>(); //敌机List<Diji>dijis= newArrayList<Diji>(); //敌机子弹//List<DijiZiDan>dijizidans= newArrayList<DijiZiDan>(); //血瓶List<Gift> gifts = newArrayList<Gift>(); List<Power> powers = newArrayList<Power>(); public Play01() { try {bgImage=ImageIO.read(Play01.class.getClassLoader() .getResourceAsStream("images/bg_01.jpg")); } catch (IOExceptione) {e.printStackTrace(); } }intbgY1 = 0;intbgY2 = -600;intfireTime= 0;booleanflag=false; public void draw(Graphics g) { //画背景图片g.drawImage(bgImage, 0,bgY1, null); bgY1 += 5;
importjavax.imageio.ImageIO;
public class Plane {
ImagefeijiImage= null;
intx = 300;
inty = 700;
intlifeCount=5;
public Plane() {
try {
feijiImage=ImageIO.read(Plane.class.getClassLoader()
//画血瓶图片
g.drawImage(PowerImage, x, y, null);
//血瓶移动
y++;
}
public RectanglegetRectangle(){
return new Rectangle(x,y,PowerImage.getWidth(null),PowerImage.getHeight(null)); }
左上
x=x-5;
y=y-5;
}else if(!isUP&&isDown&&isLeft&& !isRight){
左下
x=x-5;
y=y+5;
}else if(isUP&& !isDown&& !isLeft&&isRight){
右上
x=x+5;
y=y-5;
}else if(!isUP&&isDown&& !isLeft&&isRight){
bgY1 = 0; }g.drawImage(bgImage, 0, bgY2, null); bgY2 += 5; if (bgY2 >= 0) { bgY2 = -600; } // 清理战机子弹 for (inti= 0;i<mzds.size();i++) {MyZiDanmyZidan=mzds.get(i); if (myZidan.x> 800) {mzds.remove(i); } } // 添加子弹 if (isFire1 == true && flag==false) { if (fireTime% 8 == 0) {mzds.add(newMyZiDan(plane.x+ 25,plane.y+ 0)); }fireTime++; } if (isFire1== true && flag==true) { if (fireTime% 4 == 0) { }mzds.add(newMyZiDan(plane.x+8,plane.y+0));mzds.add(newMyZiDan(plane.x+52,plane.y+0)); }fireTime++; // 画战机子弹 for (inti= 0;i<mzds.size();i++) {MyZiDanmyZidan=mzds.get(i);myZidan.draw(g); } // 清理敌机 for (inti= 0;i<dijis.size();i++) {Dijidj=dijis.get(i); if (dj.x< -100) {dijis.remove(i); } } // 抽奖:添加敌机
// 放开
public voidkeyReleased(KeyEvente) {
相关主题