has two class tank
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
public class TanqueMarrom extends Actor
{
public String equipe = "TanquePreto";
public static String turno=null;
public void act()
{
if(Greenfoot.mouseClicked(this))
{
getWorld().removeObjects(getWorld().getObjects(EspacoM.class));
checkY();
checkX();
checkY2();
checkX2();;
((Tabuleiro)getWorld()).X = getX();
((Tabuleiro)getWorld()).Y = getY();
// movimentaPara(getX(), getY());
// atualizacaoEspaco();
getWorld().removeObjects(getWorld().getObjectsAt(getX(),getY(),EspacoM.class));
}
}
public void checkX()
{
boolean permitir = true;
int a =-1;
int b=0;
while(getOneObjectAtOffset(a,b,null)==null&&a+getX()>=0)
{
getWorld().addObject(new EspacoM(),getX()+a, getY()+b);
a--;
}
if(getOneObjectAtOffset(a,b,TanquePreto.class)!=null)
getWorld().addObject(new EspacoM(),getX()+a, getY()+b);
int x = 1;
int y = 0;
while(getOneObjectAtOffset(x,y,null)==null&&x<11)
{
getWorld().addObject(new EspacoM(),getX()+x, getY()+y);
x++;
}
if(getOneObjectAtOffset(x,y,TanquePreto.class)!=null)
getWorld().addObject(new EspacoM(),getX()+x, getY()+y);
}
public void checkY()
{
int c=0;
int d=1;
while(getOneObjectAtOffset(c,d,null)==null&&d<0)
{
getWorld().addObject(new EspacoM(),getX()+c, getY()+d);
d++;
}
if(getOneObjectAtOffset(c,d,TanquePreto.class)!=null)
getWorld().addObject(new EspacoM(),getX()+c, getY()+d);
int e=0;
int f=-1;
while(getOneObjectAtOffset(e,f,null)==null&&f+getY()>=0)
{
getWorld().addObject(new EspacoM(),getX()+e, getY()+f);
f--;
}
if(getOneObjectAtOffset(e,f,TanquePreto.class)!=null)
getWorld().addObject(new EspacoM(),getX()+e, getY()+f);
}
public void checkX2()
{
int a =-1;
int b=-1;
while(getOneObjectAtOffset(a,b,null)==null&&a+getX()>=0&&b+getY()>=0)
{
getWorld().addObject(new EspacoM(),getX()+a, getY()+b);
a--;
b--;
}
if(getOneObjectAtOffset(a,b,TanquePreto.class)!=null&&a+getX()>=0&&b+getY()>=0)
getWorld().addObject(new EspacoM(),getX()+a, getY()+b);
int x = 1;
int y = 1;
while(getOneObjectAtOffset(x,y,null)==null&&getX()+x<11&&getY()+y<0)
{
getWorld().addObject(new EspacoM(),getX()+x, getY()+y);
x++;
y++;
}
if(getOneObjectAtOffset(x,y,TanquePreto.class)!=null)
getWorld().addObject(new EspacoM(),getX()+x, getY()+y);
}
public void checkY2()
{
int c=-1;
int d=0;
while(getOneObjectAtOffset(c,d,null)==null&&d+getY()<11&&c+getX()>=0)
{
getWorld().addObject(new EspacoM(),getX()+c, getY()+d);
d--;
c--;
}
if(getOneObjectAtOffset(c,d,TanquePreto.class)!=null&&d+getY()<11&&c+getX()>=0)
getWorld().addObject(new EspacoM(),getX()+c, getY()+d);
int e=1;
int f=-1;
while(getOneObjectAtOffset(e,f,null)==null&&f+getY()>=-1&&e+getX()<11)
{
getWorld().addObject(new EspacoM(),getX()+e, getY()+f);
f--;
e++;
}
if(getOneObjectAtOffset(e,f,TanquePreto.class)!=null&&f+getY()>=-1&&e+getX()<11)
getWorld().addObject(new EspacoM(),getX()+e, getY()+f);
}
public void turno() //aque e :a vez do tanque que joga
{
if(TanqueMarrom.turno == "TanqueMarrom")
TanqueMarrom.turno = "TanquePreto";
else
TanqueMarrom.turno = "TanqueMarrom";
}
public boolean adversario(TanqueMarrom tanque) //inimigo
{
if(tanque.equipe != equipe)
{
return true;
}
return false;
}
}
