private void annuler() { // Recuperation du contexte precedent System.out.println("moteur : annuler"); precD = f.annuler(); if (precD != null) { precD.setRefairePossible(true); // Mise a jour du contexte courant liaison.setDonnees(precD); for (int o = 0; o < d.getNbJoueurs(); o++) { ordi[o] = new Ordinateur(liaison.getDonnees(), precD.getJoueurs()[o].getDifficulte()); } // ordi = new Ordinateur(liaison.getDonnees()); // Recuperation des coordonnees du pengouin Coordonnees cx = precD.getCoordPingouinAcc(); // Mise a jour des cases accessibles if (cx != null) { precD.getTerrain().annulerCasesAccessibles(cx); } tabj = precD.getJoueurs(); // System.out.println("JC : "+tabj[precD.getJoueurCourant()].getNom()); // System.out.println("PR : "+tabj[precD.getJoueurCourant()].getPingouinsRestants()); d = precD; } }
public void run() { do { liaison.attendre(); d = liaison.getDonnees(); tabj = d.getJoueurs(); // if(a == Action.Sauvegarder || a == Action.Charger // || a == Action.JouerCoup || a == Action.CaseAccessibles // || a == Action.AnnulerCaseAccessibles){ // f.viderRefaire(); // } if (d.isViderPile()) { f.viderRefaire(); } d.setViderPile(false); liaison.setActionPrec(d.getAction()); System.out.println("[Moteur] Action : " + d.getAction()); switch (d.getAction()) { case ListerFichiers: // Liste des fichiers sauvegardes String[] s = f.listerFichier(); d.setListeFichier(s); break; case Charger: System.out.println("[Moteur] Charger() --> perso ? : " + d.isPartiePerso()); this.charger(); break; case ChargerApercu: this.chargerApercu(); break; case Sauvegarder: this.sauvegarder(); break; case CaseAccessibles: // Recuperation des coordonnees du pengouin Coordonnees c = d.getCoordPingouinAcc(); // Mise a jour des cases accessibles d.getTerrain().casesAccessibles(c); break; case AnnulerCaseAccessibles: // Recuperation des coordonnees du pengouin Coordonnees cA = d.getCoordPingouinAcc(); // Mise a jour des cases accessibles d.getTerrain().annulerCasesAccessibles(cA); break; case JouerCoup: this.jouerCoup(); break; case Annuler: this.annuler(); break; case Refaire: this.refaire(); break; case Conseil: this.conseil(); break; case PlacerPingouin: this.placerPingouin(); break; case Quitter: continuer = false; break; case SupprimerSauvegarde: this.supprimerSauvegarde(); break; default: break; } liaison.notifierMiseAJour(); } while (continuer); }