Ejemplo n.º 1
0
  private void conseil() {
    if (!d.joueurCourant().estOrdi()) {

      if (d.isPlacementTermine()) {
        ordi[d.getJoueurCourant()].prochainCoup();
        d.setCoordConseilPingouinDep(
            new Coordonnees(d.getCoordPingouinDep().getI(), d.getCoordPingouinDep().getJ()));
        d.setCoordConseilPingouinArr(
            new Coordonnees(d.getCoordPingouinArr().getI(), d.getCoordPingouinArr().getJ()));
        System.out.println(
            "Conseil: de " + d.getCoordPingouinDep() + " vers " + d.getCoordPingouinArr());

      } else {
        //				System.out.println("donnees du moteur : " + d);
        //				d.getTerrain().afficher();
        ordi[d.getJoueurCourant()].placerPingouin();
        d.setCoordConseilPingouinInitial(
            new Coordonnees(
                d.getCoordPingouinInitial().getI(), d.getCoordPingouinInitial().getJ()));
        System.out.println("Conseil: de " + d.getCoordConseilPingouinInitial());
        System.out.println(
            "Tuile conseil : "
                + d.getTerrain()
                    .consulter(
                        d.getCoordConseilPingouinInitial().getI(),
                        d.getCoordConseilPingouinInitial().getJ()));
      }
    }
  }
Ejemplo n.º 2
0
  private void placerPingouin() {
    // Recuperation du contexte courant
    copieDP = liaison.getDonnees().copie();

    if (d.getJoueurs()[d.getJoueurCourant()].getDifficulte()
        != ordi[d.getJoueurCourant()].getDifficulte()) {
      ordi[d.getJoueurCourant()] =
          new Ordinateur(d, d.getJoueurs()[d.getJoueurCourant()].getDifficulte());
    }

    if (tabj[d.getJoueurCourant()].estOrdi()) ordi[d.getJoueurCourant()].placerPingouin();
    // Recuperation des coordonnees du pengouin
    Coordonnees ci = d.getCoordPingouinInitial();

    // Placement du pengouin
    if (tabj[d.getJoueurCourant()].ajouterPengouin(ci) < 0) {
      System.out.println(tabj[d.getJoueurCourant()].getNom() + " : Placement impossible");
      return;
    } else {
      d.setAnnulerPossible(true);

      // Sauvegarde du contexte avant placement pour une eventuelle recuperation
      f.empilerAnnuler(copieDP);

      // Si tous les placements sont termines, l'indiquer aux autres
      if (placementTermine()) {
        d.setPlacementPingouinTermine(placementTermine());
        d.getTerrain().verifierBlocages(tabj);
        //			f.viderAnnuler();
      }
      //		System.out.println(placementTermine());

      // Mise a jour du joueur courant
      if (d.getJoueurCourant() == d.getNbJoueurs() - 1) {
        d.setJoueurCourant(0);
      } else {
        d.setJoueurCourant(d.getJoueurCourant() + 1);
      }
    }
  }