Commit e31e3c9a authored by Florian MOINARD's avatar Florian MOINARD
Browse files

Merge branch 'master' into 'main'

Master

See merge request !4
parents 45c3da5e 8a1f762d
......@@ -5,8 +5,4 @@ public class EtatArret implements Etat {
System.out.println("Vous n'avez pas encore commencé à jouer");
justePrix.setEtat(this);
}
public String toString() {
return "Etat arrêt";
}
}
......@@ -4,8 +4,4 @@ public class EtatGagne implements Etat{
System.out.println("Vous avez gagné");
justePrix.setEtat(this);
}
public String toString() {
return "Etat gagné";
}
}
......@@ -4,8 +4,4 @@ public class EtatJouer implements Etat{
System.out.println("Vous êtes en train de jouer");
justePrix.setEtat(this);
}
public String toString() {
return "Etat jouer";
}
}
......@@ -4,8 +4,4 @@ public class EtatPerdu implements Etat{
System.out.println("Vous avez perdu");
justePrix.setEtat(this);
}
public String toString() {
return "Etat perdu";
}
}
import java.sql.Array;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;
public class Game {
public static final String ANSI_RESET = "\u001B[0m";
public static final String ANSI_RED = "\u001B[31m";
public static final String ANSI_GREEN = "\u001B[32m";
public static final String ANSI_YELLOW = "\u001B[33m";
public static final String ANSI_BLUE = "\u001B[34m";
public static final int prixMin = 500;
public static final int prixMax = 1500;
public static void main(String[] args) {
JustePrix justePrixPartie = new JustePrix();
EtatArret etatArret = new EtatArret();
System.out.print(ANSI_YELLOW);
etatArret.partie(justePrixPartie);
List<Produit> tabProduit = new ArrayList<Produit>();
System.out.println(justePrixPartie.getEtat().toString());
List<Produit> tabProduit = new ArrayList<>();
Random random = new Random();
//Création des 4 produits
Produit S21 = new TelephoneBuilder().setNom("S21").setOs("Android10").setProcesseur("Intel").setBatterie(
4000).setEcran(6.20).setMarque("Samsung").setPrix(700).getProduit();
4000).setEcran(6.20).setMarque("Samsung").setPrix(random.nextInt(prixMax - prixMin) + prixMin).getProduit();
Produit iPhone13 = new TelephoneBuilder().setNom("iPhone13").setOs("iOS15").setProcesseur("Apple").setBatterie(
3227).setEcran(6.10).setMarque("Apple").setPrix(950).getProduit();
3227).setEcran(6.10).setMarque("Apple").setPrix(random.nextInt(prixMax - prixMin) + prixMin).getProduit();
Produit SurfacePro7 = new TabletteBuilder().setNom("SurfacePro7").setOs("Windows11").setProcesseur("Intel").setBatterie(
5702).setEcran(13.00).setMarque("Microsoft").setPrix(1200).getProduit();
5702).setEcran(13.00).setMarque("Microsoft").setPrix(random.nextInt(prixMax - prixMin) + prixMin).getProduit();
Produit iPad = new TelephoneBuilder().setNom("iPad").setOs("iPadOS15").setProcesseur("Apple").setBatterie(
8686).setEcran(10.2).setMarque("Apple").setPrix(500).getProduit();
Produit iPad = new TabletteBuilder().setNom("iPad").setOs("iPadOS15").setProcesseur("Apple").setBatterie(
8686).setEcran(10.2).setMarque("Apple").setPrix(random.nextInt(prixMax - prixMin) + prixMin).getProduit();
//Ajout des produit dans la liste de jeu
tabProduit.add(S21);
......@@ -33,32 +42,28 @@ public class Game {
tabProduit.add(SurfacePro7);
tabProduit.add(iPad);
int justeprix;
System.out.println("Bienvenue dans la boutique où vous pouvez remporter vos produits !");
System.out.println("Pour les remporter, c'est simple, il vous suffit de deviner les prix des produits \n");
System.out.println(ANSI_BLUE + "Bienvenue dans la boutique où vous pouvez remporter vos produits !");
System.out.println("Pour les remporter, c'est simple, il vous suffit de deviner les prix des produits");
System.out.println("Vous aurez 4 produits à deviner avec 15 essais à chaque fois ! \n" + ANSI_RESET);
//Pour chaque produit dans la liste lancer une partie
for (Produit produit : tabProduit) {
System.out.println("Vous jouer pour le produit : "+produit.getNom());
justeprix = produit.getPrix();
jouerPartie(justeprix, justePrixPartie);
System.out.println("Vous jouer pour le produit "+produit.getNom() + " qui appartient à la catégorie " + produit.getTypeProduit());
jouerPartie(produit.getPrix(), justePrixPartie);
}
}
private static void jouerPartie(int justeprix, JustePrix justePrixPartie)
{
EtatJouer etatJouer = new EtatJouer();
System.out.print(ANSI_YELLOW);
etatJouer.partie(justePrixPartie);
System.out.println(justePrixPartie.getEtat().toString());
System.out.print(ANSI_RESET);
int prix = -1;
int essai = 0;
Scanner deviner = new Scanner(System.in);
System.out.println("Vous avez 10 essais deviner le prix, attention... partez !");
while (justeprix != prix && essai <= 10)
{
prix = deviner.nextInt();
......@@ -72,15 +77,16 @@ public class Game {
if (essai > 10) {
EtatPerdu etatPerdu = new EtatPerdu();
System.out.println(ANSI_RED);
etatPerdu.partie(justePrixPartie);
System.out.println(justePrixPartie.getEtat().toString());
System.out.println(ANSI_RESET + "Le juste prix était : " + justeprix + "\n");
} else {
EtatGagne etatGagne = new EtatGagne();
System.out.println(ANSI_GREEN);
etatGagne.partie(justePrixPartie);
System.out.println(justePrixPartie.getEtat().toString());
System.out.println("Bravo ! le juste prix est : " + justeprix + ". Vous l'avez trouvé en " + essai + " essais");
System.out.println(ANSI_RESET +"Bravo ! le juste prix est : " + justeprix + ". Vous l'avez trouvé en " + essai + " essais\n");
}
}
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment