⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 supermissile.java

📁 坦克大战 有关卡 有显示 有大招 等等 功能
💻 JAVA
字号:
package leo.tank;

import java.awt.*;
import java.util.Random;

/**
 * 用于构建超级弹药的补充物品
 * @author 黄思志 030402129
 *
 */
public class SuperMissile {
	int x,y,w,h;
	TankWar tw;
	public static final int XSPEED = 7,YSPEED = 4;
	private boolean live = false;
	private  static Random r = new Random();
	Direction dir;
	private int step = 0; 	

	
	public SuperMissile() {
		x = 300 + r.nextInt(TankWar.vx-400);
		y = 300 + r.nextInt(TankWar.vy-400);
		w = 15;
		h = 25;
	}
	public SuperMissile(TankWar tw) {
		this();
		this.tw = tw;
	}
	
	/**
	 * 自绘方法
	 * @param g
	 */
	public void draw(Graphics g) {
		if(!live) {
			if(SuperMissile.r.nextInt(1000) > 999 -tw.gameLevel-tw.gameThrough*3) {
				live = true;
			} else
			return;
		}
		Color c = g.getColor();
		g.setColor(Color.cyan);
		g.fillOval(x, y, w, h);
		g.setColor(c);
		move();
	}

	/**
	 * 移动方法
	 *
	 */
	private void move() {
		Direction[] dirs = Direction.values();
		if(step == 0){
			step = r.nextInt(10)+5;
			int rn = r.nextInt(dirs.length);
			dir = dirs[rn];
		}
		switch(dir) {
		case L:
			x -= XSPEED;
			break;
		case LU:
			x -= XSPEED;
			y -= YSPEED;
			break;
		case U:
			y -= YSPEED;
			break;
		case RU:
			x += XSPEED;
			y -= YSPEED;
			break;
		case R:
			x += XSPEED;
			break;
		case RD:
			x += XSPEED;
			y += YSPEED;
			break;
		case D:
			y += YSPEED;
			break;
		case LD:
			x -= XSPEED;
			y += YSPEED;
			break;
		case STOP:
			break;
		}
		
		if(x < 290) x = 290; 
		if(y < 290) y = 290;
		if(x+90 > TankWar.vx) x = TankWar.vx - 90;
		if(y+90 > TankWar.vy) y = TankWar.vy - 90;
			

		step--;
	}
	
	/**
	 * 获取外接矩形
	 * @return
	 */
	public Rectangle getRect() {
		return new Rectangle (x,y,w,h);
	}

	/**
	 * 判断是否生存
	 * @return
	 */
	public boolean isLive() {
		return live;
	}

	/**
	 * 设置是否生存
	 * @param live
	 */
	public void setLive(boolean live) {
		this.live = live;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -