- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java坦克大战源码
TankClient 类 (
import java.awt.*;
import java.awt.event.*;
import java.util.List;
import java.util.ArrayList;
//坦克客户端
public class TankClient extends Frame {
public static final int GAME_WIDTH = 800;
public static final int GAME_HEIGTH = 600;
Tank myTank = new Tank(500,500,true, Tank.Direction.STOP, this);//声明一个自己坦克对象
Wall w1 = new Wall(100,200,20,150,this);//声明两个墙变量
Wall w2 = new Wall(400,300,300,20,this);
//Tank enemyTank = new Tank(100,100,false, this);//声明一个敌人坦克对象
//Explode e = new Explode(70, 70, this);
ListExplode explodes = new ArrayListExplode();
ListMissile missiles = new ArrayListMissile();
ListTank tanks = new ArrayListTank();
Image offScreenImage = null;
Blood b = new Blood();
//画函数
public void paint(Graphics g) {
Color c = g.getColor();
g.setColor(Color.BLACK);
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);
g.setColor(c);
for (int i = 0 ; i explodes.size(); i++){
Explode e = explodes.get(i);
e.draw(g);
}
myTank.draw(g); //画出自己坦克
myTank.eat(b);
//enemyTank.draw(g);//画出敌人坦克
//if (m != null) m.draw(g);
//画出子弹
for (int i = 0; i missiles.size(); i++){
Missile m = missiles.get(i);
m.hitTanks(tanks);
m.hitTank(myTank);
m.hitWall(w1);
m.hitWall(w2);
//m.hitTank(enemyTank);
m.draw(g);
//if (!m.isLive()) missiles.remove(m);
//else m.draw(g);
}
//画出爆炸
//e.draw(g);
if (tanks.size() = 0){
for (int i = 0; i 10; i++){
tanks.add(new Tank(50+40*(i+1),50 ,false ,Tank.Direction.D, this));
}
}
for (int i = 0; i tanks.size(); i++){
Tank t = tanks.get(i);
t.collidesWithWall(w1);
t.collidesWithWall(w2);
t.collidesWithTank(tanks);
t.draw(g);
}
//画出墙
w1.draw(g);
w2.draw(g);
b.draw(g);
}
public void update(Graphics g) {
if (offScreenImage == null){
文档评论(0)