Base base1 = iaBases.get(nb);
// Si j'ai déjà un base sélectionnée, je fais mon déplacement
if(this.getSelectedBases() != null) {
//On ajoute la commande Move dans la file de commande
Move command1 = new Move(this, this.getSelectedBases(), base1);
Engine.getInstance().getCommands().add(command1);
}
// Si je n'ai pas de base sélectionnée, je selectionne ma base
else {
//On ajoute la commande SelectHisBase dans la file de commande
SelectBase command1 = new SelectBase(this, base1);
Engine.getInstance().getCommands().add(command1);
}
}
break; // ------------------------------------------------------------------------------------------
case 5: // ---------------------------------------------------------------------------------------------
// Je veux faire une attaque
// Si j'ai déjà une base selectionnée, je choisi une base ennemi et j'attaque
if(this.getSelectedBases() != null) {
//On crée la liste de toutes les bases ennemi à l'IA au moment présent
ArrayList<Base> ennemiBases = new ArrayList<Base>();
// Seulement les bases ennemi mais aussi les bases neutres
for(Base b : Game.getInstance().getBaseManager().getBases()) {
if(b.getPlayer() == null) {
ennemiBases.add(b);
}
if(b.getPlayer() != null) {
if(b.getPlayer().getName() != this.getName()) {
ennemiBases.add(b);
}
}
}
// On tire un nombre entier aléatoire entre 0 et le total des bases ennemis
if( ennemiBases.size() <= 0) {
break;
} else {
int nb = rand.nextInt(ennemiBases.size());
Base base1 = ennemiBases.get(nb);
//On ajoute la commande Attack dans la file de commande
Move command1 = new Move(this, this.getSelectedBases(), base1);
if(base1.getPlayer() == null) {
System.out.println(this.getName()+" envoie ses troupes sur une base neutre");
} else {
System.out.println(this.getName()+" envoie ses troupes sur une base de "+base1.getPlayer().getName());
}