该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
判断重叠代码如下:
switch(this.direct){
case 0:
//我的坦克向上
//取出所有的敌人坦克
for(int i=0;i
//取出第一个坦克
EnemyTank 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&&this.y<=et.y+30){
return true;
}
//右边的点
if((this.x+20)>=et.x&&(this.x+20)<=et.x+20&&this.y>=et.y&&this.y<=et.y+30){
return true;
}
//如果被判断坦克的方向是向左或者向右
if(et.direct==3||et.direct==1){
//左边的点
if(this.x>=et.x&&this.x<=et.x+30&&this.y>=et.y&&this.y<=et.y+20){
return true;
}
//右边的点
if((this.x+20)>=et.x&&(this.x+20)<=et.x+30&&this.y>=et.y&&this.y<=et.y+20){
return true;
}
}
}
}
}
break;
case 1:
//坦克向右
//取出所有的敌人坦克
for(int i=0;i
//取出第一个坦克
EnemyTank et = ets.get(i);
//如果不是自己
if(et!=this){
//如果被判断坦克的方向是向下或者向上
if(et.direct==0||et.direct==2){
//左边的点
if(this.x+30>=et.x&&this.x+30<=et.x+20&&this.y>=et.y&&this.y<=et.y+30){
return true;
}
//右边的点
if((this.x+30)>=et.x&&(this.x+30)<=et.x+20&&this.y+20>=et.y&&this.y+20<=et.y+30){
return true;
}
//如果被判断坦克的方向是向左或者向右
if(et.direct==3||et.direct==1){
//左边的点
if(this.x+30>=et.x&&this.x+30<=et.x+30&&this.y>=et.y&&this.y<=et.y+20){
return true;
}
//右边的点
if((this.x+30)>=et.x&&(this.x+30)<=et.x+30&&this.y+20>=et.y&&this.y+20<=et.y+20){
return true;
}
}
}
}
}
break;
case 2:
//坦克向下
//取出所有的敌人坦克
for(int i=0;i
//取出第一个坦克
EnemyTank 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+30>=et.y&&this.y+30<=et.y+30){
return true;
}
//右边的点
if((this.x+20)>=et.x&&(this.x+20)<=et.x+20&&this.y+30>=et.y&&this.y+30<=et.y+30){
return true;
}
//如果被判断坦克的方向是向左或者向右
if(et.direct==3||et.direct==1){
//左边的点
if(this.x>=et.x&&this.x<=et.x+30&&this.y+30>=et.y&&this.y+30<=et.y+20){
return true;
}
//右边的点
if((this.x+20)>=et.x&&(this.x+20)<=et.x+30&&this.y+30>=et.y&&this.y+30<=et.y+20){
return true;
}
}
}
}
}
break;
case 3:
//向左
//取出所有的敌人坦克
for(int i=0;i
//取出第一个坦克
EnemyTank 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&&this.y<=et.y+30){
return true;
}
//右边的点
if(this.x>=et.x&&(this.x)<=et.x+20&&this.y+20>=et.y&&this.y+20<=et.y+30){
return true;
}
//如果被判断坦克的方向是向左或者向右
if(et.direct==3||et.direct==1){
//左边的点
if(this.x>=et.x&&this.x<=et.x+30&&this.y>=et.y&&this.y<=et.y+20){
return true;
}
//右边的点
if((this.x)>=et.x&&(this.x)<=et.x+30&&this.y+20>=et.y&&this.y+20<=et.y+20){
return true;
}
}
}
}
}
break;
}