je fais un projet sur un jeu de blackjack ! mais j'ai de la difficulté avec la règle de l'as.
j'ai réussi a trouver un code mais il utilise un booléen .
est ce que quelqu'un connait une autre façon d'écrire ce code en utilisant des if?
je doit traduire a la fin mon code en assembleur donc je peux pas utiliser de booléen.merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
public int getBlackjackValue() {
 
 
         int val;      // valeur de la main.
         boolean ace;  // ceci est vrai si la main contient un as
 
         int cards;    //nombre de carte dans la main
 
         val = 0;
         ace = false;
         cards = getCardCount();
 
         for ( int i = 0;  i < cards;  i++ ) {
 
             Card card;    // le i-th card; 
             int cardVal;  // la valeur du blackjack
             card = getCard(i);
             cardVal = card.getValue();  // valeur normal,1 a 13.
             if (cardVal > 10) {
                 cardVal = 10;   // pour un Jack, Queen, ou King.
             }
             if (cardVal == 1) {
                 ace = true;     //il ya au moins un as
             }
             val = val + cardVal;
          }
 
             Maintenant, val est la valeur de la main, en comptant tous les As comme 1.
 
             // s'il ya un as et changeant la valeur de 1 a 
             // 11 laisserait le score inférieur ou égal a 1
             // puis le faire en ajoutant les 10 points supplémentaires à val
 
 
          if ( ace == true  &&  val + 10 <= 21 )
              val = val + 10;
 
          return val;
 
     }  // fin getBlackjackValue()
regle de l'as

L'as (1) vaut, en fonction du joueur, 1 ou 11. Le choix n'est pas fait au moment la saisie.

Lorsque la valeur minimale possible de la main dépasse 21, le joueur perd le tour.

Lorsque le joueur décide de rester, la valeur finale de la main est la plus grande possible qui ne dépasse pas 21.

règle du blackjack

Si les deux premières cartes totalisent 21 (nécessairement un as et une bûche), le tour est gagné instantanément et le programme affiche «21 Black Jack» (le joueur n'a pas besoin d'entrer 0 pour rester).

En mode d’entraînement, le programme retourne à la sélection du mode de jeu.

Si le score atteint 21 avec trois cartes ou plus, ce n'est pas un Black Jack.