From ed35bd5527ca9d2e13a1bb598a2af4592fe09900 Mon Sep 17 00:00:00 2001
From: "michael.divia" <michael.divia@etu.hesge.ch>
Date: Thu, 11 Jan 2024 22:43:58 +0100
Subject: [PATCH] Resolved AI that coudn't loose

---
 Partie_3_Terminal/save.csv                    |   6 +-
 .../src/main/java/ch/hepia/App.java           |   2 +-
 .../src/main/java/ch/hepia/GameManager.java   | 536 +++++++++---------
 .../src/main/java/ch/hepia/Joueur.java        |  71 ++-
 .../src/main/java/ch/hepia/Save.java          |  27 +-
 .../target/classes/ch/hepia/App.class         | Bin 3394 -> 3525 bytes
 .../target/classes/ch/hepia/COULEUR.class     | Bin 1075 -> 1044 bytes
 .../target/classes/ch/hepia/Carte.class       | Bin 2702 -> 2722 bytes
 .../target/classes/ch/hepia/GameManager.class | Bin 18103 -> 19291 bytes
 .../target/classes/ch/hepia/Hand$1.class      | Bin 1125 -> 1128 bytes
 .../target/classes/ch/hepia/Hand.class        | Bin 4822 -> 4921 bytes
 .../classes/ch/hepia/JeudeCarte$1.class       | Bin 1157 -> 1160 bytes
 .../target/classes/ch/hepia/JeudeCarte.class  | Bin 3202 -> 3261 bytes
 .../target/classes/ch/hepia/Joueur.class      | Bin 663 -> 713 bytes
 .../classes/ch/hepia/JoueurCroupier.class     | Bin 3338 -> 3554 bytes
 .../classes/ch/hepia/JoueurHumain.class       | Bin 4895 -> 5177 bytes
 .../classes/ch/hepia/JoueurOrdinateur.class   | Bin 4912 -> 5461 bytes
 .../target/classes/ch/hepia/Paquet.class      | Bin 902 -> 900 bytes
 .../target/classes/ch/hepia/Save.class        | Bin 3836 -> 4489 bytes
 19 files changed, 372 insertions(+), 270 deletions(-)

diff --git a/Partie_3_Terminal/save.csv b/Partie_3_Terminal/save.csv
index f481abf..abcb9e6 100644
--- a/Partie_3_Terminal/save.csv
+++ b/Partie_3_Terminal/save.csv
@@ -1,3 +1,3 @@
-Human,100.0,0
-Player_1,190.0,1
-Player_2,305.0,1
+Human,90.0,0,0
+Player_1,180.0,1,false
+Player_2,2.0,1,true
diff --git a/Partie_3_Terminal/src/main/java/ch/hepia/App.java b/Partie_3_Terminal/src/main/java/ch/hepia/App.java
index b99e87f..bb58e40 100644
--- a/Partie_3_Terminal/src/main/java/ch/hepia/App.java
+++ b/Partie_3_Terminal/src/main/java/ch/hepia/App.java
@@ -65,7 +65,7 @@ public class App {
             // Load save to create game
             Save Game = new Save();
 
-            BlackJack = new GameManager(Game.loadMoney(), Game.loadStrategy());
+            BlackJack = new GameManager(Game.loadMoney(), Game.loadStrategy(), Game.loadGameOver());
 
         } else {
             // Ask the number of players until a valide answer is given
diff --git a/Partie_3_Terminal/src/main/java/ch/hepia/GameManager.java b/Partie_3_Terminal/src/main/java/ch/hepia/GameManager.java
index 2cc3940..906a0f0 100644
--- a/Partie_3_Terminal/src/main/java/ch/hepia/GameManager.java
+++ b/Partie_3_Terminal/src/main/java/ch/hepia/GameManager.java
@@ -33,7 +33,7 @@ public class GameManager {
         this.Dealer = new JoueurCroupier(Deck);
     }
 
-    public GameManager(ArrayList<Double> Money, ArrayList<Integer> Strategy) {
+    public GameManager(ArrayList<Double> Money, ArrayList<Integer> Strategy, ArrayList<Boolean> GameOver) {
 
         // Create a new BlackJack Deck of card (6 x 52 cards game)
         this.Deck = new JeudeCarte(new Paquet(6, 52));
@@ -48,8 +48,11 @@ public class GameManager {
         // All other are controlled by the computer
         if (Money.size() > 1) {
             for (int x = 1; x < Money.size(); x++) {
-                ComputerPlayers++;
-                this.Players.add(new JoueurOrdinateur(Deck, Money.get(x), Strategy.get(x)));
+                if (!GameOver.get(x)) {
+                    ComputerPlayers++;
+                    this.Players.add(new JoueurOrdinateur(Deck, Money.get(x), Strategy.get(x)));
+                }
+
             }
         }
 
@@ -105,7 +108,9 @@ public class GameManager {
 
         // Set the Computer players bid for this turn
         for (int x = 1; x <= this.ComputerPlayers; x++) {
-            Players.get(x).SetBet(10, 0);
+            if (!Players.get(x).IsGameOver()) {
+                Players.get(x).SetBet(10, 0);
+            }
         }
     }
 
@@ -181,23 +186,30 @@ public class GameManager {
 
                 // Show Computer Players hands
                 for (int x = 1; x <= this.ComputerPlayers; x++) {
-                    for (int HandNbComputer = 0; HandNbComputer < this.Players.get(x).GetNbHands(); HandNbComputer++) {
-                        System.out
-                                .print("\nComputer " + App.ANSI_GREEN + x + App.ANSI_RESET + ", Money " + App.ANSI_BLUE
-                                        + this.Players.get(x).GetMoney() + App.ANSI_RESET + ", Hand "
-                                        + App.ANSI_GREEN + HandNbComputer + App.ANSI_RESET + ", Bet " + App.ANSI_BLUE
-                                        + this.Players.get(x).GetBet(HandNbComputer) + App.ANSI_RESET + ", Strength "
-                                        + App.ANSI_PURPLE);
-                        if (this.Players.get(x).GetStrength(HandNbComputer) == 99) {
-                            System.out.println("BlackJack" + App.ANSI_RESET + " :");
-                        } else if (this.Players.get(x).GetStrength(HandNbComputer) > 21) {
-                            System.out.println(
-                                    this.Players.get(x).GetStrength(HandNbComputer) + App.ANSI_RED + " [BUSTED]"
-                                            + App.ANSI_RESET + " :");
-                        } else {
-                            System.out.println(this.Players.get(x).GetStrength(HandNbComputer) + App.ANSI_RESET + " :");
+                    if (!Players.get(x).IsGameOver()) {
+                        for (int HandNbComputer = 0; HandNbComputer < this.Players.get(x)
+                                .GetNbHands(); HandNbComputer++) {
+                            System.out
+                                    .print("\nComputer " + App.ANSI_GREEN + x + App.ANSI_RESET + ", Money "
+                                            + App.ANSI_BLUE
+                                            + this.Players.get(x).GetMoney() + App.ANSI_RESET + ", Hand "
+                                            + App.ANSI_GREEN + HandNbComputer + App.ANSI_RESET + ", Bet "
+                                            + App.ANSI_BLUE
+                                            + this.Players.get(x).GetBet(HandNbComputer) + App.ANSI_RESET
+                                            + ", Strength "
+                                            + App.ANSI_PURPLE);
+                            if (this.Players.get(x).GetStrength(HandNbComputer) == 99) {
+                                System.out.println("BlackJack" + App.ANSI_RESET + " :");
+                            } else if (this.Players.get(x).GetStrength(HandNbComputer) > 21) {
+                                System.out.println(
+                                        this.Players.get(x).GetStrength(HandNbComputer) + App.ANSI_RED + " [BUSTED]"
+                                                + App.ANSI_RESET + " :");
+                            } else {
+                                System.out.println(
+                                        this.Players.get(x).GetStrength(HandNbComputer) + App.ANSI_RESET + " :");
+                            }
+                            this.Players.get(x).ShowHand(HandNbComputer);
                         }
-                        this.Players.get(x).ShowHand(HandNbComputer);
                     }
                 }
 
@@ -323,210 +335,212 @@ public class GameManager {
 
         // Computer Players take turn to play
         for (int x = 1; x <= this.ComputerPlayers; x++) {
-
-            // Check there strategy
-            /*
-             * 1 = Smart
-             * 2 = Stupid
-             */
-            if (this.Players.get(x).GetStrategy() == 1) {
-
-                char[][][] Choices_2Cards = {
-                        {
-                                { 'S', 'T', 'T', 'T', 'T', 'T', 'T', 'R', 'R', 'R' },
-                                { 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T' },
-                                { 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T' },
-                                { 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T' },
-                                { 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T' },
-                                { 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'R' },
-                                { 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'R', 'R' },
-                                { 'R', 'T', 'T', 'T', 'T', 'T', 'T', 'S', 'R', 'R' },
-                                { 'R', 'T', 'T', 'T', 'T', 'T', 'R', 'R', 'R', 'R' },
-                                { 'R', 'T', 'T', 'T', 'T', 'R', 'R', 'R', 'R', 'R' },
-                        },
-                        {
-                                { 'S', 'T', 'T', 'T', 'T', 'T', 'R', 'R', 'R', 'R' },
-                                { 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T' },
-                                { 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'R' },
-                                { 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'R', 'R' },
-                                { 'T', 'T', 'T', 'T', 'D', 'T', 'T', 'R', 'R', 'R' },
-                                { 'T', 'T', 'T', 'T', 'T', 'T', 'R', 'R', 'R', 'R' },
-                                { 'R', 'T', 'T', 'T', 'T', 'R', 'S', 'R', 'R', 'R' },
-                                { 'R', 'T', 'T', 'T', 'R', 'R', 'R', 'S', 'R', 'R' },
-                                { 'R', 'T', 'T', 'R', 'R', 'R', 'R', 'R', 'S', 'R' },
-                                { 'R', 'T', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R' },
-                        },
-                        {
-                                { 'S', 'T', 'T', 'T', 'T', 'D', 'D', 'R', 'R', 'R' },
-                                { 'T', 'T', 'T', 'T', 'T', 'T', 'D', 'D', 'D', 'T' },
-                                { 'T', 'T', 'T', 'T', 'T', 'D', 'D', 'D', 'T', 'R' },
-                                { 'T', 'T', 'T', 'T', 'D', 'D', 'D', 'T', 'R', 'R' },
-                                { 'T', 'T', 'T', 'D', 'D', 'D', 'T', 'R', 'R', 'R' },
-                                { 'D', 'T', 'D', 'D', 'D', 'S', 'R', 'R', 'R', 'R' },
-                                { 'D', 'D', 'D', 'D', 'T', 'R', 'S', 'R', 'R', 'R' },
-                                { 'R', 'D', 'D', 'T', 'R', 'R', 'R', 'S', 'R', 'R' },
-                                { 'R', 'D', 'T', 'R', 'R', 'R', 'R', 'R', 'S', 'R' },
-                                { 'R', 'T', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R' },
-                        },
-                        {
-                                { 'S', 'T', 'T', 'D', 'D', 'D', 'D', 'R', 'R', 'R' },
-                                { 'T', 'S', 'T', 'T', 'T', 'T', 'D', 'D', 'D', 'R' },
-                                { 'T', 'T', 'S', 'T', 'T', 'D', 'D', 'D', 'R', 'R' },
-                                { 'D', 'T', 'T', 'T', 'D', 'D', 'D', 'R', 'R', 'R' },
-                                { 'D', 'T', 'T', 'D', 'D', 'D', 'R', 'R', 'R', 'R' },
-                                { 'D', 'T', 'D', 'D', 'D', 'S', 'R', 'R', 'R', 'R' },
-                                { 'D', 'D', 'D', 'D', 'R', 'R', 'S', 'R', 'R', 'R' },
-                                { 'R', 'D', 'D', 'R', 'R', 'R', 'R', 'S', 'R', 'R' },
-                                { 'R', 'D', 'R', 'R', 'R', 'R', 'R', 'R', 'S', 'R' },
-                                { 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R' },
-                        },
-                        {
-                                { 'S', 'D', 'D', 'D', 'D', 'D', 'D', 'R', 'R', 'R' },
-                                { 'D', 'S', 'T', 'T', 'T', 'T', 'D', 'D', 'D', 'R' },
-                                { 'D', 'T', 'S', 'T', 'T', 'D', 'D', 'D', 'R', 'R' },
-                                { 'D', 'T', 'T', 'T', 'D', 'D', 'D', 'R', 'R', 'R' },
-                                { 'D', 'T', 'T', 'D', 'D', 'D', 'R', 'R', 'R', 'R' },
-                                { 'D', 'T', 'D', 'D', 'D', 'S', 'R', 'R', 'R', 'R' },
-                                { 'D', 'D', 'D', 'D', 'R', 'R', 'S', 'R', 'R', 'R' },
-                                { 'R', 'D', 'D', 'R', 'R', 'R', 'R', 'S', 'R', 'R' },
-                                { 'R', 'D', 'R', 'R', 'R', 'R', 'R', 'R', 'S', 'R' },
-                                { 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R' },
-                        },
-                        {
-                                { 'S', 'D', 'D', 'D', 'D', 'D', 'D', 'R', 'R', 'R' },
-                                { 'D', 'S', 'T', 'T', 'T', 'T', 'D', 'D', 'D', 'R' },
-                                { 'D', 'T', 'S', 'T', 'T', 'D', 'D', 'D', 'R', 'R' },
-                                { 'D', 'T', 'T', 'T', 'D', 'D', 'D', 'R', 'R', 'R' },
-                                { 'D', 'T', 'T', 'D', 'D', 'D', 'R', 'R', 'R', 'R' },
-                                { 'D', 'T', 'D', 'D', 'D', 'S', 'R', 'R', 'R', 'R' },
-                                { 'D', 'D', 'D', 'D', 'R', 'R', 'S', 'R', 'R', 'R' },
-                                { 'R', 'D', 'D', 'R', 'R', 'R', 'R', 'S', 'R', 'R' },
-                                { 'R', 'D', 'R', 'R', 'R', 'R', 'R', 'R', 'S', 'R' },
-                                { 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R' },
-                        },
-                        {
-                                { 'S', 'T', 'T', 'T', 'T', 'T', 'R', 'R', 'R', 'R' },
-                                { 'T', 'S', 'T', 'T', 'T', 'T', 'T', 'D', 'D', 'T' },
-                                { 'T', 'T', 'S', 'T', 'T', 'T', 'D', 'D', 'T', 'T' },
-                                { 'T', 'T', 'T', 'T', 'T', 'D', 'D', 'T', 'T', 'T' },
-                                { 'T', 'T', 'T', 'T', 'D', 'D', 'T', 'T', 'T', 'T' },
-                                { 'T', 'T', 'T', 'D', 'D', 'T', 'T', 'T', 'T', 'T' },
-                                { 'R', 'T', 'D', 'D', 'T', 'T', 'S', 'T', 'T', 'R' },
-                                { 'R', 'D', 'D', 'T', 'T', 'T', 'T', 'S', 'R', 'R' },
-                                { 'R', 'D', 'T', 'T', 'T', 'T', 'T', 'R', 'R', 'R' },
-                                { 'R', 'T', 'T', 'T', 'T', 'T', 'R', 'R', 'R', 'R' },
-                        },
-                        {
-                                { 'S', 'T', 'T', 'T', 'T', 'T', 'R', 'R', 'R', 'R' },
-                                { 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'D', 'D', 'T' },
-                                { 'T', 'T', 'T', 'T', 'T', 'T', 'D', 'D', 'T', 'T' },
-                                { 'T', 'T', 'T', 'T', 'T', 'D', 'D', 'T', 'T', 'T' },
-                                { 'T', 'T', 'T', 'T', 'D', 'D', 'T', 'T', 'T', 'T' },
-                                { 'T', 'T', 'T', 'D', 'D', 'T', 'T', 'T', 'T', 'T' },
-                                { 'R', 'T', 'D', 'D', 'T', 'T', 'T', 'T', 'T', 'R' },
-                                { 'R', 'D', 'D', 'T', 'T', 'T', 'T', 'S', 'R', 'R' },
-                                { 'R', 'D', 'T', 'T', 'T', 'T', 'T', 'R', 'S', 'R' },
-                                { 'R', 'T', 'T', 'T', 'T', 'T', 'R', 'R', 'R', 'R' },
-                        },
-                        {
-                                { 'S', 'T', 'T', 'T', 'T', 'T', 'T', 'R', 'R', 'R' },
-                                { 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'D', 'D', 'T' },
-                                { 'T', 'T', 'T', 'T', 'T', 'T', 'D', 'D', 'T', 'T' },
-                                { 'T', 'T', 'T', 'T', 'T', 'D', 'D', 'T', 'T', 'T' },
-                                { 'T', 'T', 'T', 'T', 'D', 'D', 'T', 'T', 'T', 'T' },
-                                { 'T', 'T', 'T', 'D', 'D', 'T', 'T', 'T', 'T', 'R' },
-                                { 'T', 'T', 'D', 'D', 'T', 'T', 'T', 'T', 'R', 'R' },
-                                { 'R', 'D', 'D', 'T', 'T', 'T', 'T', 'S', 'R', 'R' },
-                                { 'R', 'D', 'T', 'T', 'T', 'T', 'R', 'R', 'S', 'R' },
-                                { 'R', 'T', 'T', 'T', 'T', 'R', 'R', 'R', 'R', 'R' },
-                        },
-                        {
-                                { 'S', 'T', 'T', 'T', 'T', 'T', 'T', 'R', 'R', 'R' },
-                                { 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'D', 'T' },
-                                { 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'D', 'T', 'T' },
-                                { 'T', 'T', 'T', 'T', 'T', 'T', 'D', 'T', 'T', 'T' },
-                                { 'T', 'T', 'T', 'T', 'T', 'D', 'T', 'T', 'T', 'R' },
-                                { 'T', 'T', 'T', 'T', 'D', 'T', 'T', 'T', 'R', 'R' },
-                                { 'T', 'T', 'T', 'D', 'T', 'T', 'T', 'R', 'R', 'R' },
-                                { 'R', 'T', 'D', 'T', 'T', 'T', 'R', 'S', 'R', 'R' },
-                                { 'R', 'D', 'T', 'T', 'T', 'R', 'R', 'R', 'R', 'R' },
-                                { 'R', 'T', 'T', 'T', 'R', 'R', 'R', 'R', 'R', 'R' },
-                        }
-                };
-
-                char[][] Choices_MoreThan2Cards = {
-                        { 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'R', 'R' },
-                        { 'T', 'T', 'D', 'D', 'T', 'R', 'R', 'R', 'R', 'R' },
-                        { 'T', 'D', 'D', 'D', 'T', 'R', 'R', 'R', 'R', 'R' },
-                        { 'T', 'D', 'D', 'D', 'R', 'R', 'R', 'R', 'R', 'R' },
-                        { 'T', 'D', 'D', 'D', 'R', 'R', 'R', 'R', 'R', 'R' },
-                        { 'T', 'D', 'D', 'D', 'R', 'R', 'R', 'R', 'R', 'R' },
-                        { 'T', 'T', 'D', 'D', 'T', 'T', 'T', 'T', 'T', 'R' },
-                        { 'T', 'T', 'D', 'D', 'T', 'T', 'T', 'T', 'T', 'R' },
-                        { 'T', 'T', 'D', 'D', 'T', 'T', 'T', 'T', 'R', 'R' },
-                        { 'T', 'T', 'T', 'D', 'T', 'T', 'T', 'R', 'R', 'R' }
-                };
-
-                char Choice = 'R';
-
-                // Go thew all the hands of the computer player
-                for (int HandNb = 0; HandNb < this.Players.get(x).GetNbHands(); HandNb++) {
-
-                    if (this.Players.get(x).GetNbCards(HandNb) == 2) {
-                        Choice = Choices_2Cards[this.Dealer.GetCardStrength(0, 0) - 1][this.Players.get(x)
-                                .GetCardStrength(HandNb, 0) - 1][this.Players.get(x).GetCardStrength(HandNb, 1) - 1];
-                    } else {
-                        if (this.Players.get(x).GetStrength(HandNb) <= 8) {
-                            Choice = Choices_MoreThan2Cards[this.Dealer.GetCardStrength(0, 0) - 1][0];
-                        } else if (this.Players.get(x).GetStrength(HandNb) == 9) {
-                            Choice = Choices_MoreThan2Cards[this.Dealer.GetCardStrength(0, 0) - 1][1];
-                        } else if (this.Players.get(x).GetStrength(HandNb) == 10) {
-                            Choice = Choices_MoreThan2Cards[this.Dealer.GetCardStrength(0, 0) - 1][2];
-                        } else if (this.Players.get(x).GetStrength(HandNb) == 11) {
-                            Choice = Choices_MoreThan2Cards[this.Dealer.GetCardStrength(0, 0) - 1][3];
-                        } else if (this.Players.get(x).GetStrength(HandNb) == 12) {
-                            Choice = Choices_MoreThan2Cards[this.Dealer.GetCardStrength(0, 0) - 1][4];
-                        } else if (this.Players.get(x).GetStrength(HandNb) == 13) {
-                            Choice = Choices_MoreThan2Cards[this.Dealer.GetCardStrength(0, 0) - 1][5];
-                        } else if (this.Players.get(x).GetStrength(HandNb) == 14) {
-                            Choice = Choices_MoreThan2Cards[this.Dealer.GetCardStrength(0, 0) - 1][6];
-                        } else if (this.Players.get(x).GetStrength(HandNb) == 15) {
-                            Choice = Choices_MoreThan2Cards[this.Dealer.GetCardStrength(0, 0) - 1][7];
-                        } else if (this.Players.get(x).GetStrength(HandNb) == 16) {
-                            Choice = Choices_MoreThan2Cards[this.Dealer.GetCardStrength(0, 0) - 1][8];
-                        } else if (this.Players.get(x).GetStrength(HandNb) >= 17) {
-                            Choice = Choices_MoreThan2Cards[this.Dealer.GetCardStrength(0, 0) - 1][9];
+            if (!Players.get(x).IsGameOver()) {
+                // Check there strategy
+                /*
+                 * 1 = Smart
+                 * 2 = Stupid
+                 */
+                if (this.Players.get(x).GetStrategy() == 1) {
+
+                    char[][][] Choices_2Cards = {
+                            {
+                                    { 'S', 'T', 'T', 'T', 'T', 'T', 'T', 'R', 'R', 'R' },
+                                    { 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T' },
+                                    { 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T' },
+                                    { 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T' },
+                                    { 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T' },
+                                    { 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'R' },
+                                    { 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'R', 'R' },
+                                    { 'R', 'T', 'T', 'T', 'T', 'T', 'T', 'S', 'R', 'R' },
+                                    { 'R', 'T', 'T', 'T', 'T', 'T', 'R', 'R', 'R', 'R' },
+                                    { 'R', 'T', 'T', 'T', 'T', 'R', 'R', 'R', 'R', 'R' },
+                            },
+                            {
+                                    { 'S', 'T', 'T', 'T', 'T', 'T', 'R', 'R', 'R', 'R' },
+                                    { 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T' },
+                                    { 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'R' },
+                                    { 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'R', 'R' },
+                                    { 'T', 'T', 'T', 'T', 'D', 'T', 'T', 'R', 'R', 'R' },
+                                    { 'T', 'T', 'T', 'T', 'T', 'T', 'R', 'R', 'R', 'R' },
+                                    { 'R', 'T', 'T', 'T', 'T', 'R', 'S', 'R', 'R', 'R' },
+                                    { 'R', 'T', 'T', 'T', 'R', 'R', 'R', 'S', 'R', 'R' },
+                                    { 'R', 'T', 'T', 'R', 'R', 'R', 'R', 'R', 'S', 'R' },
+                                    { 'R', 'T', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R' },
+                            },
+                            {
+                                    { 'S', 'T', 'T', 'T', 'T', 'D', 'D', 'R', 'R', 'R' },
+                                    { 'T', 'T', 'T', 'T', 'T', 'T', 'D', 'D', 'D', 'T' },
+                                    { 'T', 'T', 'T', 'T', 'T', 'D', 'D', 'D', 'T', 'R' },
+                                    { 'T', 'T', 'T', 'T', 'D', 'D', 'D', 'T', 'R', 'R' },
+                                    { 'T', 'T', 'T', 'D', 'D', 'D', 'T', 'R', 'R', 'R' },
+                                    { 'D', 'T', 'D', 'D', 'D', 'S', 'R', 'R', 'R', 'R' },
+                                    { 'D', 'D', 'D', 'D', 'T', 'R', 'S', 'R', 'R', 'R' },
+                                    { 'R', 'D', 'D', 'T', 'R', 'R', 'R', 'S', 'R', 'R' },
+                                    { 'R', 'D', 'T', 'R', 'R', 'R', 'R', 'R', 'S', 'R' },
+                                    { 'R', 'T', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R' },
+                            },
+                            {
+                                    { 'S', 'T', 'T', 'D', 'D', 'D', 'D', 'R', 'R', 'R' },
+                                    { 'T', 'S', 'T', 'T', 'T', 'T', 'D', 'D', 'D', 'R' },
+                                    { 'T', 'T', 'S', 'T', 'T', 'D', 'D', 'D', 'R', 'R' },
+                                    { 'D', 'T', 'T', 'T', 'D', 'D', 'D', 'R', 'R', 'R' },
+                                    { 'D', 'T', 'T', 'D', 'D', 'D', 'R', 'R', 'R', 'R' },
+                                    { 'D', 'T', 'D', 'D', 'D', 'S', 'R', 'R', 'R', 'R' },
+                                    { 'D', 'D', 'D', 'D', 'R', 'R', 'S', 'R', 'R', 'R' },
+                                    { 'R', 'D', 'D', 'R', 'R', 'R', 'R', 'S', 'R', 'R' },
+                                    { 'R', 'D', 'R', 'R', 'R', 'R', 'R', 'R', 'S', 'R' },
+                                    { 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R' },
+                            },
+                            {
+                                    { 'S', 'D', 'D', 'D', 'D', 'D', 'D', 'R', 'R', 'R' },
+                                    { 'D', 'S', 'T', 'T', 'T', 'T', 'D', 'D', 'D', 'R' },
+                                    { 'D', 'T', 'S', 'T', 'T', 'D', 'D', 'D', 'R', 'R' },
+                                    { 'D', 'T', 'T', 'T', 'D', 'D', 'D', 'R', 'R', 'R' },
+                                    { 'D', 'T', 'T', 'D', 'D', 'D', 'R', 'R', 'R', 'R' },
+                                    { 'D', 'T', 'D', 'D', 'D', 'S', 'R', 'R', 'R', 'R' },
+                                    { 'D', 'D', 'D', 'D', 'R', 'R', 'S', 'R', 'R', 'R' },
+                                    { 'R', 'D', 'D', 'R', 'R', 'R', 'R', 'S', 'R', 'R' },
+                                    { 'R', 'D', 'R', 'R', 'R', 'R', 'R', 'R', 'S', 'R' },
+                                    { 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R' },
+                            },
+                            {
+                                    { 'S', 'D', 'D', 'D', 'D', 'D', 'D', 'R', 'R', 'R' },
+                                    { 'D', 'S', 'T', 'T', 'T', 'T', 'D', 'D', 'D', 'R' },
+                                    { 'D', 'T', 'S', 'T', 'T', 'D', 'D', 'D', 'R', 'R' },
+                                    { 'D', 'T', 'T', 'T', 'D', 'D', 'D', 'R', 'R', 'R' },
+                                    { 'D', 'T', 'T', 'D', 'D', 'D', 'R', 'R', 'R', 'R' },
+                                    { 'D', 'T', 'D', 'D', 'D', 'S', 'R', 'R', 'R', 'R' },
+                                    { 'D', 'D', 'D', 'D', 'R', 'R', 'S', 'R', 'R', 'R' },
+                                    { 'R', 'D', 'D', 'R', 'R', 'R', 'R', 'S', 'R', 'R' },
+                                    { 'R', 'D', 'R', 'R', 'R', 'R', 'R', 'R', 'S', 'R' },
+                                    { 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R', 'R' },
+                            },
+                            {
+                                    { 'S', 'T', 'T', 'T', 'T', 'T', 'R', 'R', 'R', 'R' },
+                                    { 'T', 'S', 'T', 'T', 'T', 'T', 'T', 'D', 'D', 'T' },
+                                    { 'T', 'T', 'S', 'T', 'T', 'T', 'D', 'D', 'T', 'T' },
+                                    { 'T', 'T', 'T', 'T', 'T', 'D', 'D', 'T', 'T', 'T' },
+                                    { 'T', 'T', 'T', 'T', 'D', 'D', 'T', 'T', 'T', 'T' },
+                                    { 'T', 'T', 'T', 'D', 'D', 'T', 'T', 'T', 'T', 'T' },
+                                    { 'R', 'T', 'D', 'D', 'T', 'T', 'S', 'T', 'T', 'R' },
+                                    { 'R', 'D', 'D', 'T', 'T', 'T', 'T', 'S', 'R', 'R' },
+                                    { 'R', 'D', 'T', 'T', 'T', 'T', 'T', 'R', 'R', 'R' },
+                                    { 'R', 'T', 'T', 'T', 'T', 'T', 'R', 'R', 'R', 'R' },
+                            },
+                            {
+                                    { 'S', 'T', 'T', 'T', 'T', 'T', 'R', 'R', 'R', 'R' },
+                                    { 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'D', 'D', 'T' },
+                                    { 'T', 'T', 'T', 'T', 'T', 'T', 'D', 'D', 'T', 'T' },
+                                    { 'T', 'T', 'T', 'T', 'T', 'D', 'D', 'T', 'T', 'T' },
+                                    { 'T', 'T', 'T', 'T', 'D', 'D', 'T', 'T', 'T', 'T' },
+                                    { 'T', 'T', 'T', 'D', 'D', 'T', 'T', 'T', 'T', 'T' },
+                                    { 'R', 'T', 'D', 'D', 'T', 'T', 'T', 'T', 'T', 'R' },
+                                    { 'R', 'D', 'D', 'T', 'T', 'T', 'T', 'S', 'R', 'R' },
+                                    { 'R', 'D', 'T', 'T', 'T', 'T', 'T', 'R', 'S', 'R' },
+                                    { 'R', 'T', 'T', 'T', 'T', 'T', 'R', 'R', 'R', 'R' },
+                            },
+                            {
+                                    { 'S', 'T', 'T', 'T', 'T', 'T', 'T', 'R', 'R', 'R' },
+                                    { 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'D', 'D', 'T' },
+                                    { 'T', 'T', 'T', 'T', 'T', 'T', 'D', 'D', 'T', 'T' },
+                                    { 'T', 'T', 'T', 'T', 'T', 'D', 'D', 'T', 'T', 'T' },
+                                    { 'T', 'T', 'T', 'T', 'D', 'D', 'T', 'T', 'T', 'T' },
+                                    { 'T', 'T', 'T', 'D', 'D', 'T', 'T', 'T', 'T', 'R' },
+                                    { 'T', 'T', 'D', 'D', 'T', 'T', 'T', 'T', 'R', 'R' },
+                                    { 'R', 'D', 'D', 'T', 'T', 'T', 'T', 'S', 'R', 'R' },
+                                    { 'R', 'D', 'T', 'T', 'T', 'T', 'R', 'R', 'S', 'R' },
+                                    { 'R', 'T', 'T', 'T', 'T', 'R', 'R', 'R', 'R', 'R' },
+                            },
+                            {
+                                    { 'S', 'T', 'T', 'T', 'T', 'T', 'T', 'R', 'R', 'R' },
+                                    { 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'D', 'T' },
+                                    { 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'D', 'T', 'T' },
+                                    { 'T', 'T', 'T', 'T', 'T', 'T', 'D', 'T', 'T', 'T' },
+                                    { 'T', 'T', 'T', 'T', 'T', 'D', 'T', 'T', 'T', 'R' },
+                                    { 'T', 'T', 'T', 'T', 'D', 'T', 'T', 'T', 'R', 'R' },
+                                    { 'T', 'T', 'T', 'D', 'T', 'T', 'T', 'R', 'R', 'R' },
+                                    { 'R', 'T', 'D', 'T', 'T', 'T', 'R', 'S', 'R', 'R' },
+                                    { 'R', 'D', 'T', 'T', 'T', 'R', 'R', 'R', 'R', 'R' },
+                                    { 'R', 'T', 'T', 'T', 'R', 'R', 'R', 'R', 'R', 'R' },
+                            }
+                    };
+
+                    char[][] Choices_MoreThan2Cards = {
+                            { 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'T', 'R', 'R' },
+                            { 'T', 'T', 'D', 'D', 'T', 'R', 'R', 'R', 'R', 'R' },
+                            { 'T', 'D', 'D', 'D', 'T', 'R', 'R', 'R', 'R', 'R' },
+                            { 'T', 'D', 'D', 'D', 'R', 'R', 'R', 'R', 'R', 'R' },
+                            { 'T', 'D', 'D', 'D', 'R', 'R', 'R', 'R', 'R', 'R' },
+                            { 'T', 'D', 'D', 'D', 'R', 'R', 'R', 'R', 'R', 'R' },
+                            { 'T', 'T', 'D', 'D', 'T', 'T', 'T', 'T', 'T', 'R' },
+                            { 'T', 'T', 'D', 'D', 'T', 'T', 'T', 'T', 'T', 'R' },
+                            { 'T', 'T', 'D', 'D', 'T', 'T', 'T', 'T', 'R', 'R' },
+                            { 'T', 'T', 'T', 'D', 'T', 'T', 'T', 'R', 'R', 'R' }
+                    };
+
+                    char Choice = 'R';
+
+                    // Go thew all the hands of the computer player
+                    for (int HandNb = 0; HandNb < this.Players.get(x).GetNbHands(); HandNb++) {
+
+                        if (this.Players.get(x).GetNbCards(HandNb) == 2) {
+                            Choice = Choices_2Cards[this.Dealer.GetCardStrength(0, 0) - 1][this.Players.get(x)
+                                    .GetCardStrength(HandNb, 0) - 1][this.Players.get(x).GetCardStrength(HandNb, 1)
+                                            - 1];
+                        } else {
+                            if (this.Players.get(x).GetStrength(HandNb) <= 8) {
+                                Choice = Choices_MoreThan2Cards[this.Dealer.GetCardStrength(0, 0) - 1][0];
+                            } else if (this.Players.get(x).GetStrength(HandNb) == 9) {
+                                Choice = Choices_MoreThan2Cards[this.Dealer.GetCardStrength(0, 0) - 1][1];
+                            } else if (this.Players.get(x).GetStrength(HandNb) == 10) {
+                                Choice = Choices_MoreThan2Cards[this.Dealer.GetCardStrength(0, 0) - 1][2];
+                            } else if (this.Players.get(x).GetStrength(HandNb) == 11) {
+                                Choice = Choices_MoreThan2Cards[this.Dealer.GetCardStrength(0, 0) - 1][3];
+                            } else if (this.Players.get(x).GetStrength(HandNb) == 12) {
+                                Choice = Choices_MoreThan2Cards[this.Dealer.GetCardStrength(0, 0) - 1][4];
+                            } else if (this.Players.get(x).GetStrength(HandNb) == 13) {
+                                Choice = Choices_MoreThan2Cards[this.Dealer.GetCardStrength(0, 0) - 1][5];
+                            } else if (this.Players.get(x).GetStrength(HandNb) == 14) {
+                                Choice = Choices_MoreThan2Cards[this.Dealer.GetCardStrength(0, 0) - 1][6];
+                            } else if (this.Players.get(x).GetStrength(HandNb) == 15) {
+                                Choice = Choices_MoreThan2Cards[this.Dealer.GetCardStrength(0, 0) - 1][7];
+                            } else if (this.Players.get(x).GetStrength(HandNb) == 16) {
+                                Choice = Choices_MoreThan2Cards[this.Dealer.GetCardStrength(0, 0) - 1][8];
+                            } else if (this.Players.get(x).GetStrength(HandNb) >= 17) {
+                                Choice = Choices_MoreThan2Cards[this.Dealer.GetCardStrength(0, 0) - 1][9];
+                            }
                         }
-                    }
 
-                    if (Choice == 'T') {
-                        // Draw
+                        if (Choice == 'T') {
+                            // Draw
 
-                        this.Players.get(x).DrawCard(HandNb, this.Deck);
-                        // Go back 1 hand to stay on the same hand in the for loop
-                        HandNb--;
+                            this.Players.get(x).DrawCard(HandNb, this.Deck);
+                            // Go back 1 hand to stay on the same hand in the for loop
+                            HandNb--;
 
-                    } else if (Choice == 'R') {
-                        // Stay
+                        } else if (Choice == 'R') {
+                            // Stay
 
-                    } else if (Choice == 'D') {
-                        // Double
+                        } else if (Choice == 'D') {
+                            // Double
 
-                        this.Players.get(x).Double(HandNb, this.Deck);
-                        // Go back 1 hand to stay on the same hand in the for loop
-                        HandNb--;
-                    } else if (Choice == 'S') {
-                        // Split
+                            this.Players.get(x).Double(HandNb, this.Deck);
+                            // Go back 1 hand to stay on the same hand in the for loop
+                            HandNb--;
+                        } else if (Choice == 'S') {
+                            // Split
 
-                        this.Players.get(x).Split(HandNb, this.Deck);
-                        // Go back 1 hand to stay on the same hand in the for loop
-                        HandNb--;
+                            this.Players.get(x).Split(HandNb, this.Deck);
+                            // Go back 1 hand to stay on the same hand in the for loop
+                            HandNb--;
+                        }
                     }
-                }
 
-            } else if (this.Players.get(x).GetStrategy() == 2) {
-                while (this.Players.get(x).GetStrength(0) <= 15) {
-                    this.Players.get(x).DrawCard(0, this.Deck);
+                } else if (this.Players.get(x).GetStrategy() == 2) {
+                    while (this.Players.get(x).GetStrength(0) <= 15) {
+                        this.Players.get(x).DrawCard(0, this.Deck);
+                    }
                 }
             }
         }
@@ -569,56 +583,60 @@ public class GameManager {
 
         // Apply Computer Players Loss/Win
         for (int x = 1; x <= this.ComputerPlayers; x++) {
-            for (int HandNbComputer = 0; HandNbComputer < this.Players.get(x).GetNbHands(); HandNbComputer++) {
-                // If the player is Busted (strength > 21 but not BlackJack (99))
-                if (this.Players.get(x).GetStrength(HandNbComputer) > 21
-                        && this.Players.get(x).GetStrength(HandNbComputer) != 99) {
-                }
-                // If it's a Draw
-                else if (this.Dealer.GetStrength(0) == this.Players.get(x).GetStrength(HandNbComputer)) {
-                    // Player get's back his bet
-                    this.Players.get(x).AddMoney(this.Players.get(x).GetBet(HandNbComputer));
-                }
-                // If the player has done a BlackJack
-                else if (this.Players.get(x).GetStrength(HandNbComputer) == 99) {
-                    // Player gets payed 1.5 to 1
-                    this.Players.get(x).AddMoney(this.Players.get(x).GetBet(HandNbComputer) * 2.5);
-                }
-                // If the Dealer is Busted (strength > 21 but not BlackJack (99))
-                else if (this.Dealer.GetStrength(0) > 21 && this.Dealer.GetStrength(0) != 99) {
-                    // Player wins and get payed 1 to 1
-                    this.Players.get(x).AddMoney(this.Players.get(x).GetBet(HandNbComputer) * 2);
-                }
-                // If the Dealer has a better score
-                else if (this.Players.get(x).GetStrength(HandNbComputer) < this.Dealer.GetStrength(0)) {
-                }
-                // If the Player has a better score
-                else if (this.Players.get(x).GetStrength(HandNbComputer) > this.Dealer.GetStrength(0)) {
-                    // Player wins and get payed 1 to 1
-                    this.Players.get(x).AddMoney(this.Players.get(x).GetBet(HandNbComputer) * 2);
+            if (!Players.get(x).IsGameOver()) {
+                for (int HandNbComputer = 0; HandNbComputer < this.Players.get(x).GetNbHands(); HandNbComputer++) {
+                    // If the player is Busted (strength > 21 but not BlackJack (99))
+                    if (this.Players.get(x).GetStrength(HandNbComputer) > 21
+                            && this.Players.get(x).GetStrength(HandNbComputer) != 99) {
+                    }
+                    // If it's a Draw
+                    else if (this.Dealer.GetStrength(0) == this.Players.get(x).GetStrength(HandNbComputer)) {
+                        // Player get's back his bet
+                        this.Players.get(x).AddMoney(this.Players.get(x).GetBet(HandNbComputer));
+                    }
+                    // If the player has done a BlackJack
+                    else if (this.Players.get(x).GetStrength(HandNbComputer) == 99) {
+                        // Player gets payed 1.5 to 1
+                        this.Players.get(x).AddMoney(this.Players.get(x).GetBet(HandNbComputer) * 2.5);
+                    }
+                    // If the Dealer is Busted (strength > 21 but not BlackJack (99))
+                    else if (this.Dealer.GetStrength(0) > 21 && this.Dealer.GetStrength(0) != 99) {
+                        // Player wins and get payed 1 to 1
+                        this.Players.get(x).AddMoney(this.Players.get(x).GetBet(HandNbComputer) * 2);
+                    }
+                    // If the Dealer has a better score
+                    else if (this.Players.get(x).GetStrength(HandNbComputer) < this.Dealer.GetStrength(0)) {
+                    }
+                    // If the Player has a better score
+                    else if (this.Players.get(x).GetStrength(HandNbComputer) > this.Dealer.GetStrength(0)) {
+                        // Player wins and get payed 1 to 1
+                        this.Players.get(x).AddMoney(this.Players.get(x).GetBet(HandNbComputer) * 2);
+                    }
                 }
             }
         }
 
         // Show Computer Players hands
         for (int x = 1; x <= this.ComputerPlayers; x++) {
-            for (int HandNbComputer = 0; HandNbComputer < this.Players.get(x).GetNbHands(); HandNbComputer++) {
-                System.out
-                        .print("\nComputer " + App.ANSI_GREEN + x + App.ANSI_RESET + ", Money " + App.ANSI_BLUE
-                                + this.Players.get(x).GetMoney() + App.ANSI_RESET + ", Hand "
-                                + App.ANSI_GREEN + HandNbComputer + App.ANSI_RESET + ", Bet " + App.ANSI_BLUE
-                                + this.Players.get(x).GetBet(HandNbComputer) + App.ANSI_RESET + ", Strength "
-                                + App.ANSI_PURPLE);
-                if (this.Players.get(x).GetStrength(HandNbComputer) == 99) {
-                    System.out.println("BlackJack" + App.ANSI_RESET + " :");
-                } else if (this.Players.get(x).GetStrength(HandNbComputer) > 21) {
-                    System.out.println(
-                            this.Players.get(x).GetStrength(HandNbComputer) + App.ANSI_RED + " [BUSTED]"
-                                    + App.ANSI_RESET + " :");
-                } else {
-                    System.out.println(this.Players.get(x).GetStrength(HandNbComputer) + App.ANSI_RESET + " :");
+            if (!Players.get(x).IsGameOver()) {
+                for (int HandNbComputer = 0; HandNbComputer < this.Players.get(x).GetNbHands(); HandNbComputer++) {
+                    System.out
+                            .print("\nComputer " + App.ANSI_GREEN + x + App.ANSI_RESET + ", Money " + App.ANSI_BLUE
+                                    + this.Players.get(x).GetMoney() + App.ANSI_RESET + ", Hand "
+                                    + App.ANSI_GREEN + HandNbComputer + App.ANSI_RESET + ", Bet " + App.ANSI_BLUE
+                                    + this.Players.get(x).GetBet(HandNbComputer) + App.ANSI_RESET + ", Strength "
+                                    + App.ANSI_PURPLE);
+                    if (this.Players.get(x).GetStrength(HandNbComputer) == 99) {
+                        System.out.println("BlackJack" + App.ANSI_RESET + " :");
+                    } else if (this.Players.get(x).GetStrength(HandNbComputer) > 21) {
+                        System.out.println(
+                                this.Players.get(x).GetStrength(HandNbComputer) + App.ANSI_RED + " [BUSTED]"
+                                        + App.ANSI_RESET + " :");
+                    } else {
+                        System.out.println(this.Players.get(x).GetStrength(HandNbComputer) + App.ANSI_RESET + " :");
+                    }
+                    this.Players.get(x).ShowHand(HandNbComputer);
                 }
-                this.Players.get(x).ShowHand(HandNbComputer);
             }
         }
 
@@ -726,7 +744,7 @@ public class GameManager {
 
         if (choice == 'c') {
             // If the player has less than the minimum bid amount allowed
-            if (this.Players.get(0).GetMoney() <= 10) {
+            if (this.Players.get(0).GetMoney() < 10) {
                 return true;
             }
 
diff --git a/Partie_3_Terminal/src/main/java/ch/hepia/Joueur.java b/Partie_3_Terminal/src/main/java/ch/hepia/Joueur.java
index e69d341..6d4b712 100644
--- a/Partie_3_Terminal/src/main/java/ch/hepia/Joueur.java
+++ b/Partie_3_Terminal/src/main/java/ch/hepia/Joueur.java
@@ -67,6 +67,12 @@ interface Joueur {
     // Has the player insured himself
     public boolean HasInsured();
 
+    // Set the player game status
+    public void SetGameOver(boolean state);
+
+    // Is the player game status
+    public boolean IsGameOver();
+
     // Reset player for next turn
     public void Reset(JeudeCarte Jeu);
 }
@@ -314,6 +320,16 @@ class JoueurHumain implements Joueur {
         return this.Insured;
     }
 
+    public void SetGameOver(boolean state) {
+        // Human Player doesn't GameOver like That
+        throw new RuntimeException("Human Player doesn't GameOver like That.");
+    }
+
+    public boolean IsGameOver() {
+        // Human Player can't be in state GameOver
+        throw new RuntimeException("Human Player can't be in state GameOver.");
+    }
+
     public void Reset(JeudeCarte Jeu) {
 
         this.Insured = false;
@@ -335,6 +351,7 @@ class JoueurOrdinateur implements Joueur {
     private double Money;
     private double Insurance;
     private boolean Insured;
+    private boolean GameOver;
 
     /*
      * 1 = Smart
@@ -354,6 +371,24 @@ class JoueurOrdinateur implements Joueur {
         this.Money = Money;
         this.Insurance = 0;
         this.Insured = false;
+        this.GameOver = false;
+
+        this.Strategy = Strategy;
+    }
+
+    public JoueurOrdinateur(JeudeCarte Jeu, double Money, int Strategy, boolean GameOver) {
+
+        this.Hands = new ArrayList<>();
+
+        // At creation, player get's 1 hand with 2 cards
+        Hands.add(new Hand(Jeu, 2));
+
+        Hands.get(0).SetBet(0);
+
+        this.Money = Money;
+        this.Insurance = 0;
+        this.Insured = false;
+        this.GameOver = GameOver;
 
         this.Strategy = Strategy;
     }
@@ -578,17 +613,31 @@ class JoueurOrdinateur implements Joueur {
         return this.Insured;
     }
 
+    public void SetGameOver(boolean state) {
+        this.GameOver = state;
+    }
+
+    public boolean IsGameOver() {
+        return this.GameOver;
+    }
+
     public void Reset(JeudeCarte Jeu) {
 
-        this.Insured = false;
+        if (!this.IsGameOver() && this.GetMoney() >= 10) {
 
-        // Reset hands
-        this.Hands = new ArrayList<>();
+            this.Insured = false;
 
-        // Draw 2 card from Deck
-        this.Hands.add(new Hand(Jeu, 2));
+            // Reset hands
+            this.Hands = new ArrayList<>();
+
+            // Draw 2 card from Deck
+            this.Hands.add(new Hand(Jeu, 2));
+
+            this.Hands.get(0).SetBet(0);
+        } else {
+            this.SetGameOver(true);
+        }
 
-        this.Hands.get(0).SetBet(0);
     }
 }
 
@@ -739,6 +788,16 @@ class JoueurCroupier implements Joueur {
 
     }
 
+    public void SetGameOver(boolean state) {
+        // Dealer can't GameOver
+        throw new RuntimeException("Dealer can't GameOver.");
+    }
+
+    public boolean IsGameOver() {
+        // Dealer can't GameOver
+        throw new RuntimeException("Dealer can't GameOver.");
+    }
+
     public void Reset(JeudeCarte Jeu) {
 
         // Create a new hand with 1 card
diff --git a/Partie_3_Terminal/src/main/java/ch/hepia/Save.java b/Partie_3_Terminal/src/main/java/ch/hepia/Save.java
index d66eaa2..084c583 100644
--- a/Partie_3_Terminal/src/main/java/ch/hepia/Save.java
+++ b/Partie_3_Terminal/src/main/java/ch/hepia/Save.java
@@ -28,7 +28,7 @@ public class Save {
                     CSVWriter.DEFAULT_ESCAPE_CHARACTER,
                     CSVWriter.DEFAULT_LINE_END);
 
-            String[] data = { "Human", Double.toString(Players.get(0).GetMoney()), "0" };
+            String[] data = { "Human", Double.toString(Players.get(0).GetMoney()), "0", "false" };
 
             writer.writeNext(data);
 
@@ -37,6 +37,7 @@ public class Save {
                 data[0] = "Player_" + x;
                 data[1] = Double.toString(Players.get(x).GetMoney());
                 data[2] = Integer.toString(Players.get(x).GetStrategy());
+                data[3] = Boolean.toString(Players.get(x).IsGameOver());
 
                 writer.writeNext(data);
             }
@@ -97,4 +98,28 @@ public class Save {
 
         return Strategy;
     }
+
+    public ArrayList<Boolean> loadGameOver() {
+
+        File file = new File("save.csv");
+
+        ArrayList<Boolean> Strategy = new ArrayList<>();
+
+        try {
+
+            List<String> lines = Files.readAllLines(file.toPath(), StandardCharsets.UTF_8);
+
+            for (String string : lines) {
+
+                String[] array = string.split(",");
+
+                Strategy.add(Boolean.valueOf(array[3]));
+            }
+
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+
+        return Strategy;
+    }
 }
diff --git a/Partie_3_Terminal/target/classes/ch/hepia/App.class b/Partie_3_Terminal/target/classes/ch/hepia/App.class
index 6f9ea08bede892bdaffb0daee17453c3e7b99324..5d6fb6e95fd5a516610eaf2f431f22de73384865 100644
GIT binary patch
literal 3525
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
ZX4nZ19!N>U!mxv3Cj&_RE^vXh8vuxvM@Rqw

delta 2413
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

diff --git a/Partie_3_Terminal/target/classes/ch/hepia/COULEUR.class b/Partie_3_Terminal/target/classes/ch/hepia/COULEUR.class
index c582fd28bd308c74abcc31d7c543625ab96af75b..c38a76f38b5f56aec3100849ad749e77c1255bcd 100644
GIT binary patch
literal 1044
zcmX^0Z`VEs1_lQPGj;|hMh1c84E>DMg3LsHXa7(i*U%t#1{OvJzO2NuME#t^ymWon
zywY4o2G->K)Y2kG1|c7G_126G?8%8mMX8CUj0~&=nT4gPj0|igMX6~ysf-NVu707u
zDq)U3p{~J<48qaav~$=b=Vaz(me?^eFl%UrF*2|?=clA{FtBnlFfs`8FbFXSGcvH*
zK$VDT_#hk?TvC*omu~H;8OF)L$RNtYz{<eJ!N3mUNboSQgE$-@jx-Mg2Z+N7;>htZ
za5AugSPDE0TnyZd4E#Qsd8vM-xk;%-A&E&KcMJLCCnx5FB^G6Z_+UXU24)69Mh2FW
zjLc$22DY-qoYK@{Mg~z0O)S3RV$fjFVrS4~WDr1dZDnyuYAz3hHiHf$17~7UQDS9s
zenBN8gBG%%{FAa$lS`~Uk-P~L@&ttrJJ@FbG)4wBWNpx((8LU3ki!jl7<3s785vBG
zwK(S_78hG1*#kEN;bu_uTQf3n1?QI*C8xS&f&z!jIkBiDRS%?yk%2QfGd(Y{q_ilN
zkwFE?ERaSUOvl(+I~Xu9GB7hRFt9pEg5ryT!9fxfRbZNffelP^f@lFLQ1mb`Ft9Li
zFz_(&GB7gmF)%Q+Ft9LyK*(+e#z-N4=Ismun;AsF95EI!M;y$NWCe4iz#JJiFh`bs
zF9TyF^Ckw7;7FED4C29&teY65f+N{BF~|mQW{}^=z`(%7pvb_$AjZH7wwafKl|hPu
zjX|A(oxy~GnL!Dx0;EcaK^W>HLk4EBkJz=eWwtXYBMf0<U}Ru`YT^O2*%?$oUSr^7
zP-ReqYBytG1#1`E#2_E(&8)RA(gx&8UuNkY4C*=?z!rj>1Tl>f?gUN-T?Rd<8CncX
eVDq_z7`1jV=pSHU#I28s!3b=oF@p)1HU$7;|I5Vy

literal 1075
zcmX^0Z`VEs1_lQPD|QAZMh1c84E>DMg3LsHXa7(i*U%tN21W)J9tKthHbw^4<owjq
zB1Q%wA9PjLAY~jp44fck?8%8mMX8CUATe$p1|E<YYe8mVX(~vBkB5ODB*Iowl$w?U
z782xP5MmH!WMEebbMy&y4Q6Bzj>fcti$Rn@jGaN4he4b{0_2#S{Jc~~1`!QSpRB~P
zME#t^ymWp4q^#8B5^F97DF$hF1{od(Sq3>q20nxW*SykPMh5n>#GKMp|1?GhQw=2D
z&N+$2#nwmy!6ikRdFj^3Hh>HOo3Fsbpva)a$iQZknU`5&$H*XtY!p<dr)C%j11lE;
zBZC4511ARq4+jH3h^NWJpv9mK@-o;Z#f%K18k$%<&B(w8Q^4Y!pOVVR!0(fpm+DuV
zo0M7<l9-f}%E+LG#a>O!@B_tLesW??SYlBoNF!7?OI~7bDo73yMo_miGO(0nWEL|r
za0X|l=Ovbu7Ns&WFl%UrF*0!2B<DbVt%4L>ps=yQwAs#@k%22XzqBYh)h!d`VlL;z
zqLNfSkc|!o42%p?3=9mc4w9f$#=zhp2}(v_numc6O!I?i0Vz-_0jXr*WYA&IW?*E{
zWnf@XVqjzd0j^C90^1lw4lsyrU|?WiWYA+^U|<8wF*9&7$TH|d)tfLdfknB57`1jV
zNFHEd1gU32QE$M&z`z4h#bC%_#K6G71d3}0Ca{f$49pD73=9nHTG}$(8RR#DrID>e
zXlG|I205L<1gyqXfD07sP=}Z@uz=jnAj`g&fiaSK69aQ_B+DiS_TWg?O$=PYk!+h7
zc!NQ1L-h*>gBgP<)QDuL5!SmI7$b$0nYS~jY-V5vb5vQt9Ck2AjTOw{0&~>az#QHk
v3>upm1VFBbSRls0%D}+D!obVG${@wS#-Pr?&S1j8%)kV7y*Yyg*cX-n^pnST

diff --git a/Partie_3_Terminal/target/classes/ch/hepia/Carte.class b/Partie_3_Terminal/target/classes/ch/hepia/Carte.class
index f2e1b3556ab535a9579d8c800c12eb799aff3d01..bb77e1a2cf2b2c55d68d07f73a271f6ad870f1c6 100644
GIT binary patch
literal 2722
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
I796AJ03*At7ytkO

literal 2702
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

diff --git a/Partie_3_Terminal/target/classes/ch/hepia/GameManager.class b/Partie_3_Terminal/target/classes/ch/hepia/GameManager.class
index e282ad70f389211acf3598dce6c56617b197d996..ac24e886c079f40286ef1739cac91ca262db1410 100644
GIT binary patch
literal 19291
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

literal 18103
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

diff --git a/Partie_3_Terminal/target/classes/ch/hepia/Hand$1.class b/Partie_3_Terminal/target/classes/ch/hepia/Hand$1.class
index 2214bf48295c2e99569934bb083314370d6c1499..e2750c39ec1ee0ffda4f715b78a572443a2da898 100644
GIT binary patch
delta 698
zcmaFL@q)wu)W2Q(7#J8F7#!Fcm>3!OlQZ-)QVTK@^*s{vQdA7t8CVz@1hNv#67_Qu
z^V0SGld@8iOV}CM7#T#sqNOF7Ir`4|xdn+ui6!|(laDjXvDswiWtP}Y&SaF4;$&cC
z;N@XpXW-ysU}oUwVc=vCU}Rv{&<va0%ILzuo($HRI$4uZO^%B}f<cO%L6VVy5AF)*
z#G;Z^9tLR!nTg?Qa&im`><sdZ3<3yw|4<*-&>$WLMFypbvsD}=7*u!|R2kG58Q9ZP
zOM(*f(!sWQaxrKyXt6VBGBOB)oelPkXI@EadTJ35gD8VGBLl03r>Cap<VTDZ%3KVL
z3??99F-8Wi;QZ2}<W#rJoK!{zPEe@mflQbj#pGSj@0ypKlV6;fm+qTdl98Xn&S1^R
zzzcUANHGtCEy%|l!TCicAU-1lk7r(9YLRnJVsUY5F(U(qUutoQM}Bb$g8~C112Y37
z11kfgfB-1S7#J9s85kHi89?sgW?*12VPIllVqjq4($e0_z@t^aoq=y70|NsSgCGL~
z0~-S)0|P?=gAfA)0}q(Z#URWe!oa}5$RNrf#=yt`GNO)wiGhWIfk94t8-uvcHU{x+
z46=5zvl#fbw=pQ|Y-3Q~!JxiIb`98Skf}mo)g=r(3}p-g3>6GA3^iaIv=~?z*clk)
zKvqmXz^tDm%3uVwLYILV>~3By?E?%FItLgewlNrkOhk4kBiIy>XIL3b!G17fFbC5X
f43-QG3@i**3^ojQAkQ)|f_=llz`$S+R$&DIZ0dV9

delta 704
zcmaFC@suO{)W2Q(7#J8F80@$hm>8JZ8CZB2SQ*$D83eKt%M$f-67$ma{gbj%lS>#G
z*laTMGE3|j8JIOR!?+kY7&zG(xOf=28F&~O_>wd9Gg1pO6ZM@Fi%L=_TQaK2@iFkT
zGYIf72r>vUG6*0P_=ozqh6YWpWmHk+U=ZP95M>Z!WMEHEEeT4@O9z|o$;BYSAj!@k
z#ls-YAT#+Oqlh6R1AB6QZb4#EDkB4{hNq{dCl`YpgFHKf0!WP_BLhF&0*}PJ6cxjX
zU)9Xm8I&0rM8G~NEy>K$cLtk~Sdw4F$RMQQgQCM)GmMde#W_DEb>d2wiGebcpE8zC
zu4VGB=L*g*ElN&x%gjk-WZ(oDt_L!ak%8YeFF7Z_I5RKZH?<@qKZTval97QI#ZVpw
zYfxZv1m_o(fOIl4aQLMbmw4nCmoPH$c;@A$7CGl678j=$Gbk{~F)%SOGAJ=HFfcPP
zFt9SHFfcNxGSo9LSTZm&FoA@$wlgqpWME)mVo+mXU|?flWME(@U{GgZU=V{SV9;RD
zWB>tH1}z3{21W)(25AOGusIA2bqq`lEDQ_`a@yM%*mbrsuy14FwUeF2z^}cHL0D%S
zgYXUp@inq*!1ja87Xqu6En(ncC}R*{s9=y`r~zB11(uKlSvL7BvwoR0gAvpUa|ULx
z<9W5T4=`}(9AMzs#sD@E)5Sbs*Yko50eOwV80;?-22(I?#$e9Cz`(*_!C=K;0~WDh
Suw`Ii;9_88kOO&;fdK#m6nwD&

diff --git a/Partie_3_Terminal/target/classes/ch/hepia/Hand.class b/Partie_3_Terminal/target/classes/ch/hepia/Hand.class
index 6e99640898ba7d7dacac297d9754b15afd0dc13e..a5d795896fe3549efa725a1873962850a6211e6f 100644
GIT binary patch
literal 4921
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

literal 4822
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

diff --git a/Partie_3_Terminal/target/classes/ch/hepia/JeudeCarte$1.class b/Partie_3_Terminal/target/classes/ch/hepia/JeudeCarte$1.class
index 2735eb7c27de1aa52aa4584d2c1ef9d746a2b524..e87f2ad85071fb1b622c4a955974eae6caf97a63 100644
GIT binary patch
delta 665
zcmZqW?BEPN^>5cc1_lNP1_yQqCPoI)<P80c)Pl@JeXrEglvL-$qLNe<Lv{uhMh1bb
z#Ii*FoW#6zegCAa)Z`L&1~x_p5wK`!NoJ0|bAE0?Vo_pAe$nKcj4Et4nR%Hdc9ZiN
zm83Ws7#VnZ7}yy&xEPoj_<0yO83Y&^m^C!RCQoGa;$Tk(>r9=j&!{HH#UQ~T#m*qf
z$iN483)mSv4AKlT6T{Wy<QNp#8RQum1Q7E6p+2smK|BnK3`!Gct2jz9sPHhTGN>^!
zu&1Y%1SRIBgKhKVV$fjFVrS4~WDo>98|)d+ypq)P)FK`RQ3h>B238GEPfgFszZfgH
zxEL52OhCe7lXo*IPA*~c6y|r$OU}tJ&df{qO)bgDPhn@Up8TFkqMnn%mXU!)!&5Vi
zk%7lEFE6#oIVZ8WIJKCOfx|DgxWpsBxP(E0fsuikfsuigfl)vJ6c`K)49pA+44e!g
zo46Sm7)%(L7?>Cs7`U{ww=(c(ZD-)y$iTqB#30DPz`(}9$iTp$&LG6Vz`z4$b1?`r
zh%hiPFfzo7GKeuSGJuSzV_;%nVPIg8)857)uCt9nd>ezTo$M?Ie(h}x$~xN^ly@+w
zuaR8?wi;xt5LmS~0}q2Pg8+j*gA9W)*a|JMxE#oe$q$(Ib3_@8pf>0-FoT`VtEGK_
zK|<#MgTyulV~~N!?qmcT0`dzhgDKb#W(?+F+JeE7fq{XA!HU6#!4BkC21c-N7#J8B
I?7=Fm06t)FjsO4v

delta 641
zcmeC+Y~>6;^>5cc1_lNP20JbWCI)791{NL$Rt7dk27#=^vPAuy#JqHU|D>$c<Pt^(
zHk-`6%o00B24)S-FfIlT22OScE*=JM1|CKRzT^!3jMRe6M1AMPqLS3ffsAT$d<^{T
z3<5k1f($~83<3xR{-Hjup+S?UGO9#yFo^Ilh%$&VGO(womINi{rGriP<YJIukYs0&
z;$e_xkYQvHL^#GXuOu}+wTO{{Jvl$OAh9Twk%3ji(^J!vi$RV-o}EDfq(yNeuf$|t
zMm1)32IYx%k`o&hChqo{7_Kz=FJtNC*-YM(>zL&0`CappbMlKb^U{4&OEU6P*cmJt
z8HC}^^hzyFNd<cb6e8A)3@jR+nqiC#9Db?AB_8?3C5#L_o_TqxMb0^i#l@+`3<?Z#
z3``7+3`z_P49pA+46F<)42%q_3=9mG42%p+AQ7$Y42&BY7#Nrs)EMd+7}yvX85kJU
z8PpjV7{nkd7&I6(89;!QL5o3~fsuicL7G7kYEB&k69Wqa1B0CQHU@T`Z4B(&7<lbu
zXEE?=Z(|VF*~TEegF$?a>>9BBY77hvLSWU}3_J|F3<3=L3^EMHV7s(H;%p3ZAj>Ad
zW!5i~W-x+UVa~t|c08|^_5lVCodXOU+Zezmf}D)%Vji&Tc|nGN{KjAm_LvESDVR26
hFlS(3U}3Oeuwt+Qi&!w&GB7Z3F)%X7fjr2-002D2XG{P9

diff --git a/Partie_3_Terminal/target/classes/ch/hepia/JeudeCarte.class b/Partie_3_Terminal/target/classes/ch/hepia/JeudeCarte.class
index ef19fe3892611f8ced9c139e6ced49f24319685c..7c84a24a016f03fff7d97c2fd8eab208948f7fbf 100644
GIT binary patch
literal 3261
zcmX^0Z`VEs1_lR)Y3vM4j10ob8TuKi1(}KZUa6%ism_T-C8_KTEQ|~SS&3zd`Z<Yt
z>H7XjS*gh-j11gasiiIuCB=*k0zP0Br6rj;`aYS(CDx1#oWYstd5I;ZMX8JoN@&tH
zK5(1BmRQ?aGcvH*Waed-*fBD&Xn1OdF*2|?=clA{F)%am@-T2R@G&wlYiNeCGYBv;
z2qP?WEGkN@1lh>Nz|X+T$-u}U%)`LSz{bTO${^0pAjZfbfUwFx)W<b6h=)OfL6VVy
ztt>I8G_{zKK~zIC8p%BnMb_*L(u@pz2)&@N;9`(skOetLj*&r315=NuW*9ev0)rAe
zgCZjXAHtC!_wg_&GpH~!Fej#@fUJZB2vUezYesQ0h%%`0FsL(VFfy<wCl(c@CYCZX
z2w~d8&Y;D}APRRIBC=ErxfnDVbU;qjWn_>*aw0;FwPqL>gFb^HJA(lugDAq0&iOex
zsmUdo`FX`W3`Pvbj0`Nr`9&p+44N7c$08yZiSL}BTaZ|kSdw344T>{<pUk{eztY^K
z)S{5Yq?}Zc^YfDvbHWmfGC_Q(AWKO`CMe_)UPE#pBLh=j5+ehnCnyy1OLJ07ix?SL
ziW2kE85tNW7#VnjOA?c_eG?17hOsl)GcpKci9kjM5hVWyBo>yYmVo{4#Nfit;LOOt
z4-Y_yBoBitgBv3QXL@Q0M1YY&NJA6Jub^nO21T$34}&Lz7b62lW=Sg8@1W#>tkM%I
zZq3c$!{Eox;LFG$ga~PvEDwV}LjWTKOI~V43COij6Oa=H7Xu?h5D!Bz%wgc%QVeoK
zC=WvzLpUP?TVhIzV@?hugCue^AtKXSGYaI0NFIhLhG<3x_Kd`0Kd^nw8k$jz3~UA9
zfMH}1M8pNe_tuOI>=4OfMh2FY)Z}bN2DW5SHYjFf5c5Ha)yjfYaAYttsH24!Qcg#T
zVo-Kh!3bL<wP1gOO9esq)RK_=0<eI8ntNg{C{1Z-B3uiW0Y^(Z4?_k+CL;rLdTI$M
zk9lGVP(}tm$CMPXo{)TqX(AfPsR!gia8ee;5M^Xw1^XXV+`-ch*eGjuh8#u);h@yq
z{4z+H=vI`U3o;%QRYg1u#h|>;Rs@!3WMD7OC{0VtNd@J@G9HE!hH^#*VdUror!-K0
z;&M+d@k??}EJ`T`mw%oh^Qw6mY8Wa(`7^UBm63rfI3vFt5@(zY^$d;d3=JqHc5r2J
zNop<+LlZ+YBLj1ODJX0pv6PvwA5fH;R}x%Ol$w}p&B4&h$RMT*0SXWk6(BraE{1l7
zPIiV4SmBGRm4~5=p&OK5K&Iv7fdU_512`=QmlS2@rGxXH6hki$LmxvwBLi=GYKdQd
zE~xy-0Y#SxEIA-+;b54Ea1qocFbd@H{L-T2RJTk}Im3@gUV5Oc#>l|qnU|MZ<eZaO
zTnsAax&2a$OMFv7MN=_@A_F4>GXnzyBLfqtwqRgnU}s=pU}E54097HJ44{0+&A`Ce
z$G`@bS+BL7fk$gM1ApXp2EnZiLOU2lBCS~WnXxe2EoTUoWR*4Y6<{}GTh3rD$|k_O
zgh5to3xm*Z2B}CL5I<!*gUn6_c_xPN<qYCTGH~G*Hbzl4Y4#iewuB}B5412d%8Ifq
z{J&b7y<jGTI<xI^25FeCO$@5c2yIM^GSch?3;#cXNNYxFZD-Kl!JxO1fq{XU!GwW<
z!HGeDfq{XCfrWvOfuBKuL5V?#L6bp*!GJ-O!JR>j!HYqhA&x<aA%{VLp_D<6p_)N~
zp@Bh(VJd?H!+ZvHhII^<45kbW3?>Y$3=9nG8O#{W89-n?g9U>n10#bHgBODpg9ZZ=
zgBpVygEfOC0~<pvgA#)cgCzqKgDnFCgEs@`e+F3wHg*O^Mg~Skb_P2JhW`xQ4D28Q
zb_P+f5F-PFf-uv623~Y^0u0O`b&L!Q;=dT!7#JBi85|fG8Mql37~U~3Gq5o*Fu0?|
zjrKMMM_-+t4DO5!RxHaI6eL-8GI%pG9AIGd)7{1pXvGQ&EJ@a#3?WPm;ULKfMuu7c
z?|{OL1srBd3>*v$4Au-R47LpX4E78n42}$13{DIN49*NT42}$L3~oqa;tmfJcZL{-
zSO!K05e8$1I0iNbCI&4AA%=Jca|UJx0|p+31O_$+R)$0d1_m((Ca9_;1}3N+2LmfO
zyu=xp{xirku(C5SvNJfbGbk{yGx#tt$S^R1ssRQjaC&57NCt<2J_92IBLf2i*iRe4
zNf;FCpnzgv@C3V(2ciJ#N=AkhhE!+(S}-ty<@i7W!n~6qjfvp^gA}?cen_V9K}~67
z$YRKbn$p9-1dawZZA6X`1Lp{ku{w}+4@=UoK%optnL-RK3=9k*41x?{3^EKM45|!~
zV4D=c8B+~v69a=9Ljpq%10#bV12;o1Lmo6$iGf0i2b@~i8S=sDDxZNth@p|8fOwY`
zGBJeXbXhEeAVWNZ3_~n~Dnk+#T*k;y!oUX&Gc#zkae#to2SX_+RG7eNkBfncfq@~7
zft?`(Y$qi4IG~}y$WXyh2{pq6Y6cg`jGYWsj0|hg;y)Y71TMG<wQyI=VqgM?we=>3
zI-!<r3~dmT+!+~smotd#Ky!_h&nAXC?QIM_+Zft(b~1o7%QKLU3ELRjKn{mQrxZ95
z6fkfw6fwv%lrU&A6fqbvR4`aERDzuWO7fsg1t~z}8Mwfa$p}vJf}qG01?O}~Vi#s$
hW|#!_&18lt3=H7nSQAw2FfcGoWnf@nVPIs?1OQQ%ptb-2

literal 3202
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

diff --git a/Partie_3_Terminal/target/classes/ch/hepia/Joueur.class b/Partie_3_Terminal/target/classes/ch/hepia/Joueur.class
index cec581d3b0582175934534582a999fa29a5d8288..bc4ada492603b64d2400c04c8fecad81e607a372 100644
GIT binary patch
delta 89
zcmbQvdXkmv)W2Q(7#J8F7<4ysbu%h(2d9>}C+4R5m!%dlGO%bwX@)T}aCsKP#3oN>
n^kkHne3x;96bmDR27@XC0}CUACW96O0|O(2HUk3#6N3%_fXWns

delta 40
wcmX@fI-Qm4)W2Q(7#J8F7_>HWbu&)h&gjl4Hu*o}1}+9h1`P%V1||kg01=1^umAu6

diff --git a/Partie_3_Terminal/target/classes/ch/hepia/JoueurCroupier.class b/Partie_3_Terminal/target/classes/ch/hepia/JoueurCroupier.class
index a6d7be41a8badd1a6b17940cba326b7982c5ed9e..d493f855e4e2e79c4c77a889ffc93ab217636f1f 100644
GIT binary patch
literal 3554
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

literal 3338
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
Q2wGgoGB7fffm3}s0Q@f_kN^Mx

diff --git a/Partie_3_Terminal/target/classes/ch/hepia/JoueurHumain.class b/Partie_3_Terminal/target/classes/ch/hepia/JoueurHumain.class
index 80c3c5720b4dac59c98a4620e9f627ec9d95b149..d1175e83cd83984c021ae8969a93b421195e2ab7 100644
GIT binary patch
literal 5177
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
OI9Y+JgB@T`?*stJ3Fv|V

literal 4895
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

diff --git a/Partie_3_Terminal/target/classes/ch/hepia/JoueurOrdinateur.class b/Partie_3_Terminal/target/classes/ch/hepia/JoueurOrdinateur.class
index 7d9b26c3479ba17255924e3dfe272b223229de85..6c354443c4e3936eae553f6e39df41a645166298 100644
GIT binary patch
literal 5461
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
Tnb{baelxg&`V<Gj&A&qcfjSTJ

literal 4912
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
E042}YdH?_b

diff --git a/Partie_3_Terminal/target/classes/ch/hepia/Paquet.class b/Partie_3_Terminal/target/classes/ch/hepia/Paquet.class
index 287773450d9a2e8fcd9120c796067e1f9f2a10cf..79dc7afd66ab47cc77bb82fcf6c5682425eccc23 100644
GIT binary patch
delta 562
zcmZo;Z($ES^>5cc1_lNP1|xO`CPoJS<P80c)Pl@J{eZ;6($o@m1{OvJfvm)`ME#t^
zymWp4q^#8B5=I8L0<bhAgMbfMva}>KN8cy2xWsxg52J-9n@wh3W{Djm1FMFor)C%<
z1B-KhN-7rvGXpOV11AF?BLlOBW*9qzz(gB~OnwGlP6kE>VIBrn1~zsEQAP$~xGTI;
zOH)#v6N^exxfnzk#6g-R7#UbJJT=2W0#ZB-(je2=i!(~o(sEL{8Dtsc*%{;*8Te40
z#lxV$pg8fJ!sK8^^~uW_)dd+n85ub8lH!v=W-~G{W=^hPRG)m4v9g|#fti7Ufsug;
z<QxV@26hGp1||j$1||kZ22KVp21W*M1_p*b49pCy3=9kwTH6_Tw01M_M{Z{j+{z%t
zY`2_2aW{iVq|9~(F)J2HmTe4@T3Z-|Bw2Pc$S^U4w=grxN-zBXU?T$q12cmX0|SE+
z0|x^G0~Z4e0}lf~17AIZ2m?QZ9D@LZGJ_z4J_8?vIfDp;G6MsH3B*DM6$VuX5U^lS
zV^C*c1UZ61gF&5vi9wJ-jX{$^oq?G_jzN$?i$R-#g+YgbfkA+Q=|6)A0}DF?BO@at
r1A{CBBZDr39s?89bNXN}=`%1wyvqu5@Z>;dIev&$j0^_gFfarFR?=B!

delta 595
zcmZo+Z)2}N^>5cc1_lNP1|u#8CI)791{NL$Rt7dk27#=^vPAuy#JqHU|D>$c<Pt^(
zHk-`6%o00B24)S-Fm?tGMh0Q9qSBJg9DT>4qQpv{%;FL*26hH!P6loU9(D#^9tJ)J
zentlV<P80c)Pl@J{eZ;6(o~RH1z?6GBZGhs!Vr*tYjy@fMh4-Dg~Ewk3<3<oAoqwc
zGO%cPYKDOX#CRCQK@Mau&L~Yw%Sq*CkYtczXOQM$kYSKzWZ*+Jjgf&lF(rkOK~w``
z4U&hfHKQg5TJW-JczSAvF*2|?=clAj4rJ7vyoFJfjWLsvfzfkv1*0Y>M_y8Va$-?Q
z>g4N;)%DyAObiSRj0{X5pD{2p$T2W5Ffqt8FflMPureqxFfu4IFfi<6U}j)tU|_J&
z+RnhJwVQ!GaytX(Rt7F+J6Y*P3@W=B1R`a&GYDC+NV05W5Y^hkz$MADlR<)sA-si|
zarytd8yOfFm>HB97#NfoI2afhxENR%co_H@`05$N82A|!7z7wp83Y*&8Tc5?8AKSA
z85kH$z}5>gs4%E9urLTRs4=K9s53Bw9KoQ$pveFN77SVp>I{rvF>MBQ1||j_1_lNp
z2B!ZEf($I|4BU*2j0_CF7*rV;8FU%+7?{AG(Pv-;>tWT}!obKiIh<Ke9AY5E?;vRd
Ia3~l80MWx@bpQYW

diff --git a/Partie_3_Terminal/target/classes/ch/hepia/Save.class b/Partie_3_Terminal/target/classes/ch/hepia/Save.class
index 4d96235bc2aa0a217a3dee9df8ff67b16df6f5b7..39aa445e9a2eb5d5b6624a59c5c69096c77c1227 100644
GIT binary patch
literal 4489
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
M#~4m9oMMm!0PW^SGynhq

delta 2166
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

-- 
GitLab