package com.msb; import java.awt.*; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.util.ArrayList; import java.util.List; import java.util.Objects; /** * @Author bingor * @Date 2022-09-29 16:24 * @Description: com.msb * @Version: 1.0 */ public class TankFrame extends Frame { Tank myTank = new Tank(100, 500, DirEnum.RIGHT, GroupEnum.GOOD, this); // Explode explode = new Explode(100, 100, this); // Bullet bullet = new Bullet(200, 200, DirEnum.DOWN); List bullets = new ArrayList<>(); List tanks = new ArrayList<>(); //敌方坦克 List explodes = new ArrayList<>(); //爆炸效果 public static final int GAME_WIDTH = 1000; public static final int GAME_HEIGHT = 800; public TankFrame() { setTitle("Tank war"); setSize(GAME_WIDTH, GAME_HEIGHT); setResizable(true); setVisible(true); setBackground(Color.BLACK); addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { super.windowClosing(e); System.exit(0); } }); addKeyListener(new MyKeyListener()); } @Override public void paint(Graphics g) { // super.paint(g); Color color = g.getColor(); g.setColor(Color.WHITE); g.drawString("子弹的数量:" + bullets.size(), 10, 60); g.drawString("敌方坦克数量:" + tanks.size(), 10, 90); g.drawString("爆炸的数量:" + explodes.size(), 10, 120); g.setColor(color); myTank.paint(g); // explode.paint(g); //画出敌方坦克 for (int i=0; i