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

📄 missile.java

📁 坦克大战,最基本的Graphics 类进行的画图。TankClient.java这个是主文件
💻 JAVA
字号:
package tank;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Rectangle;
public class Missile {
int x,y;

TankClient tc;
private static final int Missile_XSPEED=10;
private static final int Missile_YSPEED=10;
private boolean live;
private boolean good;

public boolean isGood() {
	return good;
}
private static final int Missile_WIDTH=10;
public static int getMissile_WIDTH() {
	return Missile_WIDTH;
}
public static int getMissile_HEIGHT() {
	return Missile_HEIGHT;
}
private static final int Missile_HEIGHT=10;
Director dir;
public Missile(int x, int y,Director dir,boolean good,TankClient tc) {
	this.x = x;
	this.y = y;
	this.dir=dir;
	this.tc=tc;
	this.good=good;
	live=true;
}
public void draw(Graphics g){
	if(!isLive()){
		tc.missileList.remove(this);
		return;
	}
	Color c=g.getColor();
	if (good){
	g.setColor(Color.RED);
	}else{
	g.setColor(Color.CYAN);	
	}
	g.fillOval(x,y, Missile_WIDTH,Missile_HEIGHT);
	g.setColor(c);
	move();
	
}
void move(){

	if(x<0 || y<0 || y>TankClient.getGAME_HEIGHT() || x>TankClient.getGAME_WIDTH())
	{
		live=false;
		tc.missileList.remove(this);
		return;
	}
	
	switch(dir){
	case UP:
		y-=Missile_YSPEED;
		break;
	case DOWN:
		y+=Missile_YSPEED;
		break;
	case LEFT:
		x-=Missile_XSPEED;
		break;
	case RIGHT:
		x+=Missile_XSPEED;
		break;
	case LU:
		x-=Missile_XSPEED;
		y-=Missile_YSPEED;
		break;
	case RU:
		x+=Missile_XSPEED;
		y-=Missile_YSPEED;
		break;
	case RD:
		x+=Missile_XSPEED;
		y+=Missile_YSPEED;
		break;
	case LD:
		x-=Missile_XSPEED;
		y+=Missile_YSPEED;
		break;
	}
	collidesWithWall(tc.getW1());
	collidesWithWall(tc.getW2());
}
void collidesWithWall(Wall w){
	if(this.getRect().intersects(w.getRect())){
		this.live=false;
	}
}
public boolean isLive() {
	return live;
}
public int getY() {
	return y;
}
public int getX() {
	return x;
}
public void setLive(boolean live) {
	this.live = live;
}
public Rectangle getRect(){
	return	new Rectangle(this.getX(),this.getY(),Missile_WIDTH,Missile_HEIGHT);
}
}



⌨️ 快捷键说明

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