コード例 #1
0
ファイル: Game.java プロジェクト: penouille/Stratego-ucl
 /**
  * place le maréchal et l'espion
  *
  * @param listPion
  */
 protected void setEspionAndMarechal(ArrayList<Pion> listPion) {
   int t;
   Random r = new Random();
   t = r.nextInt(30);
   if (isNothingOnCase(t / 10, t % 10)
       && (isNothingOnCase(t / 10 - 1, t % 10)
           || isNothingOnCase(t / 10, t % 10 - 1)
           || isNothingOnCase(t / 10, t % 10 + 1))) {
     map.setEtat(t / 10, t % 10, getPion(listPion, "marechal"));
     if (isNothingOnCase(t / 10 - 1, t % 10))
       map.setEtat(t / 10 - 1, t % 10, getPion(listPion, "espion"));
     else if (isNothingOnCase(t / 10, t % 10 - 1))
       map.setEtat(t / 10, t % 10 - 1, getPion(listPion, "espion"));
     else map.setEtat(t / 10, t % 10 + 1, getPion(listPion, "espion"));
   } else setEspionAndMarechal(listPion);
 }
コード例 #2
0
ファイル: Game.java プロジェクト: penouille/Stratego-ucl
  /**
   * 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");
      }
    }
  }
コード例 #3
0
ファイル: Game.java プロジェクト: penouille/Stratego-ucl
 /**
  * place les eclaireurs
  *
  * @param listPion
  */
 protected void setEclaireur(ArrayList<Pion> listPion) {
   map.setEtat(3, 0, getPion(listPion, "eclaireur"));
   map.setEtat(3, 1, getPion(listPion, "eclaireur"));
   map.setEtat(3, 4, getPion(listPion, "eclaireur"));
   map.setEtat(3, 5, getPion(listPion, "eclaireur"));
   map.setEtat(3, 8, getPion(listPion, "eclaireur"));
   map.setEtat(3, 9, getPion(listPion, "eclaireur"));
   Pion temp = getPion(listPion, "eclaireur");
   int t;
   Random r = new Random();
   while (temp != null) {
     t = r.nextInt(10);
     if (isNothingOnCase(2, t)) {
       map.setEtat(2, t, temp);
       temp = getPion(listPion, "eclaireur");
     }
   }
 }
コード例 #4
0
ファイル: Game.java プロジェクト: penouille/Stratego-ucl
 /**
  * place les démineurs
  *
  * @param listPion
  */
 protected void setDemineur(ArrayList<Pion> listPion) {
   int t, i = 0;
   Random r = new Random();
   Pion temp = getPion(listPion, "demineur");
   while (i < 3) {
     t = r.nextInt(20);
     if (isNothingOnCase(t / 10, t % 10)) {
       map.setEtat(t / 10, t % 10, temp);
       temp = getPion(listPion, "demineur");
       i++;
     }
   }
   while (temp != null) {
     t = 20 + r.nextInt(20);
     if (isNothingOnCase(t / 10, t % 10)) {
       map.setEtat(t / 10, t % 10, temp);
       temp = getPion(listPion, "demineur");
     }
   }
 }
コード例 #5
0
ファイル: Game.java プロジェクト: penouille/Stratego-ucl
 /**
  * place les autres pions
  *
  * @param listPion
  */
 protected void setOthersPions(ArrayList<Pion> listPion) {
   int t, place;
   Random r = new Random();
   while (listPion.size() != 0) {
     t = r.nextInt(listPion.size());
     place = r.nextInt(40);
     if (isNothingOnCase(place / 10, place % 10)) {
       map.setEtat(place / 10, place % 10, listPion.get(t));
       listPion.remove(t);
     }
   }
 }
コード例 #6
0
ファイル: Game.java プロジェクト: penouille/Stratego-ucl
 /**
  * place les lieutenants
  *
  * @param listPion
  */
 protected void setLieutenant(ArrayList<Pion> listPion) {
   int t;
   Random r = new Random();
   Pion temp = getPion(listPion, "lieutenant");
   while (temp != null) {
     t = r.nextInt(40);
     if (isNothingOnCase(t / 10, t % 10)) {
       map.setEtat(t / 10, t % 10, temp);
       temp = getPion(listPion, "lieutenant");
     }
   }
 }
コード例 #7
0
ファイル: Game.java プロジェクト: penouille/Stratego-ucl
 /**
  * place le drapeau avec des bombes autour
  *
  * @param listPion
  */
 protected void setDrapeau(ArrayList<Pion> listPion) {
   int t;
   Random r = new Random();
   t = r.nextInt(30);
   if (t == 20 || t == 21 || t == 24 || t == 25 || t == 28 || t == 29) setDrapeau(listPion);
   else {
     map.setEtat(t / 10, t % 10, getPion(listPion, "drapeau"));
     // une bombe à gauche du drapeau
     if (isNothingOnCase(t / 10, t % 10 - 1))
       map.setEtat(t / 10, t % 10 - 1, getPion(listPion, "bombe"));
     // une bombe en haut du drapeau
     if (isNothingOnCase(t / 10 - 1, t % 10))
       map.setEtat(t / 10 - 1, t % 10, getPion(listPion, "bombe"));
     // une bombe à droite du drapeau
     if (isNothingOnCase(t / 10, t % 10 + 1))
       map.setEtat(t / 10, t % 10 + 1, getPion(listPion, "bombe"));
     // une bombe en bas du drapeau
     if (isNothingOnCase(t / 10 + 1, t % 10))
       map.setEtat(t / 10 + 1, t % 10, getPion(listPion, "bombe"));
   }
 }
コード例 #8
0
ファイル: Game.java プロジェクト: penouille/Stratego-ucl
 /**
  * crée et place un pion sur la carte
  *
  * @param pionPath
  * @param x
  * @param y
  * @param joueur
  */
 public void createAndPlacePion(String pionPath, int x, int y, boolean joueur) {
   Pion pion = getTypePion(pionPath, joueur);
   map.setEtat(x, y, pion);
 }
コード例 #9
0
ファイル: Game.java プロジェクト: penouille/Stratego-ucl
 /**
  * place le pion au coordonné (oldX, oldY) au position (x,y) sur la carte
  *
  * @param oldX
  * @param oldY
  * @param x
  * @param y
  */
 public void placePion(int oldX, int oldY, int x, int y) {
   map.setEtat(x, y, map.getPion(oldX, oldY));
   map.setEtat(oldX, oldY, null);
 }