📄 tank.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class Tank extends JFrame
{
MyPanel mp=new MyPanel();
public Tank()
{
this.setTitle("Tank Game");
this.add(mp);
this.setBounds(100,100,400,300);
this.setVisible(true);
mp.requestFocus(true);
}
public static void main(String args[])
{
new Tank();
}
}
class MyPanel extends JPanel implements KeyListener
{
int x=200;
int y=150;
int span=5;
int direction=0;
Image[] imga=new Image[4];
public MyPanel()
{
ImageIcon img0=new ImageIcon("img/up.jpg");
ImageIcon img1=new ImageIcon("img/right.jpg");
ImageIcon img2=new ImageIcon("img/down.jpg");
ImageIcon img3=new ImageIcon("img/left.jpg");
imga[0]=img0.getImage();
imga[1]=img1.getImage();
imga[2]=img2.getImage();
imga[3]=img3.getImage();
this.addKeyListener(this);
}
public void paint(Graphics g)
{
g.setColor(Color.black);
g.fillRect(0,0,600,600);
g.drawImage(imga[direction],x,y,Color.black,this);
}
public void keyTyped(KeyEvent e){}
public void keyReleased(KeyEvent e){}
public void keyPressed(KeyEvent e)
{
int kc=e.getKeyCode();
if(kc==KeyEvent.VK_UP)
{//按下向上按钮
y=y-span;
if(y<0)
{
y=0;
}
direction=0;
}
else if(kc==KeyEvent.VK_DOWN)
{//按下向下按钮
direction=2;
y=y+span;
if(y>240)
{
y=240;
}
}
else if(kc==KeyEvent.VK_RIGHT)
{//按下向右按钮
direction=1;
x=x+span;
if(x>365)
{
x=365;
}
}
else if(kc==KeyEvent.VK_LEFT)
{//按下向左按钮
direction=3;
x=x-span;
if(x<0)
{
x=0;
}
}
this.repaint();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -