package src.estrategias;
import java.util.Iterator;
import java.util.Set;
import src.Asesino;
import src.Atacante;
import src.Enemigo;
import src.Mina;
import src.UnidadBasica;
import src.pathFinding.Astar;
import com.gameloftProgrammersCup.client.ClientCommand;
import com.gameloftProgrammersCup.clientInterfaces.Point;
import com.gameloftProgrammersCup.client.Vision;
public class EstrategiaAsesino extends EstrategiaUnidad{
public ClientCommand accionDeTurno(UnidadBasica ub)
{return accionDeTurno((Asesino)ub);}
public ClientCommand accionDeTurno(Asesino guardian){
//primero chequear si hay enemigo en rango por favor
if( guardian.enemigoEnRango() != null)
//ATTACK!
{
Enemigo enemigo = guardian.enemigoEnRango();
ClientCommand cAtaque =guardian.atacar(enemigo.getPosition());
//comandos.add(nuevoComando);
guardian.setCommand(cAtaque);
return cAtaque;
}
else {//mover
if (guardian.getPosicionTurnoAnterior()!= null && guardian.getPosition().equals(guardian.getPosicionTurnoAnterior()))//que no se traben
guardian.setDestino(null);
//if Fortaleza.mapa[guardian.getDestino()][guardian.getDestino()]
if(guardian.getDestino()==null)
guardian.setDestino(EstrategiaGeneral.getPosicionRandomEnRangoSeguridad());
guardian.setPosicionTurnoAnterior(guardian.getPosition());
return guardian.moverA(guardian, guardian.destino);
}
//
//return null;//unreachable!!
}
}