package javatfly; import java.util.Random; /** * 敌机类 * @author XXX *游戏中的敌机 *1.敌机的数量是未知的 *2.敌机的数量很多 JAVA中存放多个教程 1.使用数组(因不能明确敌机的数量,因此不用数组) 2.使用集合 */ public class Ep extends FlyObject { //构建各种敌机的速度 int sp;//敌机的速度 int hp;//敌机的血量 int type;//敌机的类型 /** * 构造器:给敌机定型 */ public Ep() { //定义随机数的类 Random rd=new Random(); //nextInt(num)表示会在[0,num]之间随机生成0~num-1 //生成一个随机数,用来选取图片 int index =rd.nextInt(15)+1; //设置敌机的类型版本 type=index; //三目运算符 //格式:条件表达式?式1:式2; //表示如果条件true,执行式1,false,执行式2 String path="/img/ep"+(index<10?"0":"")+index+".png"; //确定敌机显示图片 img= App.getlmg(path); //确定敌机的大小 //使用图片的大小,作为飞机的大小 w=img.getWidth(); h=img.getHeight(); //确定敌机的位置 x=rd.nextInt(512-w); y=-h; //设置速度 sp=18-index; //设置血量 hp=index; } /** * 敌机移动的方法 * 目前:让敌机向下移动 */ public void move() { if(type==11) { x-=2; y+=sp; }else if(type==9) { x+=2; y+=sp; }else { y+=sp; } } /** * 当子弹跟敌机碰撞后消失 * @param f * @return */ public boolean shootBy(Fire f) { // TODO Auto-generated method stub boolean hit = (x<=f.x+f.w && x>=f.x-w && y<=f.y+f.h && y>=f.y-h); return hit; } public boolean hitBy(Hero f) { boolean hit = (x<=f.x+f.w && x>=f.x-w && y<=f.y+f.h && y>=f.y-h); return hit; } }
最近下载更多
dusk red LV2
9月2日
12345678ajkdakjd LV1
7月2日
3334004690 LV10
6月22日
bssheep LV1
2023年12月31日
陈小灏 LV15
2023年12月15日
我的java LV8
2023年12月14日
1061404770 LV3
2022年9月26日
agjbvfhjbg LV6
2022年9月9日
Jasonast LV1
2022年6月12日
testuser1234567 LV24
2022年5月31日
最近浏览更多
dusk red LV2
9月2日
12345678ajkdakjd LV1
6月26日
3334004690 LV10
6月22日
半核野兽 LV1
4月29日
gzcznb LV8
4月1日
bssheep LV1
2023年12月31日
我的java LV8
2023年12月14日
jkjfdgbkl LV2
2023年11月1日
1766545549 LV1
2022年11月17日
李沛阳 LV1
2022年11月6日