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