Advertisement
Guest User

Untitled

a guest
Dec 8th, 2019
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.29 KB | None | 0 0
  1.  public boolean estQFR(List<Carte> carteMains, JoueurPoker jp) {
  2.  
  3.         // permet de savoir si As il y a.
  4.         List<Carte> trouve = new ArrayList<Carte>();
  5.         int cpt = 1;
  6.         int j = 0;
  7.         trouve = this.rechercherCarte(carteMains, 14);
  8.  
  9.         // s'il n'y a pas d'As alors il ne peut y avoir Quinte Flush Royale
  10.         if (trouve.isEmpty()) {
  11.             return false;
  12.         } else {
  13.             // on parcourt en fonction des as.
  14.             for (int i = 0; i < trouve.size(); i++) {
  15.                 j = 0;
  16.                 //on cherche s'il y a un dix
  17.                 while (carteMains.get(j).getValeur() != 10 && j < carteMains.size() - 1) {
  18.                     // pour démarrer le comptage des cartes.
  19.                     j++;
  20.                 }
  21.                 // on parcourt donc de j à 6
  22.                 while (j < carteMains.size() - 1) {
  23.                     // si on est supérieur a 2 soit 3 cartes et que l'on a pas encore 3 de correctes cartes alors on ne pourra plus avoir de Quinte Flush Royale ou si la couleur est incorrecte, alors on ne poursuit pas.
  24.                     if ((j > 2 && cpt < 2) || (carteMains.get(j).getCouleur().compareTo(trouve.get(i).getCouleur()) != 0)) {
  25.                         break;
  26.                     } else {
  27.                         if ((trouve.get(i).getCouleur().compareTo(carteMains.get(j).getCouleur()) == 0)
  28.                                 && (trouve.get(i).getCouleur().compareTo(carteMains.get(j + 1).getCouleur()) == 0)
  29.                                 && (carteMains.get(j).getValeur() + 1 == carteMains.get(j + 1).getValeur())) {
  30.                             cpt++;
  31.                             // dès que l'on a 4 cartes alors on sait qu'il y a Quinte Flush Royale. 4 cartes car nous savons qu'il y a déjà un as et on calcule la somme de la main pour pouvoir tester ensuite
  32.                             if (cpt == 4) {
  33.                                 jp.setTypeDeMain(900);
  34.                                 return true;
  35.                             }
  36.                             // sinon on reset le compteur.
  37.                         } else {
  38.                             cpt = 1;
  39.                         }
  40.                     }
  41.                     j++;
  42.                 }
  43.             }
  44.         }
  45.         return false;
  46.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement