www.pudn.com > TankWar.rar > TankClient.java


package com.bjsxt.tank; 
import java.awt.*; 
import java.awt.event.*; 
import java.util.List; 
import java.util.ArrayList; 
 
/** 
 * 这个类的作用是坦克游戏的主窗口 
 * @author mashibing 
 * 
 */ 
 
public class TankClient extends Frame { 
	/** 
	 * 整个坦克游戏的宽度 
	 */ 
	public static final int GAME_WIDTH = 800; 
	public static final int GAME_HEIGHT = 600; 
	 
	Tank myTank = new Tank(50, 50, true, Tank.Direction.STOP, this); 
	 
	Wall w1 = new Wall(100, 200, 20, 150, this), w2 = new Wall(300, 100, 300, 20, this); 
	 
	List explodes = new ArrayList(); 
	List missiles = new ArrayList(); 
	List tanks = new ArrayList(); 
	Image offScreenImage = null; 
	 
	Blood b = new Blood(); 
	 
	public void paint(Graphics g) { 
		/* 
		 * 指明子弹-爆炸-坦克的数量 
		 * 以及坦克的生命值 
		 */ 
		g.drawString("missiles count:" + missiles.size(), 10, 50); 
		g.drawString("explodes count:" + explodes.size(), 10, 70); 
		g.drawString("tanks    count:" + tanks.size(), 10, 90); 
		g.drawString("tanks     life:" + myTank.getLife(), 10, 110); 
		 
		if(tanks.size() <= 0) { 
			for(int i=0; i<5; i++) { 
				tanks.add(new Tank(50 + 40*(i+1), 50, false, Tank.Direction.D, this)); 
			} 
		} 
		 
		for(int i=0; i