坦克大战0.5

坦克大战0.5_第1张图片



import javax.swing.*;
import java.awt.*;


/**
 * @author 许泽鑫
 * @data 2019/11/9 - 21:13
 */
public class TankClient extends JFrame {
    public static final  int GAME_WIDTH = 800;
    public static final int GAME_HEIGHT = 600;
    public TankClient(){
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setSize(GAME_WIDTH,GAME_HEIGHT);
        setLocationRelativeTo(null);
        setResizable(false);
        setBackground(Color.GREEN);
        setVisible(true);
        new Thread(new PaintThread()).start();

    }
    private  class  PaintThread implements Runnable{

        @Override
        public void run() {
            while (true){
                repaint();
                try {
                    Thread.sleep(100);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    int x = 50;
    int y = 50;
    @Override
    public void paint(Graphics g){

        Color c = g.getColor();
        g.setColor(Color.green);

        g.setColor(Color.RED);
        g.fillOval(x,y,30,30);
        g.setColor(c);
        y += 5;

    }
    Image a = null;
    @Override
    public void update(Graphics g){
        if(a == null){
            a = this.createImage(GAME_WIDTH,GAME_HEIGHT);

        }
        Graphics g1 = a.getGraphics();
        Color c= g1.getColor();
        g1.setColor(Color.green);
        g1.fillRect(0,0,GAME_WIDTH,GAME_HEIGHT);

        paint(g1);
        g.drawImage(a,0,0,null);
    }
    @Override
    public void repaint(){
        super.repaint();
        update(getGraphics());

    }


    public static void main(String[] args) {
        new TankClient();
    }
}

你可能感兴趣的:(坦克大战)