Jeu barbotte

Contenu du snippet

C'est un jeu de dé entre 2 personnes. Le tirage est fait de façon aléatoire. Aprés tirage des 2 dés la somme des faces supérieures est calculée. Si cette somme vaut 7 ou 11 au premier jet le joueur gagne. Si elle vaut 2, 3 ou 12 au premier jet, le joueur perd. Sinon si la somme vaut autre chose que ce qu'on a cité au premier jet alors elle forme les points du joueur. Dans ce cas le joueur continue à jouer le dé jusqu'à ce qu'il refasse ces points c'est à dire qu'il lance la même valeur que son premier jet pour gagner. Le joueur perd s'il lace une somme de 7 avant de refaire ces points

Source / Exemple :


/*                                          
					Regle de jeu de la barbotte
Le joueur jette deux de a 6 faces numerotées de 1 a 6 respectivemt. Une fois les des au repos la somme des cages de leur face superieure est calculée. Si cette somme vaut 7 ou 11 au premier jet, le joueur gagne. Si elle vaut 2, 3 ou 12 au premier jet, le joueur perd sinon si la somme vaut 4,5,6,8,9 ou 10 au premier jet, alors elle forme les "points" du joueur. Dans ce cas, le joueur continue a jouer les des juska ce kil refasse ces "points" c a d kil lance la meme valeur ke son premier jet pour gagner. Le joueur perd s'il lance une somme de 7 avant de refaire ses "points" 

faire une Applet
faire une fenetre pr presentation
  ____________________________________________________
 |____________________________________________________|
 |                                                    |
 |JTextLabel-->De1  |__|      De2  |__|<--JTextField  |                      	import  javax.swing.*	
 |	                                              |
 |       somme  |__|   points  |__|      	      |				        javax.awt.container	
 |						      |<----- JTextArea	        	javax;swing.JOptionPane
 |	 ______________________                	      |					
 |	|_____jeter le De______| <----- JButton       |
 |____________________________________________________|
utiliser des GUI (Graphical Use Interface)  	

  • /
import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.text.NumberFormat; public class Barbotte extends JApplet { private JLabel etiquetteDe1, etiquetteDe2, etiquetteSomme, etiquettePoints, argent, labelargent; private JTextField De1, De2, Somme, Points; private JFormattedTextField debargent; private JButton JetDe, rejoue; private int sommedispo=1000, mise; private boolean premierJet=true; final int GAGNE=0, PERD=1, CONTINUE=2; private int sommeDes=0; private int mesPoints=0; private int etatJeu=CONTINUE; public void init() { do { mise=Integer.parseInt(JOptionPane.showInputDialog("Donnez le montant de votre argent")); } while (mise>sommedispo); Container c= getContentPane(); c.setLayout (new GridLayout(6,2)); //JFormattedTextField debargent=new JFormattedTextField(NumberFormat.getIntegerInstance()); //c.add(debargent); etiquetteDe1= new JLabel("De1"); c.add(etiquetteDe1); De1= new JTextField(10); De1.setEditable(false); c.add(De1); etiquetteDe2= new JLabel("De2"); c.add(etiquetteDe2); De2= new JTextField(10); De2.setEditable(false); c.add(De2); etiquetteSomme= new JLabel("Somme"); c.add(etiquetteSomme); Somme= new JTextField(10); Somme.setEditable(false); c.add(Somme); etiquettePoints= new JLabel("Points"); c.add(etiquettePoints); Points= new JTextField(10); Points.setEditable(false); c.add(Points); JetDe= new JButton ("Jeter les des"); c.add(JetDe); rejoue= new JButton("Rejouer"); c.add(rejoue); rejoue.setEnabled(false); JetDe.addActionListener(new lancer()); argent=new JLabel(sommedispo+"F"); argent.setForeground(Color.RED); c.add(argent); rejoue.addActionListener(new rejouer()); } public void start(){ JOptionPane.showMessageDialog(null,"Bonjour","test", JOptionPane.PLAIN_MESSAGE); } public void stop(){ JOptionPane.showMessageDialog(null,"Bonjour","test", JOptionPane.PLAIN_MESSAGE); } public void destroy(){ JOptionPane.showMessageDialog(null,"Bonjour destroy","test", JOptionPane.PLAIN_MESSAGE); } public int lancerDe() { int de1,de2,sommeget; de1= 1+(int)(Math.random()*6); de2= 1+(int)(Math.random()*6); sommeget= de1+de2; De1.setText(Integer.toString(de1)); De2.setText(Integer.toString(de2)); Somme.setText(Integer.toString(sommeget)); return sommeget; } public void initialiser() { premierJet=true; //final int GAGNE=0, PERD=1, CONTINUE=2; sommeDes=0; mesPoints=0; etatJeu=CONTINUE; } public void test(int restant) { if (restant==0) { showStatus("vous avez ramasse tout un magot c'est le temps de rentrer chez vous"); rejoue.setEnabled(false); JetDe.setEnabled(false); } } class lancer implements ActionListener{ //jeu proprement dit /*private boolean premierJet=true; final int GAGNE=0, PERD=1, CONTINUE=2; private int sommeDes=0; private int mesPoints=0; private int etatJeu=CONTINUE;*/ public void actionPerformed(ActionEvent e){ if (premierJet){ sommeDes=lancerDe(); switch(sommeDes){ case 7: case 11:{ etatJeu=GAGNE; Points.setText(""); //showStatus(" Le joueur gagne"); break;} case 2: case 3: case 12: {etatJeu=PERD; Points.setText(""); //showStatus("Le joueur perd"); break;} default:{ etatJeu=CONTINUE; mesPoints=sommeDes; Points.setText(Integer.toString(mesPoints)); premierJet=false; break;} } } else{ sommeDes=lancerDe(); if (sommeDes==mesPoints) { etatJeu=GAGNE; //showStatus(" Le joueur gagne"); sommedispo+=mise; } else if (sommeDes==7) { etatJeu=PERD;//le joueur perd sommedispo-=mise; } if (etatJeu==CONTINUE) { showStatus("Tirer à nouveau");//aficher ce message sur la barre d'état } else if (etatJeu==GAGNE) { showStatus("Le joueur gagne cliquer jeter les dés pour jouer à nouveau"); argent.setText(sommedispo+"F"); JetDe.setEnabled(false); rejoue.setEnabled(true); } else if (etatJeu==PERD) { showStatus("Le joueur perd cliquer sur rejouer pour jouer à nouveau"); argent.setText(sommedispo+"F"); JetDe.setEnabled(false); rejoue.setEnabled(true); test(sommedispo); } } } } class rejouer implements ActionListener{ public void actionPerformed(ActionEvent e){ initialiser(); De1.setText(""); De2.setText(""); Somme.setText(""); Points.setText(""); JetDe.setEnabled(true); rejoue.setEnabled(false); do { mise=Integer.parseInt(JOptionPane.showInputDialog("Donnez le montant de votre argent")); } while (mise>sommedispo); } } } /*boolean premierJet=true; final int GAGNE=0, PERD=1, CONTINUE=2; int sommeDes=0; int mesPoints=0; int etatJeu=CONTINUE; public void actionPerformed(ActionEvent e) { if (premierJet){ sommeDes=lancerDe(); switch(sommeDes){ case7: case11: etatJeu=GAGNE; point.setText(""); break; case 2: case 3: case 12: etatJeu=PERD; point.setText(""); break; default: etatJeu=CONTINUE; mesPoints=sommeDes; point.setText(Integer.toString(mesPoints)); premierJet=false; break; } } else{ sommeDes=lancerDe(); if (sommeDes==mesPoints) { etatJeu=GAGNE; } else { if (sommeDes==7) { etatJeu=PERD; } } if (etatJeu==CONTINUE) { showStatus("Tirer à nouveau.");//aficher ce message sur la barre d'état } else { if (etatJeu==GAGNE) { "Cliquer jeter les dés pour jouer à nouveau" } else { "Le joueur perd"+" cliquer jeter les des pour jouer à nouveau" } premierJet=true; } }

Conclusion :


à vous de juger les critiques sont les bienvenues ou toutes autres améliorations.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (pouyelayese)