Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Florian MOINARD
DesignPatternProject
Commits
e31e3c9a
Commit
e31e3c9a
authored
Jan 23, 2022
by
Florian MOINARD
Browse files
Merge branch 'master' into 'main'
Master See merge request
!4
parents
45c3da5e
8a1f762d
Changes
5
Hide whitespace changes
Inline
Side-by-side
src/main/java/EtatArret.java
View file @
e31e3c9a
...
...
@@ -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"
;
}
}
src/main/java/EtatGagne.java
View file @
e31e3c9a
...
...
@@ -4,8 +4,4 @@ public class EtatGagne implements Etat{
System
.
out
.
println
(
"Vous avez gagné"
);
justePrix
.
setEtat
(
this
);
}
public
String
toString
()
{
return
"Etat gagné"
;
}
}
src/main/java/EtatJouer.java
View file @
e31e3c9a
...
...
@@ -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"
;
}
}
src/main/java/EtatPerdu.java
View file @
e31e3c9a
...
...
@@ -4,8 +4,4 @@ public class EtatPerdu implements Etat{
System
.
out
.
println
(
"Vous avez perdu"
);
justePrix
.
setEtat
(
this
);
}
public
String
toString
()
{
return
"Etat perdu"
;
}
}
src/main/java/Game.java
View file @
e31e3c9a
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
T
elephon
eBuilder
().
setNom
(
"iPad"
).
setOs
(
"iPadOS15"
).
setProcesseur
(
"Apple"
).
setBatterie
(
8686
).
setEcran
(
10.2
).
setMarque
(
"Apple"
).
setPrix
(
500
).
getProduit
();
Produit
iPad
=
new
T
ablett
eBuilder
().
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
(
juste
P
rix
Partie
.
getEtat
().
toString
()
);
System
.
out
.
println
(
ANSI_RESET
+
"Le
juste
p
rix
é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"
);
}
}
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment