坦克大战java源代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

有些图片路径会出错要注意package com.tankgame;

import java.util.Vector;

//坦克类

class Tank

{

int x=0;

int y=0;

int color=0;

int speed=1;

int direct=0;

boolean isLive=true;

public Tank(int x,int y)

{

this.x=x;

this.y=y;

}

public int getX() {

return x;

}

public void setX(int x) {

this.x = x;

}

public int getY() {

return y;

}

public void setY(int y) {

this.y = y;

}

public int getDirect() {

return direct;

}

public void setDirect(int direct) {

this.direct = direct;

}

public int getColor() {

return color;

}

public void setColor(int color) {

this.color = color;

}

}

//我的坦克

class Hero extends Tank

{

Shot shot=null;

Vector shotm=new V ector();

public Hero(int x,int y)

{

super(x,y);

this.color=5;

}

//坦克具有一个打击敌人的方法

public void shotenemy(int x,int y,int direct)

{

switch(direct)

{

case 0:

shot=new Shot(this.x+10,this.y,0);

shotm.add(shot);

break;

case 1:

shot=new Shot(this.x+30,this.y+10,1);

shotm.add(shot);

break;

case 2:

shot=new Shot(this.x+10,this.y+30,2);

shotm.add(shot);

break;

case 3:

shot=new Shot(this.x,this.y+10,3);

shotm.add(shot);

break;

}

Thread th=new Thread(shot);

th.start();

}

//调整速度

public void moveup()

{

y-=speed;

}

public void moveright()

{

x+=speed;

}

public void movedown()

{

y+=speed;

}

public void moveleft()

{

x-=speed;

}

}

//敌人的坦克

class EnemyTank extends Tank implements Runnable {

Vectorensh=new Vector();

Vectorets=new Vector();

public EnemyTank(int x, int y)

{

super(x, y);

this.setColor(2);

this.setDirect(2);

}

//获取MPanel上的敌人坦克

public void setets(Vector vv)

{

this.ets=vv;

}

//判断敌人的坦克是否碰撞

public boolean isTouch()

{

boolean b=false;

EnemyTank et=null;

switch(direct)

{

case 0:

for(int i=0;i

{

et=ets.get(i);

if(et!=this)

{

if(et.direct==0||et.direct==2)

{

if(this.x>=et.x&&this.x<=et.x+20&&this.y<=et.y+30&&this.y>et.y)

{

return true;

}

if(this.x+20>=et.x&&this.x+20<=et.x+20&&this.y<=et.y+30&&this.y>et.y)

{

return true;

}

}

if(et.direct==1||et.direct==3)

{

if(this.x>=et.x&&this.x<=et.x+30&&this.y<=et.y+20&&this.y>et.y)

{

return true;

}

if(this.x+20>=et.x&&this.x+20<=et.x+30&&this.y<=et.y+20&&this.y>et.y)

{

return true;

}

}

}

相关文档
最新文档