Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* SCIPER Etudiant(e) : 246970
- */
- import java.util.ArrayList;
- /*******************************************
- * Completez le programme a partir d'ici. Tableau à utiliser pour identifier les
- * cases de type passes : {6, 7, 8, 9};
- *******************************************/
- /*
- * PROGRAMME PRINCIPAL (FOURNI) NE MODIFIER QUE SELON LES CONSIGNES DE L'ENONCE
- */
- class Boule {
- public static void main(String[] args) {
- // TEST 1 System.out.println("Test partie 1 :");
- System.out.println("--------------");
- Simple pari1 = new Simple(400, 2);
- System.out.println(pari1);
- System.out.print("Gain si le 2 est tiré : ");
- System.out.println(pari1.gain(2));
- Passes pari2 = new Passes(50);
- System.out.println(pari2);
- System.out.print("Gain si le 9 (qui est une case passes) est tiré : ");
- System.out.println(pari2.gain(9)); // FIN TEST 1
- // TEST 2 System.out.println("Test partie 2 :");
- System.out.println("--------------");
- Joueur stark = new Joueur("Stark");
- stark.setTactique(new Simple(300, 2));
- // parier lasomme de 300 sur le 2
- Joueur white = new Joueur("White");
- white.setTactique(new Passes(40)); // parier 40 jetons sur les passes
- System.out.println("Gains de " + stark.getNom() + " : ");
- // ce questark, qui a misé sur le numéro 2, si le 2 est tiré
- System.out.println(stark.gain(2));
- // ce que stark, qui a misé sur le 2, gagnera si le 12 est tiré
- System.out.println(stark.gain(12));
- System.out.println("Gains de " + white.getNom() + " : ");
- // ce quewhite gagnera si 9, qui est une case passe, est tirée
- System.out.println(white.gain(9));
- // ce que white gagnera si le 16qui n'est pas une case passe est tiré
- System.out.println(white.gain(16));
- // TEST 3 System.out.println("Test partie 3 :");
- System.out.println("--------------");
- Jeu j = new Jeu();
- j.participe(stark);
- j.participe(white);
- // simule le tirage de 9, 2 et 32 (la boule tombe sur une de ces
- for (int tirage : new int[] { 9, 2, 32 }) {
- j.lance(tirage);
- // la boule tombe sur la case tirage
- j.afficherGains();
- System.out.println("");
- } // FIN TEST 3
- }
- }
- // mes methodes sont dans un ordre aleatoire et mes variables ont des noms
- // n'ayant pas de signification precise
- // veuillez m'en excuser
- class Jeu {
- private ArrayList<Joueur> jou = new ArrayList<Joueur>();
- private int last;
- // constructeur vide au depart (d'ou la methode participe(Joueur))
- public Jeu() {
- }
- public void afficherGains() {
- System.out.println("Le numero qui sort est le " + last);
- for (int i = 0; i < jou.size(); i++) {
- System.out.print("Le joueur " + jou.get(i).getNom() + " a parie "
- + jou.get(i).getMontant() + " et ");
- //check si il y a un gain ou pas
- if (jou.get(i).gain(last) == 0) {
- System.out.println("perd cette somme");
- } else {
- System.out
- .println("gagne " + jou.get(i).gain(last) + " francs");
- }
- }
- }
- public void lance(int n) {
- last = n;
- }
- public void participe(Joueur pop) {
- jou.add(pop);
- }
- }
- class Joueur {
- private String nom;
- private Pari jeu;
- public Joueur(String nom) {
- this.nom = nom;
- this.jeu = null;
- }
- // toujours check le 0 en premier
- public int gain(int n) {
- if (jeu == null) {
- return 0;
- }
- return jeu.gain(n);
- }
- public int getMontant() {
- if (jeu == null) {
- return 0;
- }
- return jeu.getMontant();
- }
- public void setTactique(Pari pari) {
- jeu = pari;
- }
- public String getNom() {
- return nom;
- }
- }
- abstract class Pari {
- private int somme;
- public Pari(int somme) {
- this.somme = somme;
- }
- public int getMontant() {
- return somme;
- }
- public String toString() {
- return ("Pari de " + somme);
- }
- abstract public int gain(int n);
- }
- class Simple extends Pari {
- private static final int FACTEUR = 7;
- private int numero;
- public Simple(int somme, int numero) {
- super(somme);
- this.numero = numero;
- }
- public int gain(int n) {
- if (numero == n) {
- return getMontant() * FACTEUR;
- } else {
- return 0;
- }
- }
- private int getN() {
- return numero;
- }
- public String toString() {
- return "Pari de " + getMontant() + " sur le numero " + getN();
- }
- }
- class Passes extends Pari {
- private static final int[] CASES = new int[] { 6, 7, 8, 9 };
- public Passes(int somme) {
- super(somme);
- }
- public String toString() {
- return "Pari de " + getMontant() + " sur une case passe";
- }
- public int gain(int n) {
- //check toutes les cases passe
- for (int i = 0; i < CASES.length; i++) {
- if (n == CASES[i]) {
- return getMontant();
- }
- }
- return 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement