Écrire un programme Craps.java qui simule un joueur jouant à une variante de ce jeu. Un joueur (simulé ici) jette 2 dés à 6 faces (1, 2, 3, 4 ,5 et 6) au gré des situations suivantes:
Si la somme des deux dés est 2, 3 ou 12, le joueur perd.
Si la somme est 7 ou 11, le joueur gagne.
Si la somme est autre (4, 5, 6, 8, 9 ou 10), alors un point est établi. Le joueur lance à nouveau les dés jusqu'à ce que leur somme soit égale à 7 (auquel cas le joueur perd), ou soit égale à la valeur du point (auquel cas le joueur gagne).
Votre programme commence par demander à l'utilisateur le nombre de simulations de ce jeu (parties jouées; 1 partie correspond généralement à plusieurs lancés de dés). 30 est le nombre de simulations dans l'exemple qui suit. Votre pogramme doit simuler les parties en affichant toutes les étapes de chacune des simulations, selon le modèle (il s'agit d'un exemple):
---
simulation 1:
jeté: 6 + 5 = 11
gagné en 1 coup
---
simulation 2:
jeté: 2 + 1 = 3
perdu en 1 coup
---
simulation 3:
jeté: 6 + 2 = 8
le point est 8
jeté 1 + 3 = 4
jeté 1 + 4 = 5
jeté 2 + 6 = 8
gagné en 4 coups
---
...
nombre de parties gagnées: 18 (en 3.3 jetés en moyenne)
nombre de parties perdues: 12 (en 2.1 jetés en moyenne)
Vous prendrez soin d'arrondir les valeurs flotantes à leur première décimale (utilisez System.out.printf pour cela).
Voilà ce que j'ai produit mais je suis bloquer à la 3ème contrainte ! (Si la somme est autre) comment pourrais-je faire ?!
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 import java.util.Scanner; public class Craps{ public static void main (String [] args){ Scanner input = new Scanner(System.in); // demander de jetter les 2 dés System.out.println("Jettez les 2 dés: "); int d1 = (int) (Math.random()*5 + 1); int d2 = (int) (Math.random()*5 + 1); do { if ((d1 + d2) == 2 || (d1 + d2) == 3 || (d1 + d2) == 12) System.out.println("jeté: " + d1 + " + " + d2 + " = " + (d1 + d2) + "Perdu "); else if ((d1 + d2) == 7 || (d1+ d2) == 11) System.out.println("jeté: " + d1 + " + " + d2 + " = " + (d1 + d2) + "Gagné "); else System.out.println("jeté: " + d1 + " + " + d2 + " = " + (d1 + d2) + "Recommence "); }while ((d1 + d2) == 7 || (d1 + d2) == 11); } }
Partager