package 飞机大战;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.Graphics;
import java.util.Random;
import java.util.Timer;
import java.util.TimerTask;
import java.util.Arrays;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.applet.Applet;
import java.applet.AudioClip;
import java.awt.Color;
import java.awt.Font;
public class PlaneWar extends JPanel {
/**
*
*/
private static final long serialVersionUID = 1L;
//????????
public static final int WIDTH = 400; //游戏窗口大小
public static final int HEIGHT = 640;
public static BufferedImage background1,background2,background3; //背景图
public static BufferedImage start; //启动图
public static BufferedImage pause; //暂停图
public static BufferedImage gameover; //游戏结束图
public static BufferedImage pass; //通关
public static BufferedImage EnemyPlane1,EnemyPlane2,EnemyPlane3; //敌机
public static BufferedImage Grift1,Grift2,Grift3; //奖励
public static BufferedImage bullet6,bullet1,bullet2,bullet3,bullet4,bullet5; //子弹
public static BufferedImage Me; //角色
public static BufferedImage BOOM1,BOOM2,BOOM3; //爆炸效果
int Door=1; //关卡数
int little_time=10; //时间间隔
static{
try{
background1 = ImageIO.read(new File("C:\\Users\\lilei\\eclipse-workspace\\lilei\\src\\飞机大战\\images\\background\\background_1.png"));
background2 = ImageIO.read(new File("C:\\Users\\lilei\\eclipse-workspace\\lilei\\src\\飞机大战\\images\\background\\background_2.png"));
background3 = ImageIO.read(new File("C:\\Users\\lilei\\eclipse-workspace\\lilei\\src\\飞机大战\\images\\background\\background_3.png"));
BOOM1 = ImageIO.read(new File("C:\\Users\\lilei\\eclipse-workspace\\lilei\\src\\飞机大战\\images\\blast\\blast_1.png"));
BOOM2 = ImageIO.read(new File("C:\\Users\\lilei\\eclipse-workspace\\lilei\\src\\飞机大战\\images\\blast\\blast_2.png"));
BOOM3 = ImageIO.read(new File("C:\\Users\\lilei\\eclipse-workspace\\lilei\\src\\飞机大战\\images\\blast\\blast_3.png"));
pass = ImageIO.read(new File("C:\\Users\\lilei\\eclipse-workspace\\lilei\\src\\飞机大战\\images\\GameInterface\\通关.png"));
start = ImageIO.read(new File("C:\\Users\\lilei\\eclipse-workspace\\\\lilei\\\\src\\\\飞机大战\\images\\GameInterface\\interface_1.png"));
pause = ImageIO.read(new File("C:\\Users\\lilei\\eclipse-workspace\\\\lilei\\\\src\\\\飞机大战\\images\\GameInterface\\游戏暂停.png"));
gameover = ImageIO.read(new File("C:\\Users\\lilei\\eclipse-workspace\\\\lilei\\\\src\\\\飞机大战\\images\\GameInterface\\jeimian_2.png"));
EnemyPlane1 = ImageIO.read(new File("C:\\Users\\lilei\\eclipse-workspace\\\\lilei\\\\src\\\\飞机大战\\images\\BossPlane\\plane_5.png"));
EnemyPlane2 = ImageIO.read(new File("C:\\Users\\lilei\\eclipse-workspace\\\\lilei\\\\src\\\\飞机大战\\images\\BossPlane\\plane_4.png"));
EnemyPlane3 = ImageIO.read(new File("C:\\Users\\lilei\\eclipse-workspace\\\\lilei\\\\src\\\\飞机大战\\images\\BossPlane\\plane_6.png"));
Grift1 = ImageIO.read(new File("C:\\Users\\lilei\\eclipse-workspace\\\\lilei\\\\src\\\\飞机大战\\images\\Grift\\award_1.png")); //生命
Grift2 = ImageIO.read(new File("C:\\Users\\lilei\\eclipse-workspace\\\\lilei\\\\src\\\\飞机大战\\images\\Grift\\award_2.png")); //子弹
Grift3 = ImageIO.read(new File("C:\\Users\\lilei\\eclipse-workspace\\\\lilei\\\\src\\\\飞机大战\\images\\Grift\\award_3.png")); //特殊子弹
bullet1 = ImageIO.read(new File("C:\\Users\\lilei\\eclipse-workspace\\lilei\\src\\飞机大战\\images\\bullet\\bullet_1.png")); //普通子弹
bullet2 = ImageIO.read(new File("C:\\Users\\lilei\\eclipse-workspace\\lilei\\src\\飞机大战\\images\\bullet\\bullet_2.png")); //波浪
bullet3 = ImageIO.read(new File("C:\\Users\\lilei\\eclipse-workspace\\lilei\\src\\飞机大战\\images\\bullet\\bullet_3.png")); //激光
bullet4 = ImageIO.read(new File("C:\\Users\\lilei\\eclipse-workspace\\lilei\\src\\飞机大战\\images\\bullet\\bullet_4.png")); //闪电
bullet5 = ImageIO.read(new File("C:\\Users\\lilei\\eclipse-workspace\\lilei\\src\\飞机大战\\images\\bullet\\bullet_5.png")); //闪电球
bullet6 = ImageIO.read(new File("C:\\Users\\lilei\\eclipse-workspace\\lilei\\src\\飞机大战\\images\\bullet\\bullet_6.png")); //火焰
int type = new Random().nextInt(3);
if(type==1)
Me = ImageIO.read(new File("C:\\Users\\lilei\\eclipse-workspace\\lilei\\src\\飞机大战\\images\\MEPlane\\plane_1.png"));
else if(type==2)
Me = ImageIO.read(new File("C:\\Users\\lilei\\eclipse-workspace\\lilei\\src\\飞机大战\\images\\MEPlane\\plane_2.png"));
else
Me = ImageIO.read(new File("C:\\Users\\lilei\\eclipse-workspace\\lilei\\src\\飞机大战\\images\\MEPlane\\plane_3.png"));
}catch(Exception e){
e.printStackTrace();
}
}
private ME me = new ME(); //初始玩家
private FlyingObject[] flyings = {}; //敌人
private Bullet[] bullets = {}; //弹药
private Boom[] booms= {}; //爆炸效果
public static final int START = 0; //启动状态
public static final int RUNNING = 1; //运行状态
public static final int PAUSE = 2; //暂停状态
public static final int GAME_OVER = 3; //游戏结束状态
public static final int GAME_PASS = 4; //游戏结束状态
private int state = START; //默认启动状态
//敌人入场
public FlyingObject nextit(int Door){
int type=50;
switch(Door)
{
case 1:
type = new Random().nextInt(50);
break;
case 2:
type = new Random().nextInt(100);
break;
case 3:
type = new Random().nextInt(150);
break;
}
if(type<2){ //奖励
return new Grift();
}else{ //敌机
switch(Door)
{
case 1:
return new Enemy_plane(Door);
case 2:
return new Enemy_plane(Door);
case 3:
return new Enemy_plane(Door);
}
return new Enemy_plane(Door);
}
}
int flyIndex = 0;
//加载敌人/奖励
public void enterAction(){
flyIndex++;
switch(Door)
{
case 1:
if(flyIndex%20==0){
FlyingObject obj = nextit(Door);
flyings = Arrays.copyOf(flyings,flyings.length+1); //扩容
flyings[flyings.length-1] = obj; //添加敌人
}
break;
case 2:
if(flyIndex%15==0){
FlyingObject obj = nextit(Door);
flyings = Arrays.copyOf(flyings,flyings.length+1); //扩容
flyings[flyings.length-1] = obj; //添加敌人
}
break;
case 3:
if(flyIndex%10==0){
FlyingObject obj = nextit(Door);
flyings = Arrays.copyOf(flyings,flyings.length+1); //扩容
flyings[flyings.length-1] = obj; //添加敌人
}
break;
}
}
//全部移动
public void stepAction(){
//me.step(); //角色走一步
for(int i=0;i<flyings.length;i++){ //遍历所有敌人
flyings[i].step(); //敌人走一步
}
for(int i=0;i<bullets.length;i++){ //遍历所有子弹
bullets[i].step(); //子弹走一步
}
}
int shootIndex = 0;
//开火
public void shootAction(){
shootIndex++;
if(shootIndex%30==0){
Bullet[] bs = me.shoot();
bullets = Arrays.copyOf(bullets,bullets.length+bs.length); //扩容(bs有几个元素就扩大几个容量)
System.arraycopy(bs,0,bullets,bullets.length-bs.length,bs.length); //数组的追加
}
}
//飞出画面的
public void outOfBoundsAction(){
int index = 0; /
没有合适的资源?快使用搜索试试~ 我知道了~
大一做的飞机大战PlaneWar.zip
共91个文件
png:48个
java:17个
class:10个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 125 浏览量
2024-05-12
19:43:26
上传
评论
收藏 19.21MB ZIP 举报
温馨提示
大一做的飞机大战PlaneWar
资源推荐
资源详情
资源评论
收起资源包目录
大一做的飞机大战PlaneWar.zip (91个子文件)
PlaneWar-master
Enemy_plane.java 1KB
FlyingObject.java 1KB
.classpath 226B
ME.java 2KB
.settings
org.eclipse.core.resources.prefs 73B
Bullet.java 1KB
src
PlaneWar
Enemy_plane.java 821B
FlyingObject.java 727B
ME.java 2KB
Bullet.java 454B
PlaneWar.java 11KB
Grift_type.java 152B
Grift.java 797B
Enemy.java 83B
PlaneWar.java 22KB
Grift_type.java 286B
bin
PlaneWar
PlaneWar$1.class 1KB
Bullet.class 835B
Enemy.class 125B
PlaneWar$2.class 879B
ME.class 2KB
PlaneWar.class 8KB
Grift.class 1KB
FlyingObject.class 860B
Grift_type.class 217B
Enemy_plane.class 1KB
Grift.java 929B
.project 367B
images
GameInterface
通关.png 320KB
游戏暂停.png 377KB
jeimian_2.png 414KB
interface_1.png 349KB
Grift
award_3.png 4KB
award_2.png 3KB
award_1.png 3KB
音效
战斗胜利.wav 127KB
菜单音乐.wav 957KB
爆炸音效.wav 254KB
游戏失败.wav 117KB
战斗音乐.wav 918KB
多余素材
plan1_spec.png 92KB
plane_3.gif 5KB
plane_6.gif 7KB
plane_4.gif 8KB
plan1.png 99KB
plane_1.gif 5KB
1.png 8KB
plane_5.gif 8KB
plane_2.gif 5KB
blast
blast_2.png 19KB
blast_3.png 36KB
bossDeadEffect.png 234KB
bossBullet_1.png 583KB
bossBullet_1_spec.png 553KB
bossDeadEffect_spec.png 553KB
blast_1.png 8KB
LittlePlane
plane6.png 25KB
plane3.png 24KB
plane5.png 24KB
plane4.png 22KB
plane2.png 25KB
2.png 8KB
BossPlane
plane_4.png 35KB
plane_5.png 36KB
plane_6.png 33KB
blast
blast_2.png 19KB
blast_3.png 36KB
bossDeadEffect.png 234KB
bossBullet_1.png 583KB
bossBullet_1_spec.png 553KB
bossDeadEffect_spec.png 553KB
blast_1.png 11KB
background
background_3.png 3.45MB
background_1.png 3.53MB
background_2.png 4.11MB
background_4.png 491KB
MEPlane
plane_3.png 27KB
plane_1.png 26KB
plane_2.png 26KB
bullet
bullet_8.png 1KB
bullet_3.png 2KB
bullet_2.png 7KB
bullet_7.png 1KB
bullet_6.png 4KB
bullet_5.png 10KB
bullet_4.png 10KB
bullet_1.png 1KB
Enemy.java 79B
Boom.java 1KB
manualType.properties 10B
item.pdf 6B
共 91 条
- 1
资源评论
枫蜜柚子茶
- 粉丝: 6703
- 资源: 4871
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功