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; } }