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

📄 20876b488a19001c1ca6c8d4ab93e775

📁 java编写的一个坦克大战游戏
💻
字号:
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.KeyEvent;

public class Tank {
	
	private int x=30;
	private int y=50;
	
	private static final int XSPEED=5;
	private static final int YSPEED=5;
	private boolean bL=false,bR=false,bU=false,bD=false;
	enum Direction{L,LU,R,RU,U,LD,RD,D,STOP};
	Direction dir=Direction.R;
	
	TankClient tc=null;
	
	public Tank(int x,int y)
	{
		this.x=x;
		this.y=y;
	}
	public Tank(int x,int y,TankClient tc)
	{
		this.tc=tc;
	}
	
	
	
	public void draw(Graphics g)
	{
		Color c=g.getColor();
		g.setColor(Color.RED);
		g.fillOval(x,y,50,50);
		g.setColor(c);	
	}
	
	
	public void move()
	{
		switch(dir)
		{
		   case L:x-=XSPEED;break;
		   case LU:x-=XSPEED;y-=YSPEED;break;
		   case R: x+=XSPEED;break;
		   case RU:x+=XSPEED;y-=YSPEED;break;
		   case U:y-=YSPEED;break;
		   case LD:x-=XSPEED;y+=YSPEED;break;
		   case RD:x+=XSPEED;y+=YSPEED;break;
		   case D:y+=YSPEED;break;
		   case STOP:break;
		}	
	}
	
	public void location()
	{
		if(bL && !bR && !bU && !bD)  dir=Direction.L;
		if(!bL && bR && !bU && !bD)  dir=Direction.R;
		if(!bL && !bR && bU && !bD)  dir=Direction.U;
		if(!bL && !bR && !bU && bD)  dir=Direction.D;
		if(bL && !bR && bU && !bD)  dir=Direction.LU;
		if(bL && !bR && !bU && bD)  dir=Direction.LD;
		if(!bL && bR && bU && !bD)  dir=Direction.RU;
		if(!bL && bR && !bU && bD)  dir=Direction.RD;
		if(!bL && !bR && !bU && !bD)  dir=Direction.STOP;	
		
	}
	
	public void keyPressed(KeyEvent e) 
	{
		int key=e.getKeyCode();
		switch(key)
		{
		   case KeyEvent.VK_CONTROL:
			 tc.m=fire();break;
		   case KeyEvent.VK_LEFT: bL=true;break;
		   case KeyEvent.VK_RIGHT:bR=true;break;
		   case KeyEvent.VK_UP:bU=true;break;
		   case KeyEvent.VK_DOWN:bD=true;break;    	
		 }
		location();
		move();
	}

	public  Missile fire() {
		Missile m=new Missile(x,y,dir);
		return m;	
	}

	public void keyReleased(KeyEvent e) {
		int key=e.getKeyCode();
		switch(key)
		{
		   case KeyEvent.VK_LEFT: bL=false;break;
		   case KeyEvent.VK_RIGHT:bR=false;break;
		   case KeyEvent.VK_UP:bU=false;break;
		   case KeyEvent.VK_DOWN:bD=false;break;  
		}
		location();
	}
	
	
	
	
	
	
	
}

⌨️ 快捷键说明

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