📄 00e696ae8219001c1ca6c8d4ab93e775
字号:
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.STOP;
public Tank(int x,int y)
{
this.x=x;
this.y=y;
}
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_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 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;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -