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
| public void deplacerTortue(Tortue t,EAction e){
switch(e){
case Avancer:
deplacerTortues(t, 1);
break;
case Reculer:
deplacerTortues(t, -1);
break;
}
/**
* Déplacer toutes les tortues au dessus de t y compris t, d'un nombre de cases spécifié par deplacement (peut-être négatif)
*/
private void deplacerTortues(Tortue t, int deplacerment) {
List<Tortue> tortuesADeplacer = cases.get(t.getPosition()).getTortuesAuDessus(t);
for(Tortue tortue : tortuesADeplacer) { // créer implicitement un itérateur et itére dessus
deplacerTortue(tortue, 1);
}
}
/**
* Déplacer la tortue spécifiée d'un nombre de cases spécifié par deplacement (peut-être négatif)
*/
private void deplacerTortue(Tortue tortue, int deplacement) {
int position = tortue.getPosition();
cases.get(position).supprimerTortue(tortue); // on supprimer la tortue de la case où elle se trouve
position+=deplacement; // on change la position
tortue.setPosition(position);
cases.get(position).ajouterTortue(tortue); // on pose la tortue sur la nouvelle case
} |
Partager