[java]代码库package tankwar;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.io.File;
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.Random;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
import tankwar.Tank.Direction;
import barrier.EnemyBorn;
import barrier.Gold;
import barrier.Home;
import barrier.Iron;
import barrier.SelfBorn;
import barrier.Wall;
public class TankWar implements KeyListener {
static boolean TIMEOUT = false;
private JFrame f;
private JPanel gamePanel;
private PanelShow messgePanel;
private myPanel p;
private Tank myTank;
public static final int AREA_WIDTH = 830;
public static final int AREA_HEIGHT = 800;
private ArrayList missles = new ArrayList();
private ArrayList allTanks = new ArrayList();
private ArrayList booms = new ArrayList();
private ArrayList walls = new ArrayList();
private ArrayList irons = new ArrayList();
private ArrayList golds = new ArrayList();
private ArrayList items = new ArrayList();
private ArrayList enemyBorns = new ArrayList();
private SelfBorn selfBorn;
private Home home;
private Tank enemyTank;
private Random r;
private ImageIcon backGround;
private final String map;
private int tankMax;
private boolean over = false;
private static int selfMax = 3;
private boolean win;
private boolean flash = false;
private TankWar tw = this;
static int SCORE = 0;
private final JFrame mainF;
private int style;
public TankWar(String map, int tankMax, JFrame mainF, int style)
throws Exception {
this.map = map;
this.tankMax = tankMax;
this.mainF = mainF;
this.style = style;
init();
}
private void init() {
f = new JFrame("坦克大战 V3.0");
gamePanel = new JPanel(null);
p = new myPanel();
p.setBackground(Color.WHITE);
r = new Random();
messgePanel = new PanelShow();
initMap(new File("map/" + map));
try {
myTank = new Tank(selfBorn.getX(), selfBorn.getY(), true, allTanks,
walls, irons, golds, missles, home, booms, style);
} catch (Exception e1) {
}
myTank.setDir(Direction.U);
allTanks.add(myTank);
addTank();
try {
backGround = new ImageIcon(
TankWar.class.getResource("/pic/wh