1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
/**
* Retourne une collection de nouvelles fourmis
* @return ArrayList de fourmis
*/
public ArrayList<Fourmi> produire(){
//Collection qui contiendra les nouvelles fourmis qui vont naître
ArrayList<Fourmi> lesNouvellesFourmis = new ArrayList<Fourmi>();
//initialisations
Ouvriere uneOuvriere = new Ouvriere();
Soldat unSoldat = new Soldat();
Soigneur unSoigneur = new Soigneur();
//5 ouvrieres
genererFourmi(5, uneOuvriere, lesNouvellesFourmis);
//3 soldats
genererFourmi(3, unSoldat, lesNouvellesFourmis);
//2 soigneurs
genererFourmi(2, unSoigneur, lesNouvellesFourmis);
return lesNouvellesFourmis;
}
public Message action() {
return Message.getInstance(1, "Dix nouvelles fourmis viennent dans la fourmilière");
}
//LOCAL
private void genererFourmi(int nbre, Fourmi typeFourmi, ArrayList<Fourmi> collecFourmi){
if(typeFourmi instanceof Ouvriere) {
for(int i = 0; i<nbre; i++){
Ouvriere uneOuvriere = new Ouvriere(1);
collecFourmi.add(uneOuvriere);
}
}else if(typeFourmi instanceof Soldat) {
for(int i = 0; i<nbre; i++){
Soldat unSoldat = new Soldat(1);
collecFourmi.add(unSoldat);
}
}else if(typeFourmi instanceof Soigneur) {
for(int i = 0; i<nbre; i++){
Soigneur unSoigneur = new Soigneur(1);
collecFourmi.add(unSoigneur);
}
}
} |