急!!!Java坦克大战 敌人坦克跑了一会儿就全都消失了 10
设置完随机跑四个方向后,敌人坦克往下跑了一下,之后就全都消失了。我调试过后发现,它们虽然不见了但是依旧在改变方向移动中。//敌人的坦克,做成线程类classEnemyTa...
设置完随机跑四个方向后,敌人坦克往下跑了一下,之后就全都消失了。我调试过后发现,它们虽然不见了但是依旧在改变方向移动中。
//敌人的坦克,做成线程类
class EnemyTank extends Tank implements Runnable
{
boolean isLive=true;
public EnemyTank(int x,int y)
{
super(x,y);
}
@Override
public void run() {
// TODO Auto-generated method stub
while(true)
{
switch (this.direct) {
case 0:
for(int i=0;i<30;i++)
{
if(y>0){
y-=speed;
try {
Thread.sleep(50);
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
}
}
break;
case 1:
for(int i=0;i<30;i++)
{
if(x<400){
x+=speed;
try {
Thread.sleep(50);
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
}
}
break;
case 2:
for(int i=0;i<30;i++)
{ if(y<300){
y+=speed;
try {
Thread.sleep(50);
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
}
}
break;
case 3:
for(int i=0;i<30;i++)
{
if(x>0){
x-=speed;
try {
Thread.sleep(50);
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
}
}
break;
}
//让坦克随机产生一个新的方向
this.direct=(int)(Math.random()*4);
//判断敌人坦克是否死亡
if(this.isLive=false)
{
//让坦克死亡后,退出线程
break;
}
}
}
}
以上是我写的敌人坦克类。到底是哪里出现问题呢? 展开
//敌人的坦克,做成线程类
class EnemyTank extends Tank implements Runnable
{
boolean isLive=true;
public EnemyTank(int x,int y)
{
super(x,y);
}
@Override
public void run() {
// TODO Auto-generated method stub
while(true)
{
switch (this.direct) {
case 0:
for(int i=0;i<30;i++)
{
if(y>0){
y-=speed;
try {
Thread.sleep(50);
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
}
}
break;
case 1:
for(int i=0;i<30;i++)
{
if(x<400){
x+=speed;
try {
Thread.sleep(50);
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
}
}
break;
case 2:
for(int i=0;i<30;i++)
{ if(y<300){
y+=speed;
try {
Thread.sleep(50);
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
}
}
break;
case 3:
for(int i=0;i<30;i++)
{
if(x>0){
x-=speed;
try {
Thread.sleep(50);
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
}
}
break;
}
//让坦克随机产生一个新的方向
this.direct=(int)(Math.random()*4);
//判断敌人坦克是否死亡
if(this.isLive=false)
{
//让坦克死亡后,退出线程
break;
}
}
}
}
以上是我写的敌人坦克类。到底是哪里出现问题呢? 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询