예제 #1
1
  /**
   * méthode qui place automatiquement les pions du joueurs.
   *
   * @param joueur
   * @param isAnIA
   */
  public void dude(boolean joueur, boolean isAnIA) {
    ArrayList<Pion> listPion = initializePions(joueur, isAnIA);

    if (joueur) {
      reverse(map.getMap());
    }

    for (int i = 0; i < 4; i++) {
      for (int j = 0; j < 10; j++) {
        removePion(i, j);
      }
    }

    setDrapeau(listPion);
    setEclaireur(listPion);
    setBombe(listPion);
    setEspionAndMarechal(listPion);
    setDemineur(listPion);
    setSergent(listPion);
    setLieutenant(listPion);
    setOthersPions(listPion);

    if (joueur) {
      reverse(map.getMap());
    }
  }
예제 #2
0
  /**
   * place les bombes comme si elle protegeait le drapeau, sauf qu'elle protège un sergent.
   *
   * @param listPion
   */
  protected void setBombe(ArrayList<Pion> listPion) {
    int t;
    Random r = new Random();
    t = r.nextInt(20);
    if (isNothingOnCase(t / 10 + 1, t % 10)
        && isNothingOnCase(t / 10, t % 10 - 1)
        && isNothingOnCase(t / 10, t % 10 + 1)) {
      map.setEtat(t / 10 + 1, t % 10, getPion(listPion, "bombe"));
      if (t % 10 < 5) {
        // Si la case designé par t est plus à gauche, je commence par mettre à droite
        map.setEtat(t / 10, t % 10 + 1, getPion(listPion, "bombe"));
        if (isNothingOnCase(t / 10, t % 10 - 1))
          map.setEtat(t / 10, t % 10 - 1, getPion(listPion, "bombe"));
      } else {
        // Si la case designé par t est plus à droite, je commence par mettre à gauche
        map.setEtat(t / 10, t % 10 - 1, getPion(listPion, "bombe"));
        if (isNothingOnCase(t / 10, t % 10 + 1))
          map.setEtat(t / 10, t % 10 + 1, getPion(listPion, "bombe"));
      }
      if (isNothingOnCase(t / 10, t % 10))
        map.setEtat(t / 10, t % 10, getPion(listPion, "sergent"));

    } else setBombe(listPion);
    Pion temp = getPion(listPion, "bombe");
    while (temp != null) {
      t = r.nextInt(40);
      if (isNothingOnCase(t / 10, t % 10)) {
        map.setEtat(t / 10, t % 10, temp);
        temp = getPion(listPion, "bombe");
      }
    }
  }