IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Programme : Jeu de dés !


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2011
    Messages : 19
    Points : 15
    Points
    15
    Par défaut Programme : Jeu de dés !
    É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);
     
    }
    }

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 34
    Points : 46
    Points
    46
    Par défaut
    Je pense que c'est +/- ça que tu cherches
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
    import java.util.Scanner;
    import java.io.*;
     
    public class Craps{
    	static int gagne = 1;
    	static int perdu = 1;
    	static int nombreLancer = 0;
    	static int point = 0;
    	public static void main (String [] args){
    		do{
    			boolean check = true; 
    			do {
    				if( jeu() != 2 ){
    					check = false;
    				}
    			}while ( check );
    		}while(getReplay());
    		System.out.println("Nombre de lancé : " + (nombreLancer));
    		System.out.println("Partie gagnée : " + (perdu==0?"0": (double) ((double) nombreLancer/(double) gagne)));
    		System.out.println("Partie perdue : " + (gagne==0?"0": (double) ((double) nombreLancer/(double) perdu)));
    	}
     
    	static boolean getReplay(){
    		try
    		{
    			char valeur ;
    			do{
    				System.out.print("Voulez vous rejouer ? (o/n) : ");
    				valeur = (new BufferedReader(new InputStreamReader(System.in)).readLine()).charAt(0);
    				if( valeur=='o' || valeur=='O' || valeur=='y' || valeur =='Y'){
    					return true;
    				}
    			}while(valeur != 'n' && valeur != 'N');
    		}catch(Exception error){}
    		return false ;
    	}
     
    	static int jeu(){
    		System.out.println("Jettez les 2 dés: ");
    		int d1 = (int) (Math.random()*5 + 1);
    		int d2 = (int) (Math.random()*5 + 1);
    		nombreLancer++;
    		if ((d1 + d2) == 2 || (d1 + d2) == 3 || (d1 + d2) == 12)
    		{
    			System.out.println("jeté: " + d1 + " + " + d2 + " = " + (d1 + d2) + "Perdu ");
    			perdu++;
    			point = 0;
    			return 0;
    		}else{
    			if ((d1 + d2) == 7 || (d1+ d2) == 11 || (d1+ d2) == point){
    				System.out.println("jeté: " + d1 + " + " + d2 + " = " + (d1 + d2) + "Gagné ");
    				gagne++;
    				point = 0;
    				return 1;
    			}else{
    				if( point == 0 ){
    					point = (d1 + d2);
    				}
    				System.out.println("jeté: " + d1 + " + " + d2 + " = " + (d1 + d2) + "Recommence ");
    				return 2;
    			}
    		}
    	}
    }

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2011
    Messages : 19
    Points : 15
    Points
    15
    Par défaut
    Merci mais, mais comme tu peut le voir à chaque perte ou gain, on n'affiche le nombre de coups joué, et le nombre de parties maximum est 30 .

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2008
    Messages : 34
    Points : 46
    Points
    46
    Par défaut
    tu peut le voir à chaque perte ou gain, on n'affiche le nombre de coups joué
    Tu crées une fonction d'affichage, tu l'appelles après chaque gain ou perte.
    le nombre de parties maximum est 30
    Tu crées une variable de parties faites. Tu l'incrémentes à chaque gain ou perte. Tu ajoutes une condition dans le while de sortie

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2011
    Messages : 19
    Points : 15
    Points
    15
    Par défaut
    Okay Merci bien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. programmation jeu 3d avec 3ds max
    Par ihebiheb dans le forum Développement 2D, 3D et Jeux
    Réponses: 6
    Dernier message: 04/02/2010, 12h35
  2. [Recrutement] Lead programmer Jeu 2D
    Par anthonys dans le forum Projets
    Réponses: 0
    Dernier message: 13/10/2008, 22h40
  3. aide pour programmer jeu de l'oie en ruby
    Par waelgaaloul dans le forum Ruby
    Réponses: 1
    Dernier message: 03/12/2007, 19h08
  4. [Programme] Jeu 2D sous SDL
    Par stilobique dans le forum Projets
    Réponses: 20
    Dernier message: 20/05/2007, 00h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo