From 1a9d3eed461eb98578390cac2216e3b3986e84b8 Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Mon, 4 Nov 2019 18:06:02 -0500 Subject: [PATCH 001/169] Add Apple files --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 53c83987d..c416744b6 100644 --- a/.gitignore +++ b/.gitignore @@ -104,3 +104,6 @@ target/* .project .classpath .settings + + +*DS_Store \ No newline at end of file From 90435190164ce3b10a6d582a4c540c6eb5a15c4d Mon Sep 17 00:00:00 2001 From: mike Date: Mon, 4 Nov 2019 18:15:45 -0500 Subject: [PATCH 002/169] stubbed out blackjack methods and method tests --- src/main/java/BlackJack.java | 29 +++++++++++++ src/test/java/BlackJackTest.java | 70 ++++++++++++++++++++++++++++++++ 2 files changed, 99 insertions(+) create mode 100644 src/main/java/BlackJack.java create mode 100644 src/test/java/BlackJackTest.java diff --git a/src/main/java/BlackJack.java b/src/main/java/BlackJack.java new file mode 100644 index 000000000..d8e6542d3 --- /dev/null +++ b/src/main/java/BlackJack.java @@ -0,0 +1,29 @@ +public class BlackJack { + + public void startGame() {} + + public void promptHitOrStay(){} + + public void dealerHitOrStay(){} + + public void hit(Player deck, Player player) {} + + public void stay(){} + + public void distributeWinnings(){} + + public void checkCardValue(Card firstCard, Card secondCard){} + + public void getWinner (CardHand dealer, CardHand player){} + + public void promptLeaveGame() {} + + public void displayResults() {} + + + + + + + +} diff --git a/src/test/java/BlackJackTest.java b/src/test/java/BlackJackTest.java new file mode 100644 index 000000000..f00a0b5c2 --- /dev/null +++ b/src/test/java/BlackJackTest.java @@ -0,0 +1,70 @@ +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class BlackJackTest { + + + @Before + public void setUp(){} + + @After + public void tearDown(){} + + + + + + @Test + public void startGameTest(){} + + @Test + public void promptHitOrStayTest(){} + + @Test + public void dealerHitOrStayTest(){} + + @Test + public void hitTest(Player deck, Player player) {} + + @Test + public void stayTest(){} + + @Test + public void distributeWinningsTest(){} + + @Test + public void checkCardValueTest(Card firstCard, Card secondCard){} + + @Test + public void getWinnerTest(CardHand dealer, CardHand player){} + + @Test + public void promptLeaveGameTest() {} + + @Test + public void displayResultsTest() {} + + + + + + + + + + + + + + + + + + + + + + + +} From 5239ed98077a57affbbfa5979304beb10c52eb3a Mon Sep 17 00:00:00 2001 From: Maira Botelho Date: Mon, 4 Nov 2019 18:24:07 -0500 Subject: [PATCH 003/169] cards --- src/main/java/io/zipcoder/casino/CardGames/Deck.java | 6 ++++++ src/main/java/io/zipcoder/casino/CardGames/GoFish.java | 4 ++++ src/main/java/io/zipcoder/casino/CardGames/Rank.java | 4 ++++ src/main/java/io/zipcoder/casino/CardGames/Suit.java | 7 +++++++ 4 files changed, 21 insertions(+) create mode 100644 src/main/java/io/zipcoder/casino/CardGames/Deck.java create mode 100644 src/main/java/io/zipcoder/casino/CardGames/GoFish.java create mode 100644 src/main/java/io/zipcoder/casino/CardGames/Rank.java create mode 100644 src/main/java/io/zipcoder/casino/CardGames/Suit.java diff --git a/src/main/java/io/zipcoder/casino/CardGames/Deck.java b/src/main/java/io/zipcoder/casino/CardGames/Deck.java new file mode 100644 index 000000000..0655a37dd --- /dev/null +++ b/src/main/java/io/zipcoder/casino/CardGames/Deck.java @@ -0,0 +1,6 @@ +package io.zipcoder.casino.CardGames; + +public class Deck { + + +} diff --git a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java new file mode 100644 index 000000000..323862388 --- /dev/null +++ b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java @@ -0,0 +1,4 @@ +package io.zipcoder.casino.CardGames; + +public class GoFish { +} diff --git a/src/main/java/io/zipcoder/casino/CardGames/Rank.java b/src/main/java/io/zipcoder/casino/CardGames/Rank.java new file mode 100644 index 000000000..925dcc9cf --- /dev/null +++ b/src/main/java/io/zipcoder/casino/CardGames/Rank.java @@ -0,0 +1,4 @@ +package io.zipcoder.casino.CardGames; + +public enum Rank { +} diff --git a/src/main/java/io/zipcoder/casino/CardGames/Suit.java b/src/main/java/io/zipcoder/casino/CardGames/Suit.java new file mode 100644 index 000000000..11e213a84 --- /dev/null +++ b/src/main/java/io/zipcoder/casino/CardGames/Suit.java @@ -0,0 +1,7 @@ +package io.zipcoder.casino.CardGames; + +public enum Suit { + + HEARTS, + DIAMO +} From 3f60278d5c5df4885cfea3a2b2fa6094c78fb866 Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Mon, 4 Nov 2019 18:29:50 -0500 Subject: [PATCH 004/169] move blackjack under card games --- README.md | 6 +++--- .../java/{ => io/zipcoder/casino/CardGames}/BlackJack.java | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) rename src/main/java/{ => io/zipcoder/casino/CardGames}/BlackJack.java (92%) diff --git a/README.md b/README.md index 14d017d9b..941e05cf3 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ ## Minimum Viable Product (MVP) * Your application must have at the very least 4 games: * Go Fish a card game - * BlackJack a card game + * io.zipcoder.casino.CardGames.BlackJack a card game * Craps a dice game * An additional dice game @@ -25,7 +25,7 @@ ## Developmental Notes * `GoFish` is a friendly game and should not involve gambling. -* `BlackJack` and `GoFish` are both card games and should therefore inherit from a common `CardGame`. -* Any common logic or fields between the games should live CardGame class, **not** BlackJack **nor** GoFish. +* `io.zipcoder.casino.CardGames.BlackJack` and `GoFish` are both card games and should therefore inherit from a common `CardGame`. +* Any common logic or fields between the games should live CardGame class, **not** io.zipcoder.casino.CardGames.BlackJack **nor** GoFish. * You must have a completed and approved UML diagram before you proceed to do any development * All public methods should be tested. diff --git a/src/main/java/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java similarity index 92% rename from src/main/java/BlackJack.java rename to src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index d8e6542d3..f77bdd9cb 100644 --- a/src/main/java/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -1,3 +1,5 @@ +package io.zipcoder.casino.CardGames; + public class BlackJack { public void startGame() {} From 7468828210b87d81a63904dc8c27a6d735da4148 Mon Sep 17 00:00:00 2001 From: Maira Botelho Date: Mon, 4 Nov 2019 19:02:41 -0500 Subject: [PATCH 005/169] new classes --- src/main/java/BlackJack.java | 5 +++++ .../casino/CardGames/{Rank.java => Card.java} | 2 +- .../zipcoder/casino/CardGames/CardHand.java | 4 ++++ .../io/zipcoder/casino/CardGames/Deck.java | 14 +++++++++++++ .../io/zipcoder/casino/CardGames/GoFish.java | 21 +++++++++++++++++++ .../io/zipcoder/casino/CardGames/Suit.java | 7 ------- .../io/zipcoder/casino/Player/Player.java | 4 ++++ src/test/java/BlackJackTest.java | 12 +++++------ .../zipcoder/casino/CardGames/DeckTest.java | 7 +++++++ .../zipcoder/casino/CardGames/GoFishTest.java | 7 +++++++ 10 files changed, 69 insertions(+), 14 deletions(-) rename src/main/java/io/zipcoder/casino/CardGames/{Rank.java => Card.java} (67%) create mode 100644 src/main/java/io/zipcoder/casino/CardGames/CardHand.java delete mode 100644 src/main/java/io/zipcoder/casino/CardGames/Suit.java create mode 100644 src/main/java/io/zipcoder/casino/Player/Player.java create mode 100644 src/test/java/io/zipcoder/casino/CardGames/DeckTest.java create mode 100644 src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java diff --git a/src/main/java/BlackJack.java b/src/main/java/BlackJack.java index d8e6542d3..658e5ab4c 100644 --- a/src/main/java/BlackJack.java +++ b/src/main/java/BlackJack.java @@ -1,3 +1,8 @@ +import io.zipcoder.casino.CardGames.CardHand; +import io.zipcoder.casino.Player.Player; + +import javax.smartcardio.Card; + public class BlackJack { public void startGame() {} diff --git a/src/main/java/io/zipcoder/casino/CardGames/Rank.java b/src/main/java/io/zipcoder/casino/CardGames/Card.java similarity index 67% rename from src/main/java/io/zipcoder/casino/CardGames/Rank.java rename to src/main/java/io/zipcoder/casino/CardGames/Card.java index 925dcc9cf..9bdb47331 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/Rank.java +++ b/src/main/java/io/zipcoder/casino/CardGames/Card.java @@ -1,4 +1,4 @@ package io.zipcoder.casino.CardGames; -public enum Rank { +public class Card { } diff --git a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java new file mode 100644 index 000000000..200ac5ebb --- /dev/null +++ b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java @@ -0,0 +1,4 @@ +package io.zipcoder.casino.CardGames; + +public class CardHand { +} diff --git a/src/main/java/io/zipcoder/casino/CardGames/Deck.java b/src/main/java/io/zipcoder/casino/CardGames/Deck.java index 0655a37dd..d44b5b8e5 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/Deck.java +++ b/src/main/java/io/zipcoder/casino/CardGames/Deck.java @@ -1,6 +1,20 @@ package io.zipcoder.casino.CardGames; + public class Deck { + public Deck() { + + } + + public void dealCards(int numberOfCards){} + + public void shuffleDeck(){} + + public void drawCard(){} } + + + + diff --git a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java index 323862388..da0e6218e 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java +++ b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java @@ -1,4 +1,25 @@ package io.zipcoder.casino.CardGames; +import io.zipcoder.casino.Player.Player; + +import java.util.ArrayList; + public class GoFish { + + Player user = new Player(); + Integer pointAccumulated; + Integer hasCardQuestion; + Deck goFishDeck = new Deck(); + + public void startGame(){} + + public boolean askForCard(Player thisPlayer, int cardNumber){} + + public void tradeCards(ArrayList fromPlayer, ArrayList toPlayer){} + + public void dropCards (Player playerToDrop){} + + public void promptLeaveGame(){} + + public void displayResults (){} } diff --git a/src/main/java/io/zipcoder/casino/CardGames/Suit.java b/src/main/java/io/zipcoder/casino/CardGames/Suit.java deleted file mode 100644 index 11e213a84..000000000 --- a/src/main/java/io/zipcoder/casino/CardGames/Suit.java +++ /dev/null @@ -1,7 +0,0 @@ -package io.zipcoder.casino.CardGames; - -public enum Suit { - - HEARTS, - DIAMO -} diff --git a/src/main/java/io/zipcoder/casino/Player/Player.java b/src/main/java/io/zipcoder/casino/Player/Player.java new file mode 100644 index 000000000..4099a08a3 --- /dev/null +++ b/src/main/java/io/zipcoder/casino/Player/Player.java @@ -0,0 +1,4 @@ +package io.zipcoder.casino.Player; + +public class Player { +} diff --git a/src/test/java/BlackJackTest.java b/src/test/java/BlackJackTest.java index f00a0b5c2..9cf2ea4d0 100644 --- a/src/test/java/BlackJackTest.java +++ b/src/test/java/BlackJackTest.java @@ -24,8 +24,8 @@ public void promptHitOrStayTest(){} @Test public void dealerHitOrStayTest(){} - @Test - public void hitTest(Player deck, Player player) {} + //@Test + //public void hitTest(Player deck, Player player) {} @Test public void stayTest(){} @@ -33,11 +33,11 @@ public void stayTest(){} @Test public void distributeWinningsTest(){} - @Test - public void checkCardValueTest(Card firstCard, Card secondCard){} + //@Test + //public void checkCardValueTest(Card firstCard, Card secondCard){} - @Test - public void getWinnerTest(CardHand dealer, CardHand player){} + //@Test + //public void getWinnerTest(CardHand dealer, CardHand player){} @Test public void promptLeaveGameTest() {} diff --git a/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java b/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java new file mode 100644 index 000000000..510ad4400 --- /dev/null +++ b/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java @@ -0,0 +1,7 @@ +package io.zipcoder.casino.CardGames; + +import static org.junit.Assert.*; + +public class DeckTest { + +} \ No newline at end of file diff --git a/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java b/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java new file mode 100644 index 000000000..c4cc32e34 --- /dev/null +++ b/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java @@ -0,0 +1,7 @@ +package io.zipcoder.casino.CardGames; + +import static org.junit.Assert.*; + +public class GoFishTest { + +} \ No newline at end of file From 3527782d0c73fc9d647ea8692bf9461d9c456a0b Mon Sep 17 00:00:00 2001 From: mike Date: Mon, 4 Nov 2019 19:14:22 -0500 Subject: [PATCH 006/169] minor save --- src/test/java/BlackJackTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/test/java/BlackJackTest.java b/src/test/java/BlackJackTest.java index f00a0b5c2..1d6df4194 100644 --- a/src/test/java/BlackJackTest.java +++ b/src/test/java/BlackJackTest.java @@ -65,6 +65,7 @@ public void displayResultsTest() {} + } From 9040ea3e57cf6e0eac5df269ca230fa60086416f Mon Sep 17 00:00:00 2001 From: mike Date: Mon, 4 Nov 2019 19:19:12 -0500 Subject: [PATCH 007/169] fixed import merge issue at top --- .../java/io/zipcoder/casino/CardGames/BlackJack.java | 10 +++++----- .../zipcoder/casino/CardGames}/BlackJackTest.java | 2 ++ 2 files changed, 7 insertions(+), 5 deletions(-) rename src/test/java/{ => io/zipcoder/casino/CardGames}/BlackJackTest.java (95%) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index 0cd83ba7f..bbc444326 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -1,11 +1,11 @@ -<<<<<<< HEAD:src/main/java/BlackJack.java -import io.zipcoder.casino.CardGames.CardHand; +package io.zipcoder.casino.CardGames; + import io.zipcoder.casino.Player.Player; import javax.smartcardio.Card; -======= -package io.zipcoder.casino.CardGames; ->>>>>>> dev:src/main/java/io/zipcoder/casino/CardGames/BlackJack.java + + + public class BlackJack { diff --git a/src/test/java/BlackJackTest.java b/src/test/java/io/zipcoder/casino/CardGames/BlackJackTest.java similarity index 95% rename from src/test/java/BlackJackTest.java rename to src/test/java/io/zipcoder/casino/CardGames/BlackJackTest.java index 945602940..534269491 100644 --- a/src/test/java/BlackJackTest.java +++ b/src/test/java/io/zipcoder/casino/CardGames/BlackJackTest.java @@ -1,3 +1,5 @@ +package io.zipcoder.casino.CardGames; + import org.junit.After; import org.junit.Before; import org.junit.Test; From 44046d0607040ee3976924bd4c66f212790fb9cd Mon Sep 17 00:00:00 2001 From: Maira Botelho Date: Mon, 4 Nov 2019 19:23:36 -0500 Subject: [PATCH 008/169] interface classes --- .../io/zipcoder/casino/CardGames/CardHand.java | 16 ++++++++++++++++ .../zipcoder/casino/Interfaces/GamblingGame.java | 6 ++++++ .../casino/Interfaces/GamblingPlayer.java | 6 ++++++ .../java/io/zipcoder/casino/Interfaces/Game.java | 9 +++++++++ 4 files changed, 37 insertions(+) create mode 100644 src/main/java/io/zipcoder/casino/Interfaces/GamblingGame.java create mode 100644 src/main/java/io/zipcoder/casino/Interfaces/GamblingPlayer.java create mode 100644 src/main/java/io/zipcoder/casino/Interfaces/Game.java diff --git a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java index 200ac5ebb..f734ee80e 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java +++ b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java @@ -1,4 +1,20 @@ package io.zipcoder.casino.CardGames; +import java.util.ArrayList; + public class CardHand { + + ArrayList userHand = new ArrayList(); + + public void displayHand(){} + + public void evaluateHand(){} + + public void addCardToHand(Card cardToAdd){} + + public void removeCardFromHand(Card cardToRemove){} + + public void getCardFromDeck(int numberOfCards){} + + } diff --git a/src/main/java/io/zipcoder/casino/Interfaces/GamblingGame.java b/src/main/java/io/zipcoder/casino/Interfaces/GamblingGame.java new file mode 100644 index 000000000..30f2e0619 --- /dev/null +++ b/src/main/java/io/zipcoder/casino/Interfaces/GamblingGame.java @@ -0,0 +1,6 @@ +package io.zipcoder.casino.Interfaces; + +public interface GamblingGame { + + void distributeWinnings(); +} diff --git a/src/main/java/io/zipcoder/casino/Interfaces/GamblingPlayer.java b/src/main/java/io/zipcoder/casino/Interfaces/GamblingPlayer.java new file mode 100644 index 000000000..bb06465f0 --- /dev/null +++ b/src/main/java/io/zipcoder/casino/Interfaces/GamblingPlayer.java @@ -0,0 +1,6 @@ +package io.zipcoder.casino.Interfaces; + +public interface GamblingPlayer { + + void placeWage(); +} diff --git a/src/main/java/io/zipcoder/casino/Interfaces/Game.java b/src/main/java/io/zipcoder/casino/Interfaces/Game.java new file mode 100644 index 000000000..d4cf8b6c2 --- /dev/null +++ b/src/main/java/io/zipcoder/casino/Interfaces/Game.java @@ -0,0 +1,9 @@ +package io.zipcoder.casino.Interfaces; + +public interface Game { + + void startGame(); + void promptLeaveGame(); + void displayResults(); + +} From 5d1fb4316eab8035a3ea7769e7013a55ac118e55 Mon Sep 17 00:00:00 2001 From: mike Date: Mon, 4 Nov 2019 19:26:17 -0500 Subject: [PATCH 009/169] minor changes --- src/main/java/io/zipcoder/casino/CardGames/BlackJack.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index bbc444326..655d7a62c 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -9,9 +9,12 @@ public class BlackJack { + public void startGame() {} - public void promptHitOrStay(){} + public void promptHitOrStay(){ + + } public void dealerHitOrStay(){} From 79ff3bf81f7e74e1c217655eabdac6c2c50d7124 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kwam=C3=A8=20Warrick?= Date: Mon, 4 Nov 2019 19:27:12 -0500 Subject: [PATCH 010/169] Added methods for craps --- .../io/zipcoder/casino/DiceGames/Craps.java | 19 +++++++++++++++++++ .../io/zipcoder/casino/DiceGames/Dice.java | 4 ++++ .../casino/DiceGamesTests/DiceGameTest.java | 4 ++++ 3 files changed, 27 insertions(+) create mode 100644 src/main/java/io/zipcoder/casino/DiceGames/Craps.java create mode 100644 src/main/java/io/zipcoder/casino/DiceGames/Dice.java create mode 100644 src/test/java/io/zipcoder/casino/DiceGamesTests/DiceGameTest.java diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java new file mode 100644 index 000000000..21f35f409 --- /dev/null +++ b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java @@ -0,0 +1,19 @@ +package io.zipcoder.casino.DiceGames; + +public class Craps { + +public void user(){} +public void diceValues (){} +public void currentRolledNumber(){} +public void targetNumber(){} +public void startGame(){} +public int [] roll(int[] , Craps diceValues)(){} +public void distributeWinnings(){} +public void evaluateDiceValue (){} +public void promptLeaveGame(){} +public void displayResults(){} + + + + +} diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Dice.java b/src/main/java/io/zipcoder/casino/DiceGames/Dice.java new file mode 100644 index 000000000..434e176bb --- /dev/null +++ b/src/main/java/io/zipcoder/casino/DiceGames/Dice.java @@ -0,0 +1,4 @@ +package io.zipcoder.casino.DiceGames; + +public class Dice { +} diff --git a/src/test/java/io/zipcoder/casino/DiceGamesTests/DiceGameTest.java b/src/test/java/io/zipcoder/casino/DiceGamesTests/DiceGameTest.java new file mode 100644 index 000000000..1a81a537f --- /dev/null +++ b/src/test/java/io/zipcoder/casino/DiceGamesTests/DiceGameTest.java @@ -0,0 +1,4 @@ +package io.zipcoder.casino.DiceGamesTests; + +public class DiceGameTest { +} From 9910a741577c1446f1bc13b01ec313201d38d5b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kwam=C3=A8=20Warrick?= Date: Mon, 4 Nov 2019 19:31:43 -0500 Subject: [PATCH 011/169] Craps stub --- .../io/zipcoder/casino/DiceGames/Craps.java | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java index 21f35f409..4f77896b7 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java @@ -2,16 +2,19 @@ public class Craps { -public void user(){} -public void diceValues (){} -public void currentRolledNumber(){} -public void targetNumber(){} -public void startGame(){} -public int [] roll(int[] , Craps diceValues)(){} -public void distributeWinnings(){} -public void evaluateDiceValue (){} -public void promptLeaveGame(){} -public void displayResults(){} + public void user(){} + public void diceValues (){} + public void currentRolledNumber(){} + public void targetNumber(){} + public void startGame(){} + public int [] roll (int[] diceValues){ + return null; + } + + public void distributeWinnings(){} + public void evaluateDiceValue (){} + public void promptLeaveGame(){} + public void displayResults(){} From 52f08295efbff0ce0959d3a032f737c9345507e3 Mon Sep 17 00:00:00 2001 From: mike Date: Mon, 4 Nov 2019 19:34:03 -0500 Subject: [PATCH 012/169] minor changes --- src/main/java/io/zipcoder/casino/CardGames/BlackJack.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index 655d7a62c..3fbaf11c5 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -8,6 +8,10 @@ public class BlackJack { + private Player user; + private int answerHitOrStay; + private int wageBucket; + private int blackJackDeck; public void startGame() {} @@ -16,7 +20,7 @@ public void promptHitOrStay(){ } - public void dealerHitOrStay(){} + public void dealerHitOrStay(){} // public void hit(Player deck, Player player) {} From bb5f9ba724d3ced5eac5faafedfa654783e88376 Mon Sep 17 00:00:00 2001 From: Mike Gray Date: Mon, 4 Nov 2019 19:36:20 -0500 Subject: [PATCH 013/169] added yahtzee class --- src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java new file mode 100644 index 000000000..afa95a6c5 --- /dev/null +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -0,0 +1,7 @@ +package io.zipcoder.casino.DiceGames; + +import io.zipcoder.casino.Player.Player; + +public class Yahtzee { + private Player user; +} From 2f87f53a51dfc759c4f2790fc9cf7abe6aaf8a59 Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Mon, 4 Nov 2019 19:36:34 -0500 Subject: [PATCH 014/169] Add gambling player --- src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java diff --git a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java new file mode 100644 index 000000000..41f3f89c0 --- /dev/null +++ b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java @@ -0,0 +1,4 @@ +package io.zipcoder.casino.Player; + +public class GamblingPlayer { +} From 8b4689bd3d21665804e5a1aa913639e172c139d8 Mon Sep 17 00:00:00 2001 From: Mike Gray Date: Mon, 4 Nov 2019 19:48:53 -0500 Subject: [PATCH 015/169] added methods to yahtzee class --- .../io/zipcoder/casino/DiceGames/Yahtzee.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index afa95a6c5..f563f1541 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -1,7 +1,25 @@ package io.zipcoder.casino.DiceGames; +import io.zipcoder.casino.Interfaces.Game; import io.zipcoder.casino.Player.Player; -public class Yahtzee { +public class Yahtzee implements Game { private Player user; + + + public void startGame(){ + int points = 0; + for(int i = 0; i < 13; i++) { + //rollDice + //chooseEvaluation + } + } + + + public void promptLeaveGame(){ + + } + public void displayResults(){ + + } } From d26339426d836c40ad72d58e9cdf86e09cd47765 Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Mon, 4 Nov 2019 20:01:30 -0500 Subject: [PATCH 016/169] Started console --- src/main/java/io/zipcoder/casino/CardGames/GoFish.java | 4 +++- src/main/java/io/zipcoder/casino/Casino.java | 5 +++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java index da0e6218e..bec50fdee 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java +++ b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java @@ -13,7 +13,9 @@ public class GoFish { public void startGame(){} - public boolean askForCard(Player thisPlayer, int cardNumber){} + public boolean askForCard(Player thisPlayer, int cardNumber){ + return false; + } public void tradeCards(ArrayList fromPlayer, ArrayList toPlayer){} diff --git a/src/main/java/io/zipcoder/casino/Casino.java b/src/main/java/io/zipcoder/casino/Casino.java index 16ca0dd74..2eb6201d3 100644 --- a/src/main/java/io/zipcoder/casino/Casino.java +++ b/src/main/java/io/zipcoder/casino/Casino.java @@ -1,8 +1,13 @@ package io.zipcoder.casino; +import io.zipcoder.casino.utilities.Console; + public class Casino { public static void main(String[] args) { // write your tests before you start fucking with this + Console menu = new Console(System.in,System.out); + + menu.getIntegerInput("Please Select Game"); } } From 20a3a5151aed9f617d9a2c456dcdadb82c5be3af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kwam=C3=A8=20Warrick?= Date: Mon, 4 Nov 2019 21:16:36 -0500 Subject: [PATCH 017/169] Added info to Dice Class --- .../io/zipcoder/casino/DiceGames/Dice.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Dice.java b/src/main/java/io/zipcoder/casino/DiceGames/Dice.java index 434e176bb..d12b0af9d 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Dice.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Dice.java @@ -1,4 +1,21 @@ package io.zipcoder.casino.DiceGames; -public class Dice { +import io.zipcoder.casino.Interfaces.GamblingGame; + +import java.util.ArrayList; + +public abstract class Dice implements GamblingGame { + + public static ArrayList dealerDice = new ArrayList(5); + public static ArrayList playerDice = new ArrayList(5); + public static ArrayList heldDice = new ArrayList(5); + public static Integer numOfDice = 0; + + + public Dice(){} + + public int diceValue(){return 0;} + + public static void createDiceAndroll(int[]numberOfDice){ } } + From ee05356295d8423e32afda2399abdf945fca8d28 Mon Sep 17 00:00:00 2001 From: Maira Botelho Date: Tue, 5 Nov 2019 09:00:56 -0500 Subject: [PATCH 018/169] add deck of cards --- .../io/zipcoder/casino/CardGames/Card.java | 26 ++++++++++ .../io/zipcoder/casino/CardGames/Deck.java | 49 +++++++++++++++++-- .../io/zipcoder/casino/CardGames/GoFish.java | 15 ++++-- .../io/zipcoder/casino/CardGames/Rank.java | 19 +++++++ .../io/zipcoder/casino/CardGames/Suit.java | 10 ++++ .../zipcoder/casino/CardGames/DeckTest.java | 16 ++++++ 6 files changed, 127 insertions(+), 8 deletions(-) create mode 100644 src/main/java/io/zipcoder/casino/CardGames/Rank.java create mode 100644 src/main/java/io/zipcoder/casino/CardGames/Suit.java diff --git a/src/main/java/io/zipcoder/casino/CardGames/Card.java b/src/main/java/io/zipcoder/casino/CardGames/Card.java index 9bdb47331..a719ed3d5 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/Card.java +++ b/src/main/java/io/zipcoder/casino/CardGames/Card.java @@ -1,4 +1,30 @@ package io.zipcoder.casino.CardGames; public class Card { + + private Suit suit; + private Rank rank; + + + public Card(){ + + } + + public Card(Suit suit, Rank rank) { + this.suit = suit; + this.rank = rank; + } + + public Suit getSuit() { + return suit; + } + + public Rank getRank() { + return rank; + } + + public String toString() { + + return String.format("%s of %s", rank, suit); + } } diff --git a/src/main/java/io/zipcoder/casino/CardGames/Deck.java b/src/main/java/io/zipcoder/casino/CardGames/Deck.java index d44b5b8e5..15d0fcffc 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/Deck.java +++ b/src/main/java/io/zipcoder/casino/CardGames/Deck.java @@ -1,17 +1,58 @@ package io.zipcoder.casino.CardGames; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Stack; public class Deck { - public Deck() { + private ArrayList deckOfCardsTemp = new ArrayList(); + private Stack deckOfCards = new Stack(); + + public Deck(int numberOfDecks){ + + for(int index = 0; index < numberOfDecks; index++) { + + for (Suit suit : Suit.values()) { + for (Rank rank : Rank.values()) { + deckOfCardsTemp.add(new Card(suit, rank)); + } + } + } + } + + public Stack shuffleDeck(){ + Collections.shuffle(deckOfCardsTemp); + + deckOfCards.addAll(deckOfCardsTemp); + + return deckOfCards; + } + + + public void print(){ + // for(Card card : deckOfCards) + //System.out.println(card.toString()); + + //System.out.println(shuffleDeck().toString()); + //System.out.println(deckOfCards.size()); + } + + public void dealCards(int numberOfCards){ } - public void dealCards(int numberOfCards){} - public void shuffleDeck(){} + /*public Card drawCard(){ + if (deckOfCards.size() > 0){ + Card drawnCard = deckOfCards.get(deckOfCards.size() - 1); + deckOfCards.remove(deckOfCards.size() - 1); + return drawnCard; + } else + System.out.println("Deck is empty"); - public void drawCard(){} + return null; + }*/ } diff --git a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java index da0e6218e..a75c5c55b 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java +++ b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java @@ -3,21 +3,28 @@ import io.zipcoder.casino.Player.Player; import java.util.ArrayList; +import java.util.Stack; public class GoFish { Player user = new Player(); + Deck goFishDeck = new Deck(1); + Integer pointAccumulated; Integer hasCardQuestion; - Deck goFishDeck = new Deck(); - public void startGame(){} - public boolean askForCard(Player thisPlayer, int cardNumber){} + public void startGame(){ + + } + + public boolean askForCard(Player thisPlayer, int cardNumber){return false;} public void tradeCards(ArrayList fromPlayer, ArrayList toPlayer){} - public void dropCards (Player playerToDrop){} + public void dropCards (Player playerToDrop){ + + } public void promptLeaveGame(){} diff --git a/src/main/java/io/zipcoder/casino/CardGames/Rank.java b/src/main/java/io/zipcoder/casino/CardGames/Rank.java new file mode 100644 index 000000000..552fcba4b --- /dev/null +++ b/src/main/java/io/zipcoder/casino/CardGames/Rank.java @@ -0,0 +1,19 @@ +package io.zipcoder.casino.CardGames; + +public enum Rank { + + ACE, + TWO, + THREE, + FOUR, + FIVE, + SIX, + SEVEN, + EIGHT, + NINE, + TEN, + JACK, + QUEEN, + KING; + +} diff --git a/src/main/java/io/zipcoder/casino/CardGames/Suit.java b/src/main/java/io/zipcoder/casino/CardGames/Suit.java new file mode 100644 index 000000000..11ce9e3b8 --- /dev/null +++ b/src/main/java/io/zipcoder/casino/CardGames/Suit.java @@ -0,0 +1,10 @@ +package io.zipcoder.casino.CardGames; + +public enum Suit { + + CLUBS, + SPADES, + HEARTS, + DIAMONDS; + +} diff --git a/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java b/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java index 510ad4400..217aca08b 100644 --- a/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java +++ b/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java @@ -1,7 +1,23 @@ package io.zipcoder.casino.CardGames; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + import static org.junit.Assert.*; + public class DeckTest { + @Before + public void setUp(){} + + @After + public void tearDown(){} + + @Test + public void printDeck(){ + Deck newDeck = new Deck(2); + newDeck.print(); + } } \ No newline at end of file From ee00e0fd61e1db85047b69d0cd4a0bd5c196e830 Mon Sep 17 00:00:00 2001 From: Mike Gray Date: Tue, 5 Nov 2019 09:22:48 -0500 Subject: [PATCH 019/169] Update --- src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index f563f1541..3227c6b0e 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -5,6 +5,7 @@ public class Yahtzee implements Game { private Player user; + private int[] scoreChoices; public void startGame(){ @@ -14,8 +15,6 @@ public void startGame(){ //chooseEvaluation } } - - public void promptLeaveGame(){ } From d40e5f1c01f029a50505d2d8b590147e6a2642a7 Mon Sep 17 00:00:00 2001 From: mike Date: Tue, 5 Nov 2019 09:33:33 -0500 Subject: [PATCH 020/169] minor changes so i can pull from dev --- .../java/io/zipcoder/casino/CardGames/CardHand.java | 11 ++++++++--- src/main/java/io/zipcoder/casino/Player/Player.java | 2 ++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java index f734ee80e..1e657789f 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java +++ b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java @@ -10,11 +10,16 @@ public void displayHand(){} public void evaluateHand(){} - public void addCardToHand(Card cardToAdd){} + public void addCardToHand(Card cardToAdd){ + } - public void removeCardFromHand(Card cardToRemove){} + public void removeCardFromHand(Card cardToRemove){ - public void getCardFromDeck(int numberOfCards){} + } + + public void getCardFromDeck(int numberOfCards){ + + } } diff --git a/src/main/java/io/zipcoder/casino/Player/Player.java b/src/main/java/io/zipcoder/casino/Player/Player.java index 4099a08a3..4cef921bb 100644 --- a/src/main/java/io/zipcoder/casino/Player/Player.java +++ b/src/main/java/io/zipcoder/casino/Player/Player.java @@ -1,4 +1,6 @@ package io.zipcoder.casino.Player; public class Player { + + } From 6f867fce9bee3597ff6bfe9a42a19c242fa12ebe Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Tue, 5 Nov 2019 09:42:15 -0500 Subject: [PATCH 021/169] PlayerWarehouse added --- src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java diff --git a/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java b/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java new file mode 100644 index 000000000..b3d7078f5 --- /dev/null +++ b/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java @@ -0,0 +1,4 @@ +package io.zipcoder.casino.Player; + +public class PlayerWarehouse { +} From 3454898ec5d9b2cad8c625cdbb997a57760e3f6e Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Tue, 5 Nov 2019 10:22:35 -0500 Subject: [PATCH 022/169] App class and main menu --- src/main/java/io/zipcoder/casino/App.java | 95 ++++++++++++++++++++ src/main/java/io/zipcoder/casino/Casino.java | 7 +- 2 files changed, 100 insertions(+), 2 deletions(-) create mode 100644 src/main/java/io/zipcoder/casino/App.java diff --git a/src/main/java/io/zipcoder/casino/App.java b/src/main/java/io/zipcoder/casino/App.java new file mode 100644 index 000000000..f467ccc39 --- /dev/null +++ b/src/main/java/io/zipcoder/casino/App.java @@ -0,0 +1,95 @@ +package io.zipcoder.casino; + +import io.zipcoder.casino.CardGames.GoFish; +import io.zipcoder.casino.utilities.Console; + +public class App { + + private Console menu; + private String userId = ""; + private String userPassword = ""; + + public void App (){ + + menu = new Console(System.in,System.out); + menu.print("Welcome to Casino 5! \n\n"); + + mainMenu(); // log in ... + + } + + + private void mainMenu(){ + int userInput; + userInput = menu.getIntegerInput("What would you like to do?\n" + + "1.) Log In\n" + + "2.) Create Account\n" + + "3.) Exit"); + mainMenuActions(userInput); + } + + private void mainMenuActions(Integer userSelection){ + + switch (userSelection) { + case 1: + userId = menu.getStringInput("Enter your ID:"); + userPassword = menu.getStringInput("Enter your password:"); + + authenticatePlayer(); + selectGame(); + break; + case 2: + createPlayer(); + break; + + case 3: + menu.print("Have a great day!"); + System.exit(0); + break; + + default: + System.out.println("Error! Please enter another option!"); + mainMenu(); + } + + } // menuActions + + private void authenticatePlayer(){ + + } + + private void createPlayer(){ + + } + + private void selectGame() { + int userInput; + userInput = menu.getIntegerInput("Please select game to play\n" + + "1.) Go Fish\n" + + "2.) Yahtzee\n" + + "3.) BlackJack\n" + + "4.) Craps"); + } + + private void selectGameActions(Integer gameSelected){ + switch (gameSelected){ + + case 1: + GoFish newGoFish = new GoFish(); + newGoFish.startGame(); + break; + case 2: + + break; + case 3: + break; + case 4: + break; + default: + menu.print("Error! Invalid Selection!"); + selectGame(); + break; + } + } + +} // class diff --git a/src/main/java/io/zipcoder/casino/Casino.java b/src/main/java/io/zipcoder/casino/Casino.java index 2eb6201d3..6e469139a 100644 --- a/src/main/java/io/zipcoder/casino/Casino.java +++ b/src/main/java/io/zipcoder/casino/Casino.java @@ -4,10 +4,13 @@ import io.zipcoder.casino.utilities.Console; public class Casino { + public static void main(String[] args) { // write your tests before you start fucking with this - Console menu = new Console(System.in,System.out); - menu.getIntegerInput("Please Select Game"); + App newCasino = new App(); + newCasino.App(); + } + } From e720ba0fea40163b564705983fcfdc02102bb131 Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Tue, 5 Nov 2019 10:33:43 -0500 Subject: [PATCH 023/169] saving to pull stuff --- src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java index 41f3f89c0..50d038269 100644 --- a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java +++ b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java @@ -1,4 +1,6 @@ package io.zipcoder.casino.Player; -public class GamblingPlayer { +public class GamblingPlayer implements io.zipcoder.casino.Interfaces.GamblingPlayer { + + } From ca9193ee79f90f7f91e6c6cf3c879e36dad68fe1 Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Tue, 5 Nov 2019 10:36:01 -0500 Subject: [PATCH 024/169] Updated Yahtzee class --- .../io/zipcoder/casino/DiceGames/Dice.java | 2 +- .../io/zipcoder/casino/DiceGames/Yahtzee.java | 266 +++++++++++++++++- 2 files changed, 265 insertions(+), 3 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Dice.java b/src/main/java/io/zipcoder/casino/DiceGames/Dice.java index 434e176bb..74e18de0d 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Dice.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Dice.java @@ -1,4 +1,4 @@ package io.zipcoder.casino.DiceGames; public class Dice { -} +} \ No newline at end of file diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index 3227c6b0e..11b8bba51 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -2,23 +2,285 @@ import io.zipcoder.casino.Interfaces.Game; import io.zipcoder.casino.Player.Player; +import io.zipcoder.casino.utilities.Console; + +import java.util.Arrays; public class Yahtzee implements Game { private Player user; - private int[] scoreChoices; + private static Console console = new Console(System.in, System.out); + private boolean[] availableOptions = new boolean[14]; + private String[] availableOptionsNames = {"","1s", "2s", "3s", "4s", "5s","6s","3 of a kind","4 of a kind", + "Small Straight", "Large Straight", "Full House", "Yahtzee", "Chance"}; + private Dice[] myDice; + int points; + public Yahtzee(Player player){ + this.user = player; + Arrays.fill(this.availableOptions, true); + this.availableOptions[0] = false; + this.myDice = createDice(); + this.points = 0; + } public void startGame(){ - int points = 0; + for(int i = 0; i < 13; i++) { //rollDice //chooseEvaluation } + displayResults(); } + public void promptLeaveGame(){ } public void displayResults(){ + console.println("Your final score is: " + this.points); + } + + public Dice[] createDice(){ + Dice[] dice = new Dice[5]; + for(int i = 0; i < dice.length; i++){ + dice[i] = new Dice(); + } + return dice; + } + + +/* +// Following methods for rolling dice and choosing which ones to keep--------------------------------------------------- + + public void resetDice(){ + for(int i = 0; i < myDice.length; i++){ + myDice[i].setKept(false); + } + } + + public void threeDiceRolls(){ + resetDice(); + roll5Dice(); + chooseToKeep(); + roll5Dice(); + chooseToKeep(); + roll5Dice(); + } + + public void roll5Dice(){ + for(Dice s : this.myDice){ + if(!s.isKept()){ + s.rollDice(); + } + } + } + + public void chooseToKeep(){ + String keepthis = ""; + while(!keepthis.toLowerCase().equals("roll")) { + for (int i = 0; i < this.myDice.length; i++) { + console.print((i + 1) + ". " + this.myDice[i].getValue() + " : " + this.myDice[i].isKept() + "\n"); + } + keepthis = console.getStringInput(" Enter the number of the dice to keep, then press enter\nType 'continue' when finished"); + switch (keepthis){ + case "1": this.myDice[0].keptOrRolled(); break; + case "2": this.myDice[1].keptOrRolled(); break; + case "3": this.myDice[2].keptOrRolled(); break; + case "4": this.myDice[3].keptOrRolled(); break; + case "5": this.myDice[4].keptOrRolled(); break; + case "continue": keepthis = "roll"; break; + default: break; + } + } + } + + +// Following methods are for evaluating the dice at the end of three rolls---------------------------------------------- + + public int checkForEvaluation(Dice[] dice){ + int choice = 0; + boolean evaluated = false; + Integer[] diceValues = getDiceValues(); + + for(int i = 1; i < availableOptionsNames.length; i++){ + console.println((i) + ". " + availableOptionsNames[i]); + } + + while(!evaluated){ + try{ + for(Dice s: dice){ + console.println(s.toString()); + } + choice = console.getIntegerInput("Which one do you want to choose? "); + if(choice == 0){} + else if(choice < 1 || choice > 13){ + console.println("Please pick an option within the bounds."); + } + else if(this.availableOptions[choice] == false){ + console.println("Box already picked. Please choose again."); + } + else{ + availableOptions[choice] = false; + availableOptionsNames[choice] = " "; + evaluated = true; + } + } + catch(Exception NumberFormatException){ + console.println("Please enter a number."); + choice = 0; + } + } + + switch (choice){ + case 1: return checkForFaces(diceValues, 1); + case 2: return checkForFaces(diceValues, 2); + case 3: return checkForFaces(diceValues, 3); + case 4: return checkForFaces(diceValues, 4); + case 5: return checkForFaces(diceValues, 5); + case 6: return checkForFaces(diceValues, 6); + case 7: return checkFor3Kind(diceValues); + case 8: return checkFor4Kind(diceValues); + case 9: return checkForSmallStraight(diceValues); + case 10: return checkForLargeStraight(diceValues); + case 11: return checkForFullHouse(diceValues); + case 12: return checkForYahtzee(diceValues); + case 13: return chance(diceValues); + } + return 0; + } + + public int checkForFaces(Integer[] diceValues, int valueToLookFor){ + int results = 0; + for(int i = 0; i < diceValues.length; i++){ + if(diceValues[i] == valueToLookFor){ + results += valueToLookFor; + } + } + return results; + } + + public int chance(Integer[] diceValues){ + int points = 0; + for(int i = 0; i < diceValues.length; i++){ + points += diceValues[i]; + } + return points; + } + + public int checkFor3Kind(Integer[] diceValues){ + int counter; + for(int i = 0; i < diceValues.length - 2; i++){ + counter = 1; + for(int j = i + 1; j < diceValues.length; j++){ + if(diceValues[i] == diceValues[j]){ + counter++; + } + } + if(counter >= 3){ return this.chance(diceValues); } + } + return 0; + } + + public int checkFor4Kind(Integer[] diceValues){ + int counter; + for(int i = 0; i < diceValues.length - 3; i++){ + counter = 1; + for(int j = i + 1; j < diceValues.length; j++){ + if(diceValues[i] == diceValues[j]){ + counter++; + } + } + if(counter >= 4){ + return this.chance(diceValues); + } + } + return 0; + } + + public int checkForFullHouse(Integer[] diceValues){ + if(this.checkFor3Kind(diceValues) != 0){ + int counter; + for(int i = 0; i < diceValues.length - 2; i++){ + counter = 1; + for(int j = 0; j < diceValues.length; j++){ + if(diceValues[i] == diceValues[j] && i !=j){ + counter++; + } + } + if(counter == 2){ + return 25; + } + } + } + return 0; + } + + public int checkForSmallStraight(Integer[]diceValues){ + boolean found1 = false; + boolean found2 = false; + boolean found3 = false; + boolean found4 = false; + boolean found5 = false; + boolean found6 = false; + + for (int i = 0; i < diceValues.length; i++){ + if(diceValues[i] == 1){ found1 = true; } + else if(diceValues[i] == 2){ found2 = true; } + else if(diceValues[i] == 3){ found3 = true; } + else if(diceValues[i] == 4){ found4 = true; } + else if(diceValues[i] == 5){ found5 = true; } + else if(diceValues[i] == 6){ found6 = true; } + } + if((found1 && found2 && found3 && found4)|| + (found2 && found3 && found4 && found5)|| + (found3 && found4 && found5 && found6)){ + + return 30; + } + + + return 0; + } + + public int checkForLargeStraight(Integer[]diceValues){ + boolean found1 = false; + boolean found2 = false; + boolean found3 = false; + boolean found4 = false; + boolean found5 = false; + boolean found6 = false; + + for (int i = 0; i < diceValues.length; i++){ + if(diceValues[i] == 1){ found1 = true; } + else if(diceValues[i] == 2){ found2 = true; } + else if(diceValues[i] == 3){ found3 = true; } + else if(diceValues[i] == 4){ found4 = true; } + else if(diceValues[i] == 5){ found5 = true; } + else if(diceValues[i] == 6){ found6 = true; } + } + if((found1 && found2 && found3 && found4 && found5)|| + (found2 && found3 && found4 && found5 && found6)){ + + return 40; + } + return 0; + } + + public int checkForYahtzee(Integer[] diceValues){ + for(int i = 0; i < diceValues.length; i++){ + if(diceValues[0] != diceValues[i]){ + return 0; + } + } + return 50; + } + + public Integer[] getDiceValues(){ + Integer[] values = new Integer[5]; + for(int i = 0; i < this.myDice.length; i++){ + values[i] = this.myDice[i].getValue(); + } + return values; } + */ } From a2a681a9fc21aeb09607a8cf22fcdbb046d8d8c9 Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Tue, 5 Nov 2019 10:50:48 -0500 Subject: [PATCH 025/169] Add more logic to the menu --- src/main/java/io/zipcoder/casino/App.java | 42 ++++++++++++++++------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/App.java b/src/main/java/io/zipcoder/casino/App.java index f467ccc39..dccf2f5d6 100644 --- a/src/main/java/io/zipcoder/casino/App.java +++ b/src/main/java/io/zipcoder/casino/App.java @@ -1,6 +1,9 @@ package io.zipcoder.casino; +import io.zipcoder.casino.CardGames.BlackJack; import io.zipcoder.casino.CardGames.GoFish; +import io.zipcoder.casino.DiceGames.Craps; +import io.zipcoder.casino.DiceGames.Yahtzee; import io.zipcoder.casino.utilities.Console; public class App { @@ -35,8 +38,12 @@ private void mainMenuActions(Integer userSelection){ userId = menu.getStringInput("Enter your ID:"); userPassword = menu.getStringInput("Enter your password:"); - authenticatePlayer(); - selectGame(); + if (authenticatePlayer()) { + selectGame(); + } else { + menu.print("We could not find this user. Please create an account!\n\n"); + mainMenu(); + } break; case 2: createPlayer(); @@ -48,19 +55,14 @@ private void mainMenuActions(Integer userSelection){ break; default: - System.out.println("Error! Please enter another option!"); + menu.print("Error! Please enter another option!"); mainMenu(); - } - - } // menuActions - private void authenticatePlayer(){ + } // main menu actions - } + } // menuActions - private void createPlayer(){ - } private void selectGame() { int userInput; @@ -69,7 +71,8 @@ private void selectGame() { "2.) Yahtzee\n" + "3.) BlackJack\n" + "4.) Craps"); - } + selectGameActions(userInput); + } // select game private void selectGameActions(Integer gameSelected){ switch (gameSelected){ @@ -79,17 +82,30 @@ private void selectGameActions(Integer gameSelected){ newGoFish.startGame(); break; case 2: - + Yahtzee newYahtzee = new Yahtzee(); + newYahtzee.startGame(); break; case 3: + BlackJack newBlackJack = new BlackJack(); + newBlackJack.startGame(); break; case 4: + Craps newCraps = new Craps(); + newCraps.startGame(); break; default: - menu.print("Error! Invalid Selection!"); + menu.print("Error! Invalid Selection!\n\n"); selectGame(); break; } + } // game actions + + private Boolean authenticatePlayer(){ + return false; + } + + private void createPlayer(){ + } } // class From 209282b1e761f186a75936801e4efd00ef45542b Mon Sep 17 00:00:00 2001 From: mike Date: Tue, 5 Nov 2019 11:00:25 -0500 Subject: [PATCH 026/169] created draw card method with Maira --- .../zipcoder/casino/CardGames/CardHand.java | 1 + .../io/zipcoder/casino/CardGames/Deck.java | 31 ++++++++++--------- .../io/zipcoder/casino/CardGames/GoFish.java | 6 ++++ .../zipcoder/casino/CardGames/DeckTest.java | 2 +- .../zipcoder/casino/CardGames/GoFishTest.java | 17 ++++++++++ 5 files changed, 41 insertions(+), 16 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java index 1e657789f..b3cc36866 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java +++ b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java @@ -19,6 +19,7 @@ public void removeCardFromHand(Card cardToRemove){ public void getCardFromDeck(int numberOfCards){ + } diff --git a/src/main/java/io/zipcoder/casino/CardGames/Deck.java b/src/main/java/io/zipcoder/casino/CardGames/Deck.java index 15d0fcffc..6cf6c29d8 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/Deck.java +++ b/src/main/java/io/zipcoder/casino/CardGames/Deck.java @@ -1,12 +1,10 @@ package io.zipcoder.casino.CardGames; -import java.util.ArrayList; import java.util.Collections; import java.util.Stack; public class Deck { - private ArrayList deckOfCardsTemp = new ArrayList(); private Stack deckOfCards = new Stack(); public Deck(int numberOfDecks){ @@ -15,44 +13,47 @@ public Deck(int numberOfDecks){ for (Suit suit : Suit.values()) { for (Rank rank : Rank.values()) { - deckOfCardsTemp.add(new Card(suit, rank)); + deckOfCards.add(new Card(suit, rank)); } } } } public Stack shuffleDeck(){ - Collections.shuffle(deckOfCardsTemp); - - deckOfCards.addAll(deckOfCardsTemp); + Collections.shuffle(deckOfCards); return deckOfCards; } public void print(){ - // for(Card card : deckOfCards) - //System.out.println(card.toString()); - //System.out.println(shuffleDeck().toString()); - //System.out.println(deckOfCards.size()); + System.out.println(shuffleDeck().toString()); + System.out.println(deckOfCards.size()); + System.out.println(drawCard()); + System.out.println(drawCard()); } public void dealCards(int numberOfCards){ + for(int index = 0; index < numberOfCards; index++){ + + } + + } - /*public Card drawCard(){ - if (deckOfCards.size() > 0){ - Card drawnCard = deckOfCards.get(deckOfCards.size() - 1); - deckOfCards.remove(deckOfCards.size() - 1); + public Card drawCard(){ + if (!deckOfCards.isEmpty()){ + Card drawnCard = deckOfCards.pop(); return drawnCard; + } else System.out.println("Deck is empty"); return null; - }*/ + } } diff --git a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java index a75c5c55b..760665bc9 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java +++ b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java @@ -16,6 +16,12 @@ public class GoFish { public void startGame(){ + goFishDeck.shuffleDeck(); + + System.out.println(goFishDeck.drawCard().toString()); + System.out.println(goFishDeck.drawCard().toString()); + System.out.println(goFishDeck.drawCard().toString()); + } public boolean askForCard(Player thisPlayer, int cardNumber){return false;} diff --git a/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java b/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java index 217aca08b..03bd945fe 100644 --- a/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java +++ b/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java @@ -17,7 +17,7 @@ public void tearDown(){} @Test public void printDeck(){ - Deck newDeck = new Deck(2); + Deck newDeck = new Deck(1); newDeck.print(); } } \ No newline at end of file diff --git a/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java b/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java index c4cc32e34..ad4fcf445 100644 --- a/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java +++ b/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java @@ -1,7 +1,24 @@ package io.zipcoder.casino.CardGames; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + import static org.junit.Assert.*; public class GoFishTest { + @Before + public void setUp(){} + + @After + public void tearDown(){} + + @Test + public void game() { + GoFish newgame = new GoFish(); + + newgame.startGame(); + } + } \ No newline at end of file From b889c520730df1169307afd2de5c57410777b1b5 Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Tue, 5 Nov 2019 11:01:40 -0500 Subject: [PATCH 027/169] Added Evaluation Tests for Yahtzee --- .../zipcoder/casino/CardGames/BlackJack.java | 2 +- .../io/zipcoder/casino/DiceGames/Yahtzee.java | 6 +- .../YahtzeeTests/EvaluationTest.java | 131 ++++++++++++++++++ 3 files changed, 136 insertions(+), 3 deletions(-) create mode 100644 src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index bbc444326..2789638df 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -2,7 +2,7 @@ import io.zipcoder.casino.Player.Player; -import javax.smartcardio.Card; +//import javax.smartcardio.Card; diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index 11b8bba51..8fb55ba1e 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -147,6 +147,7 @@ else if(this.availableOptions[choice] == false){ } return 0; } +*/ public int checkForFaces(Integer[] diceValues, int valueToLookFor){ int results = 0; @@ -273,7 +274,7 @@ public int checkForYahtzee(Integer[] diceValues){ } return 50; } - +/* public Integer[] getDiceValues(){ Integer[] values = new Integer[5]; for(int i = 0; i < this.myDice.length; i++){ @@ -282,5 +283,6 @@ public Integer[] getDiceValues(){ return values; } - */ +*/ + } diff --git a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java new file mode 100644 index 000000000..d83055775 --- /dev/null +++ b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java @@ -0,0 +1,131 @@ +package io.zipcoder.casino.DiceGamesTests.YahtzeeTests; + +import io.zipcoder.casino.DiceGames.Yahtzee; +import io.zipcoder.casino.Player.Player; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +public class EvaluationTest { + Yahtzee detect; + + @Before + public void doThisFirst(){ + detect = new Yahtzee(new Player()); + } + + @Test + public void getFacePointsTest(){ + Integer[] thisIsMyDice = {1,1,1,1,5}; + int actual = detect.checkForFaces(thisIsMyDice, 1); + int expected = 4; + Assert.assertEquals(expected,actual); + Integer[] thisIsMyDice2 = {1,5,5,5,5}; + int expected2 = 20; + int actual2 = detect.checkForFaces(thisIsMyDice2, 5); + Assert.assertEquals(expected2,actual2); + + } + + @Test + public void getChanceValueTest(){ + Integer[] thisIsMyDice = {1,1,1,1,5}; + int actual = detect.chance(thisIsMyDice); + int expected = 9; + Assert.assertEquals(expected,actual); + Integer[] thisIsMyDice2 = {1,5,5,5,5}; + int expected2 = 21; + int actual2 = detect.chance(thisIsMyDice2); + Assert.assertEquals(expected2,actual2); + + } + + @Test + public void get3Kind(){ + Integer[] thisIsMyDice = {1,1,1,6,5}; + int expected = 14; + int actual = detect.checkFor3Kind(thisIsMyDice); + Assert.assertEquals(expected,actual); + } + + @Test + public void get3Kind2(){ + Integer[] thisIsMyDice = {1,5,2,2,2}; + int expected = 12; + int actual = detect.checkFor3Kind(thisIsMyDice); + Assert.assertEquals(expected,actual); + } + + @Test + public void get4Kind(){ + Integer[] thisIsMyDice = {4,4,4,4,1}; + int expected = 17; + int actual = detect.checkFor4Kind(thisIsMyDice); + Assert.assertEquals(expected,actual); + } + + @Test + public void getFullHouse(){ + Integer[] thisIsMyDice = {4,1,4,4,1}; + int expected = 25; + int actual = detect.checkForFullHouse(thisIsMyDice); + Assert.assertEquals(expected,actual); + } + + @Test + public void getFullHouse2(){ + Integer[] thisIsMyDice = {4,2,1,4,2}; + int expected = 0; + int actual = detect.checkForFullHouse(thisIsMyDice); + Assert.assertEquals(expected,actual); + } + + @Test + public void getSmallStraight(){ + Integer[] thisIsMyDice = {3,2,2,4,2}; + int expected = 0; + int actual = detect.checkForSmallStraight(thisIsMyDice); + Assert.assertEquals(expected,actual); + } + + @Test + public void getSmallStraight2(){ + Integer[] thisIsMyDice = {3,2,5,4,6}; + int expected = 30; + int actual = detect.checkForSmallStraight(thisIsMyDice); + Assert.assertEquals(expected,actual); + } + + @Test + public void getLargeStraight(){ + Integer[] thisIsMyDice = {3,2,5,4,2}; + int expected = 0; + int actual = detect.checkForLargeStraight(thisIsMyDice); + Assert.assertEquals(expected,actual); + } + + @Test + public void getLargeStraight2(){ + Integer[] thisIsMyDice = {3,2,5,4,6}; + int expected = 40; + int actual = detect.checkForLargeStraight(thisIsMyDice); + Assert.assertEquals(expected,actual); + } + + + @Test + public void getYahtzee(){ + Integer[] thisIsMyDice = {3,3,3,3,3}; + int expected = 50; + int actual = detect.checkForYahtzee(thisIsMyDice); + Assert.assertEquals(expected,actual); + } + + @Test + public void getYahtzee2(){ + Integer[] thisIsMyDice = {2,3,3,3,3}; + int expected = 0; + int actual = detect.checkForYahtzee(thisIsMyDice); + Assert.assertEquals(expected,actual); + } +} From a7550a360a85a1d7744c7aa65cd854cd77c1576a Mon Sep 17 00:00:00 2001 From: Maira Botelho Date: Tue, 5 Nov 2019 11:05:09 -0500 Subject: [PATCH 028/169] changes i dont want to push --- .../java/io/zipcoder/casino/CardGames/Deck.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/Deck.java b/src/main/java/io/zipcoder/casino/CardGames/Deck.java index 15d0fcffc..1889f056a 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/Deck.java +++ b/src/main/java/io/zipcoder/casino/CardGames/Deck.java @@ -34,8 +34,9 @@ public void print(){ // for(Card card : deckOfCards) //System.out.println(card.toString()); - //System.out.println(shuffleDeck().toString()); - //System.out.println(deckOfCards.size()); + System.out.println(shuffleDeck().toString()); + System.out.println(deckOfCards.size()); + System.out.println(drawCard()); } public void dealCards(int numberOfCards){ @@ -43,16 +44,15 @@ public void dealCards(int numberOfCards){ } - /*public Card drawCard(){ - if (deckOfCards.size() > 0){ - Card drawnCard = deckOfCards.get(deckOfCards.size() - 1); - deckOfCards.remove(deckOfCards.size() - 1); + public Card drawCard(){ + if (!deckOfCards.isEmpty()){ + Card drawnCard = deckOfCards.pop(); return drawnCard; } else System.out.println("Deck is empty"); return null; - }*/ + } } From 8392521d68eb00e10bf95f3ac1ed3102524c46a0 Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Tue, 5 Nov 2019 11:22:20 -0500 Subject: [PATCH 029/169] PlayerWarehouse as ArrayList --- .../java/io/zipcoder/casino/Player/Player.java | 17 +++++++++++++++++ .../zipcoder/casino/Player/PlayerWarehouse.java | 11 +++++++++++ 2 files changed, 28 insertions(+) diff --git a/src/main/java/io/zipcoder/casino/Player/Player.java b/src/main/java/io/zipcoder/casino/Player/Player.java index 4099a08a3..7258b6dbb 100644 --- a/src/main/java/io/zipcoder/casino/Player/Player.java +++ b/src/main/java/io/zipcoder/casino/Player/Player.java @@ -1,4 +1,21 @@ package io.zipcoder.casino.Player; +import io.zipcoder.casino.CardGames.CardHand; + public class Player { + + int ID; + int pwd; + double balance; + CardHand cardHand; + + + + public Player(int ID, int password){ + this.ID = ID; + this.pwd = password; + this.balance = 0.0; + this.cardHand = new CardHand; + } + } diff --git a/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java b/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java index b3d7078f5..b46c3fc35 100644 --- a/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java +++ b/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java @@ -1,4 +1,15 @@ package io.zipcoder.casino.Player; +import java.util.ArrayList; + public class PlayerWarehouse { + + private ArrayList warehouse = new ArrayList<>(); + + public void addPlayer(int ID, int pwd){ + + Player newUser = new Player(ID, pwd); + warehouse.add(newUser); + + } } From 25813054852f0db6b0ab539d566b4966f9ba7403 Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Tue, 5 Nov 2019 11:27:34 -0500 Subject: [PATCH 030/169] removed weird stuff --- src/main/java/io/zipcoder/casino/Player/Player.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/Player/Player.java b/src/main/java/io/zipcoder/casino/Player/Player.java index 9ce7dad60..4fd4d2e83 100644 --- a/src/main/java/io/zipcoder/casino/Player/Player.java +++ b/src/main/java/io/zipcoder/casino/Player/Player.java @@ -4,7 +4,7 @@ public class Player { -<<<<<<< HEAD + int ID; int pwd; double balance; @@ -18,7 +18,6 @@ public Player(int ID, int password){ this.balance = 0.0; this.cardHand = new CardHand; } -======= ->>>>>>> dev + } From 1c7b9164de2293432297c43c2e88bfa007d23813 Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Tue, 5 Nov 2019 11:39:52 -0500 Subject: [PATCH 031/169] Added fields and methods to dice class --- .../io/zipcoder/casino/DiceGames/Dice.java | 29 +++++++++++++++++++ .../io/zipcoder/casino/DiceGames/Yahtzee.java | 19 +++++++----- 2 files changed, 41 insertions(+), 7 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Dice.java b/src/main/java/io/zipcoder/casino/DiceGames/Dice.java index 74e18de0d..b1d9aada6 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Dice.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Dice.java @@ -1,4 +1,33 @@ package io.zipcoder.casino.DiceGames; public class Dice { + private boolean kept; + private int value; + + public Dice(){ + kept = false; + value = 0; + } + public void rollDice(){ + this.value = (int)(Math.random() * ((6 - 1) + 1)) + 1; + } + + public void keptOrRolled(){ + kept = !kept; + } + + public boolean isKept() { + return kept; + } + + public void setKept(boolean kept) { + this.kept = kept; + } + + public int getValue() { + return value; + } + public String toString(){ + return String.format("Value: %d : Keeping: %b", value, kept); + } } \ No newline at end of file diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index 8fb55ba1e..78521ca81 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -9,18 +9,21 @@ public class Yahtzee implements Game { private Player user; private static Console console = new Console(System.in, System.out); - private boolean[] availableOptions = new boolean[14]; - private String[] availableOptionsNames = {"","1s", "2s", "3s", "4s", "5s","6s","3 of a kind","4 of a kind", - "Small Straight", "Large Straight", "Full House", "Yahtzee", "Chance"}; + + private boolean continuePlay; + private Dice[] myDice; int points; + private String[] availableOptionsNames = {"","1s", "2s", "3s", "4s", "5s","6s","3 of a kind","4 of a kind", + "Small Straight", "Large Straight", "Full House", "Yahtzee", "Chance"}; + + public Yahtzee(Player player){ this.user = player; - Arrays.fill(this.availableOptions, true); - this.availableOptions[0] = false; this.myDice = createDice(); this.points = 0; + continuePlay = false; } public void startGame(){ @@ -30,13 +33,16 @@ public void startGame(){ //chooseEvaluation } displayResults(); + promptLeaveGame(); } public void promptLeaveGame(){ + console.getStringInput("Would you like to play again?\n1. Play again\n2. Exit"); } public void displayResults(){ console.println("Your final score is: " + this.points); + console.getStringInput("Press enter to continue "); } public Dice[] createDice(){ @@ -115,11 +121,10 @@ public int checkForEvaluation(Dice[] dice){ else if(choice < 1 || choice > 13){ console.println("Please pick an option within the bounds."); } - else if(this.availableOptions[choice] == false){ + else if(this.availableOptionsName[choice].equals(" ")){ console.println("Box already picked. Please choose again."); } else{ - availableOptions[choice] = false; availableOptionsNames[choice] = " "; evaluated = true; } From f9eb4550bc09d5ef6fd43919b6e786618f0502fa Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Tue, 5 Nov 2019 11:49:03 -0500 Subject: [PATCH 032/169] PlayerWarehouse as HashMap --- src/main/java/io/zipcoder/casino/Player/Player.java | 1 - src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java | 5 +++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/Player/Player.java b/src/main/java/io/zipcoder/casino/Player/Player.java index 4fd4d2e83..7a9a95ecb 100644 --- a/src/main/java/io/zipcoder/casino/Player/Player.java +++ b/src/main/java/io/zipcoder/casino/Player/Player.java @@ -4,7 +4,6 @@ public class Player { - int ID; int pwd; double balance; diff --git a/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java b/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java index b46c3fc35..b53c66f06 100644 --- a/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java +++ b/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java @@ -1,15 +1,16 @@ package io.zipcoder.casino.Player; import java.util.ArrayList; +import java.util.HashMap; public class PlayerWarehouse { - private ArrayList warehouse = new ArrayList<>(); + HashMap warehouse = new HashMap(); public void addPlayer(int ID, int pwd){ Player newUser = new Player(ID, pwd); - warehouse.add(newUser); + warehouse.put(newUser.ID, newUser); } } From 0ac26b6692a63c5f438a741474a9106f5c8180c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kwam=C3=A8=20Warrick?= Date: Tue, 5 Nov 2019 11:49:39 -0500 Subject: [PATCH 033/169] Add logic --- .../java/io/zipcoder/casino/DiceGames/Dice.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Dice.java b/src/main/java/io/zipcoder/casino/DiceGames/Dice.java index d12b0af9d..ed331ac94 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Dice.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Dice.java @@ -4,18 +4,25 @@ import java.util.ArrayList; -public abstract class Dice implements GamblingGame { +public class Dice implements GamblingGame { + - public static ArrayList dealerDice = new ArrayList(5); public static ArrayList playerDice = new ArrayList(5); - public static ArrayList heldDice = new ArrayList(5); + public static Integer numOfDice = 0; + public Dice(int numOfDice){} + - public Dice(){} public int diceValue(){return 0;} - public static void createDiceAndroll(int[]numberOfDice){ } + public static void roll(int[]numberOfDice){ + + } + + public void distributeWinnings(){ + + } } From 101a50ed11a93a711c925e1a5cfb4f5d8d7607cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kwam=C3=A8=20Warrick?= Date: Tue, 5 Nov 2019 11:54:11 -0500 Subject: [PATCH 034/169] fixed merge conflict --- .../io/zipcoder/casino/DiceGames/Dice.java | 44 ++++++++----------- 1 file changed, 19 insertions(+), 25 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Dice.java b/src/main/java/io/zipcoder/casino/DiceGames/Dice.java index a391db91a..186a81a64 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Dice.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Dice.java @@ -1,33 +1,9 @@ package io.zipcoder.casino.DiceGames; - -<<<<<<< HEAD import io.zipcoder.casino.Interfaces.GamblingGame; import java.util.ArrayList; -public class Dice implements GamblingGame { - - - public static ArrayList playerDice = new ArrayList(5); - - public static Integer numOfDice = 0; - - public Dice(int numOfDice){} - - - - public int diceValue(){return 0;} - - public static void roll(int[]numberOfDice){ - - } - - public void distributeWinnings(){ - - } -} -======= public class Dice { private boolean kept; private int value; @@ -58,5 +34,23 @@ public int getValue() { public String toString(){ return String.format("Value: %d : Keeping: %b", value, kept); } + + public static ArrayList playerDice = new ArrayList(5); + + public static Integer numOfDice = 0; + + public Dice(int numOfDice){} + + + + public int diceValue(){return 0;} + + public static void roll(int[]numberOfDice){ + + } + + public void distributeWinnings(){ + + } } ->>>>>>> dev + From 61f41604c868d1bce87ecbc05007e41f636ce6b7 Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Tue, 5 Nov 2019 11:55:38 -0500 Subject: [PATCH 035/169] add more logic --- src/main/java/io/zipcoder/casino/App.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/App.java b/src/main/java/io/zipcoder/casino/App.java index dccf2f5d6..55db3aed4 100644 --- a/src/main/java/io/zipcoder/casino/App.java +++ b/src/main/java/io/zipcoder/casino/App.java @@ -70,7 +70,9 @@ private void selectGame() { "1.) Go Fish\n" + "2.) Yahtzee\n" + "3.) BlackJack\n" + - "4.) Craps"); + "4.) Craps\n" + + "5.) Go to Main Menu"); + selectGameActions(userInput); } // select game @@ -92,16 +94,19 @@ private void selectGameActions(Integer gameSelected){ case 4: Craps newCraps = new Craps(); newCraps.startGame(); + case 5: + mainMenu(); break; default: menu.print("Error! Invalid Selection!\n\n"); - selectGame(); break; } + + selectGame(); } // game actions private Boolean authenticatePlayer(){ - return false; + return true; } private void createPlayer(){ From 3728f85e2382fb5fc4a62f79640b7f73b6fad4e8 Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Tue, 5 Nov 2019 11:57:43 -0500 Subject: [PATCH 036/169] getPlayer method added --- .../java/io/zipcoder/casino/Player/PlayerWarehouse.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java b/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java index b53c66f06..fd3ec2dff 100644 --- a/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java +++ b/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java @@ -5,7 +5,7 @@ public class PlayerWarehouse { - HashMap warehouse = new HashMap(); + private HashMap warehouse = new HashMap(); public void addPlayer(int ID, int pwd){ @@ -13,4 +13,10 @@ public void addPlayer(int ID, int pwd){ warehouse.put(newUser.ID, newUser); } + + public Player getPlayer(int idNum){ + return warehouse.get(idNum); + } + + } From e051235ba49236ccc22daac68a5cc07b85035422 Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Tue, 5 Nov 2019 13:04:15 -0500 Subject: [PATCH 037/169] Add more logic --- src/main/java/io/zipcoder/casino/App.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/App.java b/src/main/java/io/zipcoder/casino/App.java index 39bcda55c..7a9cb1332 100644 --- a/src/main/java/io/zipcoder/casino/App.java +++ b/src/main/java/io/zipcoder/casino/App.java @@ -13,6 +13,7 @@ public class App { private String userId = ""; private String userPassword = ""; private Player newPlayer = new Player( userId,userPassword); + private int counter = 0; public void App (){ @@ -43,8 +44,15 @@ private void mainMenuActions(Integer userSelection){ if (authenticatePlayer()) { selectGame(); } else { - menu.print("We could not find this user. Please create an account!\n\n"); - mainMenu(); + menu.print("We could not find this user. Please try again!\n\n"); + counter++; + if ((counter > 2)) { + counter = 0; + menu.print("You exceeded the allowed number of tries!\n\n"); + mainMenu(); + } else { + mainMenuActions(userSelection); + } } break; case 2: @@ -108,7 +116,7 @@ private void selectGameActions(Integer gameSelected){ } // game actions private Boolean authenticatePlayer(){ - return true; + return false; } private void createPlayer(){ From 75497c94aac3f0c904cfc3e61fc8c6c1c1622030 Mon Sep 17 00:00:00 2001 From: mike Date: Tue, 5 Nov 2019 13:18:46 -0500 Subject: [PATCH 038/169] worked on cardhand stuff with mida --- .../zipcoder/casino/CardGames/CardHand.java | 7 +++++- .../io/zipcoder/casino/CardGames/Deck.java | 5 ++++- .../io/zipcoder/casino/CardGames/GoFish.java | 22 ++++++++++++++----- .../casino/CardGames/CardHandTest.java | 20 +++++++++++++++++ 4 files changed, 47 insertions(+), 7 deletions(-) create mode 100644 src/test/java/io/zipcoder/casino/CardGames/CardHandTest.java diff --git a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java index b3cc36866..e3e7ca942 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java +++ b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java @@ -6,13 +6,18 @@ public class CardHand { ArrayList userHand = new ArrayList(); - public void displayHand(){} + public void displayHand(){ + userHand.toString(); + } public void evaluateHand(){} public void addCardToHand(Card cardToAdd){ + + userHand.add(cardToAdd); } + public void removeCardFromHand(Card cardToRemove){ } diff --git a/src/main/java/io/zipcoder/casino/CardGames/Deck.java b/src/main/java/io/zipcoder/casino/CardGames/Deck.java index 6cf6c29d8..d37b6e779 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/Deck.java +++ b/src/main/java/io/zipcoder/casino/CardGames/Deck.java @@ -34,13 +34,15 @@ public void print(){ System.out.println(drawCard()); } - public void dealCards(int numberOfCards){ + public Card dealCards(int numberOfCards){ for(int index = 0; index < numberOfCards; index++){ + return deckOfCards.pop(); } + return null; } @@ -55,6 +57,7 @@ public Card drawCard(){ return null; } + } diff --git a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java index 760665bc9..3f6586dc8 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java +++ b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java @@ -7,8 +7,10 @@ public class GoFish { - Player user = new Player(); + //Player user = new Player(); Deck goFishDeck = new Deck(1); + CardHand playerHand1 = new CardHand(); + // CardHand playerHand2 = new CardHand(); Integer pointAccumulated; Integer hasCardQuestion; @@ -18,9 +20,13 @@ public void startGame(){ goFishDeck.shuffleDeck(); - System.out.println(goFishDeck.drawCard().toString()); - System.out.println(goFishDeck.drawCard().toString()); - System.out.println(goFishDeck.drawCard().toString()); + + } + public void dealCards(){ + + Card newCard = goFishDeck.drawCard(); + + playerHand1.addCardToHand(newCard); } @@ -28,11 +34,17 @@ public void startGame(){ public void tradeCards(ArrayList fromPlayer, ArrayList toPlayer){} + public void displayCards(){ + playerHand1.displayHand(); + } + public void dropCards (Player playerToDrop){ } - public void promptLeaveGame(){} + public void promptLeaveGame(){ + + } public void displayResults (){} } diff --git a/src/test/java/io/zipcoder/casino/CardGames/CardHandTest.java b/src/test/java/io/zipcoder/casino/CardGames/CardHandTest.java new file mode 100644 index 000000000..ebcd5f902 --- /dev/null +++ b/src/test/java/io/zipcoder/casino/CardGames/CardHandTest.java @@ -0,0 +1,20 @@ +package io.zipcoder.casino.CardGames; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class CardHandTest{ + + @Before + public void setUp(){} + + @After + public void tearDown(){} + + @Test + public void checkhand(){ + + } + +} \ No newline at end of file From 18a818f479c6e09f14d5a2923c0a9966b8d33e86 Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Tue, 5 Nov 2019 13:31:09 -0500 Subject: [PATCH 039/169] Update --- .../io/zipcoder/casino/DiceGames/Yahtzee.java | 38 +++++++++---------- .../YahtzeeTests/EvaluationTest.java | 2 +- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index 78521ca81..b8904a293 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -14,7 +14,7 @@ public class Yahtzee implements Game { private Dice[] myDice; int points; - private String[] availableOptionsNames = {"","1s", "2s", "3s", "4s", "5s","6s","3 of a kind","4 of a kind", + private String[] availableOptions = {"","1s", "2s", "3s", "4s", "5s","6s","3 of a kind","4 of a kind", "Small Straight", "Large Straight", "Full House", "Yahtzee", "Chance"}; @@ -29,8 +29,8 @@ public Yahtzee(Player player){ public void startGame(){ for(int i = 0; i < 13; i++) { - //rollDice - //chooseEvaluation + threeDiceRolls(); + checkForEvaluation(); } displayResults(); promptLeaveGame(); @@ -54,14 +54,8 @@ public Dice[] createDice(){ } -/* -// Following methods for rolling dice and choosing which ones to keep--------------------------------------------------- - public void resetDice(){ - for(int i = 0; i < myDice.length; i++){ - myDice[i].setKept(false); - } - } +// Following methods for rolling dice and choosing which ones to keep--------------------------------------------------- public void threeDiceRolls(){ resetDice(); @@ -72,6 +66,12 @@ public void threeDiceRolls(){ roll5Dice(); } + public void resetDice(){ + for(int i = 0; i < myDice.length; i++){ + myDice[i].setKept(false); + } + } + public void roll5Dice(){ for(Dice s : this.myDice){ if(!s.isKept()){ @@ -102,18 +102,18 @@ public void chooseToKeep(){ // Following methods are for evaluating the dice at the end of three rolls---------------------------------------------- - public int checkForEvaluation(Dice[] dice){ + public int checkForEvaluation(){ int choice = 0; boolean evaluated = false; Integer[] diceValues = getDiceValues(); - for(int i = 1; i < availableOptionsNames.length; i++){ - console.println((i) + ". " + availableOptionsNames[i]); + for(int i = 1; i < availableOptions.length; i++){ + console.println((i) + ". " + availableOptions[i]); } while(!evaluated){ try{ - for(Dice s: dice){ + for(Dice s: this.myDice){ console.println(s.toString()); } choice = console.getIntegerInput("Which one do you want to choose? "); @@ -121,11 +121,11 @@ public int checkForEvaluation(Dice[] dice){ else if(choice < 1 || choice > 13){ console.println("Please pick an option within the bounds."); } - else if(this.availableOptionsName[choice].equals(" ")){ + else if(this.availableOptions[choice].equals(" ")){ console.println("Box already picked. Please choose again."); } else{ - availableOptionsNames[choice] = " "; + availableOptions[choice] = " "; evaluated = true; } } @@ -152,7 +152,7 @@ else if(this.availableOptionsName[choice].equals(" ")){ } return 0; } -*/ + public int checkForFaces(Integer[] diceValues, int valueToLookFor){ int results = 0; @@ -279,7 +279,7 @@ public int checkForYahtzee(Integer[] diceValues){ } return 50; } -/* + public Integer[] getDiceValues(){ Integer[] values = new Integer[5]; for(int i = 0; i < this.myDice.length; i++){ @@ -288,6 +288,6 @@ public Integer[] getDiceValues(){ return values; } -*/ + } diff --git a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java index d83055775..3b51c194e 100644 --- a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java +++ b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java @@ -11,7 +11,7 @@ public class EvaluationTest { @Before public void doThisFirst(){ - detect = new Yahtzee(new Player()); + detect = new Yahtzee(new Player("1234", "password")); } @Test From 12bc9696409383ef058200da03a0b07bc899b4d0 Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Tue, 5 Nov 2019 13:38:32 -0500 Subject: [PATCH 040/169] more logic --- src/main/java/io/zipcoder/casino/App.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/App.java b/src/main/java/io/zipcoder/casino/App.java index 7a9cb1332..d406f1c91 100644 --- a/src/main/java/io/zipcoder/casino/App.java +++ b/src/main/java/io/zipcoder/casino/App.java @@ -42,7 +42,7 @@ private void mainMenuActions(Integer userSelection){ userPassword = menu.getStringInput("Enter your password:"); if (authenticatePlayer()) { - selectGame(); + selectGameToPlay(); } else { menu.print("We could not find this user. Please try again!\n\n"); counter++; @@ -57,6 +57,7 @@ private void mainMenuActions(Integer userSelection){ break; case 2: createPlayer(); + selectGameToPlay(); break; case 3: @@ -74,7 +75,7 @@ private void mainMenuActions(Integer userSelection){ - private void selectGame() { + private void selectGameToPlay() { int userInput; userInput = menu.getIntegerInput("Please select game to play\n" + "1.) Go Fish\n" + @@ -83,10 +84,10 @@ private void selectGame() { "4.) Craps\n" + "5.) Go to Main Menu"); - selectGameActions(userInput); + selectGameToPlayActions(userInput); } // select game - private void selectGameActions(Integer gameSelected){ + private void selectGameToPlayActions(Integer gameSelected){ switch (gameSelected){ case 1: @@ -112,7 +113,7 @@ private void selectGameActions(Integer gameSelected){ break; } - selectGame(); + selectGameToPlay(); } // game actions private Boolean authenticatePlayer(){ From 72c7bac2dec488d5c8e522e813d000048eaad45c Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Tue, 5 Nov 2019 13:46:09 -0500 Subject: [PATCH 041/169] ate lunch --- src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java | 2 +- src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java index 50d038269..18a0b1be5 100644 --- a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java +++ b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java @@ -1,6 +1,6 @@ package io.zipcoder.casino.Player; -public class GamblingPlayer implements io.zipcoder.casino.Interfaces.GamblingPlayer { +public class GamblingPlayer { } diff --git a/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java b/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java index bb3514bd9..64d036273 100644 --- a/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java +++ b/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java @@ -14,7 +14,7 @@ public void addPlayer(String ID, String pwd){ } - public Player getPlayer(int idNum){ + public Player getPlayer(String idNum){ return warehouse.get(idNum); } From aaef12309b5586828c90e8037ed221a1fa3b6b1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kwam=C3=A8=20Warrick?= Date: Tue, 5 Nov 2019 13:49:31 -0500 Subject: [PATCH 042/169] Added String to craps --- src/main/java/io/zipcoder/casino/DiceGames/Craps.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java index 4f77896b7..479ee79ed 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java @@ -1,6 +1,10 @@ package io.zipcoder.casino.DiceGames; -public class Craps { +import io.zipcoder.casino.Interfaces.GamblingPlayer; + +public class Craps{ + private String[] availableOptionsCrapsNames = {"Roll the Die ","YO Levine the Dancing Queen", "Place Your Bets", + "Winner Winner Chicken Dinner", "Nina Nina from Pasedena"}; public void user(){} public void diceValues (){} From 703f5a4c237ee65dc0f687163af3634f4078e95c Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Tue, 5 Nov 2019 14:11:18 -0500 Subject: [PATCH 043/169] more changes to yahtzee class --- src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index b8904a293..7c18de5b6 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -4,8 +4,6 @@ import io.zipcoder.casino.Player.Player; import io.zipcoder.casino.utilities.Console; -import java.util.Arrays; - public class Yahtzee implements Game { private Player user; private static Console console = new Console(System.in, System.out); @@ -14,7 +12,7 @@ public class Yahtzee implements Game { private Dice[] myDice; int points; - private String[] availableOptions = {"","1s", "2s", "3s", "4s", "5s","6s","3 of a kind","4 of a kind", + private String[] availableOptions = {" ","1s", "2s", "3s", "4s", "5s","6s","3 of a kind","4 of a kind", "Small Straight", "Large Straight", "Full House", "Yahtzee", "Chance"}; @@ -38,7 +36,6 @@ public void startGame(){ public void promptLeaveGame(){ console.getStringInput("Would you like to play again?\n1. Play again\n2. Exit"); - } public void displayResults(){ console.println("Your final score is: " + this.points); From e177b1b3e9fd1a36cc9328ce2f7ab2213dbd67d3 Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Tue, 5 Nov 2019 14:13:41 -0500 Subject: [PATCH 044/169] Add playerwarehouse --- src/main/java/io/zipcoder/casino/App.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/App.java b/src/main/java/io/zipcoder/casino/App.java index d406f1c91..199896f53 100644 --- a/src/main/java/io/zipcoder/casino/App.java +++ b/src/main/java/io/zipcoder/casino/App.java @@ -5,6 +5,7 @@ import io.zipcoder.casino.DiceGames.Craps; import io.zipcoder.casino.DiceGames.Yahtzee; import io.zipcoder.casino.Player.Player; +import io.zipcoder.casino.Player.PlayerWarehouse; import io.zipcoder.casino.utilities.Console; public class App { @@ -12,7 +13,8 @@ public class App { private Console menu; private String userId = ""; private String userPassword = ""; - private Player newPlayer = new Player( userId,userPassword); + private Player newPlayer; + private PlayerWarehouse warehouse = new PlayerWarehouse(); private int counter = 0; public void App (){ @@ -73,8 +75,6 @@ private void mainMenuActions(Integer userSelection){ } // menuActions - - private void selectGameToPlay() { int userInput; userInput = menu.getIntegerInput("Please select game to play\n" + @@ -116,12 +116,15 @@ private void selectGameToPlayActions(Integer gameSelected){ selectGameToPlay(); } // game actions + private Boolean authenticatePlayer(){ + newPlayer = new Player( userId,userPassword); + return false; } private void createPlayer(){ - + newPlayer = new Player( userId,userPassword); } } // class From 97b992736dc1510173a711fb21fb7ae1f3897ab2 Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Tue, 5 Nov 2019 14:42:07 -0500 Subject: [PATCH 045/169] More changes to Yahtzee Class --- .../io/zipcoder/casino/CardGames/GoFish.java | 2 +- .../io/zipcoder/casino/DiceGames/Yahtzee.java | 58 ++++++++++++++++--- .../YahtzeeTests/DiceRollTest.java | 24 ++++++++ 3 files changed, 74 insertions(+), 10 deletions(-) create mode 100644 src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java diff --git a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java index 760665bc9..0c3182d5e 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java +++ b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java @@ -7,7 +7,7 @@ public class GoFish { - Player user = new Player(); + Player user = new Player("1234", "password"); Deck goFishDeck = new Deck(1); Integer pointAccumulated; diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index 7c18de5b6..11499cee9 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -5,6 +5,9 @@ import io.zipcoder.casino.utilities.Console; public class Yahtzee implements Game { + + // Fields----------------------------------------------------------------------------------------------------------- + private Player user; private static Console console = new Console(System.in, System.out); @@ -15,7 +18,7 @@ public class Yahtzee implements Game { private String[] availableOptions = {" ","1s", "2s", "3s", "4s", "5s","6s","3 of a kind","4 of a kind", "Small Straight", "Large Straight", "Full House", "Yahtzee", "Chance"}; - + // Constructor------------------------------------------------------------------------------------------------------ public Yahtzee(Player player){ this.user = player; @@ -24,6 +27,8 @@ public Yahtzee(Player player){ continuePlay = false; } + // Methods---------------------------------------------------------------------------------------------------------- + public void startGame(){ for(int i = 0; i < 13; i++) { @@ -32,10 +37,22 @@ public void startGame(){ } displayResults(); promptLeaveGame(); + + } public void promptLeaveGame(){ - console.getStringInput("Would you like to play again?\n1. Play again\n2. Exit"); + String exitOrNo = console.getStringInput("Would you like to play again?\n1. Play again\n2. Exit"); + switch (exitOrNo.toLowerCase()){ + + case "1": case "play": case "play again": + this.continuePlay = true; + break; + case "2": case "exit": + this.continuePlay = false; + break; + + } } public void displayResults(){ console.println("Your final score is: " + this.points); @@ -50,9 +67,7 @@ public Dice[] createDice(){ return dice; } - - -// Following methods for rolling dice and choosing which ones to keep--------------------------------------------------- + // Following methods for rolling dice and choosing which ones to keep----------------------------------------------- public void threeDiceRolls(){ resetDice(); @@ -83,21 +98,21 @@ public void chooseToKeep(){ for (int i = 0; i < this.myDice.length; i++) { console.print((i + 1) + ". " + this.myDice[i].getValue() + " : " + this.myDice[i].isKept() + "\n"); } - keepthis = console.getStringInput(" Enter the number of the dice to keep, then press enter\nType 'continue' when finished"); + keepthis = console.getStringInput("Type the corresponding number of the dice to switch it between keeping and re-rolling.\nType 'continue' when finished"); switch (keepthis){ case "1": this.myDice[0].keptOrRolled(); break; case "2": this.myDice[1].keptOrRolled(); break; case "3": this.myDice[2].keptOrRolled(); break; case "4": this.myDice[3].keptOrRolled(); break; case "5": this.myDice[4].keptOrRolled(); break; - case "continue": keepthis = "roll"; break; - default: break; + case "continue": keepthis = "roll"; break; + default: break; } } } -// Following methods are for evaluating the dice at the end of three rolls---------------------------------------------- + // Following methods are for evaluating the dice at the end of three rolls------------------------------------------ public int checkForEvaluation(){ int choice = 0; @@ -287,4 +302,29 @@ public Integer[] getDiceValues(){ } + // getters and setters---------------------------------------------------------------------------------------------- + + public Player getUser() { + return user; + } + + public void setUser(Player user) { + this.user = user; + } + + public Dice[] getMyDice() { + return myDice; + } + + public void setMyDice(Dice[] myDice) { + this.myDice = myDice; + } + + public int getPoints() { + return points; + } + + public void setPoints(int points) { + this.points = points; + } } diff --git a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java new file mode 100644 index 000000000..85f2e4f78 --- /dev/null +++ b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java @@ -0,0 +1,24 @@ +package io.zipcoder.casino.DiceGamesTests.YahtzeeTests; + +import io.zipcoder.casino.DiceGames.Yahtzee; +import io.zipcoder.casino.Player.Player; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +public class DiceRollTest { + + Yahtzee roller; + Player user; + + @Before + public void doThisFirst(){ + user = new Player("123","pw"); + roller = new Yahtzee(user); + } + + @Test + public void Test1(){ + + } +} From 8e9ea22d2a03cf4583b11d950d9a8f661a8265dd Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Tue, 5 Nov 2019 14:45:40 -0500 Subject: [PATCH 046/169] Add logic for create/authenticate player --- src/main/java/io/zipcoder/casino/App.java | 37 ++++++++++++++--------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/App.java b/src/main/java/io/zipcoder/casino/App.java index 199896f53..cf6b4a79f 100644 --- a/src/main/java/io/zipcoder/casino/App.java +++ b/src/main/java/io/zipcoder/casino/App.java @@ -19,8 +19,8 @@ public class App { public void App (){ - menu = new Console(System.in,System.out); - menu.print("Welcome to Casino 5! \n\n"); + this.menu = new Console(System.in,System.out); + this.menu.print("Welcome to Casino 5! \n\n"); mainMenu(); // log in ... @@ -29,7 +29,7 @@ public void App (){ private void mainMenu(){ int userInput; - userInput = menu.getIntegerInput("What would you like to do?\n" + + userInput = this.menu.getIntegerInput("What would you like to do?\n" + "1.) Log In\n" + "2.) Create Account\n" + "3.) Exit"); @@ -40,17 +40,20 @@ private void mainMenuActions(Integer userSelection){ switch (userSelection) { case 1: - userId = menu.getStringInput("Enter your ID:"); - userPassword = menu.getStringInput("Enter your password:"); + this.userId = this.menu.getStringInput("Enter your ID:"); + this.userPassword = this.menu.getStringInput("Enter your password:"); + this.menu.println("Logging in ...\n"); if (authenticatePlayer()) { selectGameToPlay(); } else { - menu.print("We could not find this user. Please try again!\n\n"); + this.menu.print("We could not find this user. Please try again!\n\n"); counter++; - if ((counter > 2)) { + this.userId = ""; + this.userPassword = ""; + if ((counter > 1)) { counter = 0; - menu.print("You exceeded the allowed number of tries!\n\n"); + this.menu.print("You exceeded the allowed number of tries!\n\n"); mainMenu(); } else { mainMenuActions(userSelection); @@ -58,17 +61,21 @@ private void mainMenuActions(Integer userSelection){ } break; case 2: + this.menu.println("Creating new account ...\n"); + this.userId = this.menu.getStringInput("Enter your ID:"); + this.userPassword = this.menu.getStringInput("Enter your password:"); + createPlayer(); selectGameToPlay(); break; case 3: - menu.print("Have a great day!"); + this.menu.print("Have a great day!"); System.exit(0); break; default: - menu.print("Error! Please enter another option!"); + this.menu.print("Error! Please enter another option!"); mainMenu(); } // main menu actions @@ -95,7 +102,7 @@ private void selectGameToPlayActions(Integer gameSelected){ newGoFish.startGame(); break; case 2: - Yahtzee newYahtzee = new Yahtzee(newPlayer); + Yahtzee newYahtzee = new Yahtzee(this.newPlayer); newYahtzee.startGame(); break; case 3: @@ -118,13 +125,13 @@ private void selectGameToPlayActions(Integer gameSelected){ private Boolean authenticatePlayer(){ - newPlayer = new Player( userId,userPassword); - - return false; + this.newPlayer = warehouse.getPlayer(this.userId); + return this.newPlayer != null; } private void createPlayer(){ - newPlayer = new Player( userId,userPassword); + warehouse.addPlayer(this.userId,this.userPassword); + this.newPlayer = warehouse.getPlayer(this.userId); } } // class From fd53777486449fc01e6704bc0799342e3fe2334c Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Tue, 5 Nov 2019 14:59:30 -0500 Subject: [PATCH 047/169] Gambling player + other tweaks --- .../zipcoder/casino/Player/GamblingPlayer.java | 16 +++++++++++++++- .../zipcoder/casino/Player/PlayerWarehouse.java | 11 +++++++---- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java index 18a0b1be5..0f512d30a 100644 --- a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java +++ b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java @@ -1,6 +1,20 @@ package io.zipcoder.casino.Player; -public class GamblingPlayer { +public class GamblingPlayer implements io.zipcoder.casino.Interfaces.GamblingPlayer { + Player gambler; + public GamblingPlayer(Player user){ + this.gambler = user; + } + + public String placeWage(double wageAmount) { + if(gambler.balance < wageAmount) {return "You can't afford that bet";} + else {gambler.balance -= wageAmount; + return "Betting done";} + } + + public void getWinnings(double winnings){ + gambler.balance += winnings; + } } diff --git a/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java b/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java index 64d036273..acc68d0ad 100644 --- a/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java +++ b/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java @@ -5,13 +5,16 @@ public class PlayerWarehouse { - private HashMap warehouse = new HashMap(); + private HashMap warehouse; - public void addPlayer(String ID, String pwd){ + public PlayerWarehouse() { + this.warehouse = new HashMap(); + } + public void addPlayer(String ID, String pwd){ Player newUser = new Player(ID, pwd); - warehouse.put(newUser.ID, newUser); - + String key = newUser.ID+newUser.pwd; + warehouse.put(key, newUser); } public Player getPlayer(String idNum){ From 460139aa2a5030e18d136f228dce4d989850ed17 Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Tue, 5 Nov 2019 15:02:23 -0500 Subject: [PATCH 048/169] More Yahtzee fixes --- .../io/zipcoder/casino/DiceGames/Yahtzee.java | 42 +++++++++++-------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index 11499cee9..6ce0c3282 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -15,8 +15,8 @@ public class Yahtzee implements Game { private Dice[] myDice; int points; - private String[] availableOptions = {" ","1s", "2s", "3s", "4s", "5s","6s","3 of a kind","4 of a kind", - "Small Straight", "Large Straight", "Full House", "Yahtzee", "Chance"}; + private String[] availableOptions = {" ","1s", "2s", "3s", "4s", "5s", "6s", "3 of a kind", "4 of a kind", + "Small Straight", "Large Straight", "Full House", "Yahtzee", "Chance"}; // Constructor------------------------------------------------------------------------------------------------------ @@ -32,13 +32,30 @@ public Yahtzee(Player player){ public void startGame(){ for(int i = 0; i < 13; i++) { - threeDiceRolls(); + beginDiceRolls(); checkForEvaluation(); } displayResults(); promptLeaveGame(); + if(this.continuePlay){ + return; + } + else{ + + } + } + public Dice[] createDice(){ + Dice[] dice = new Dice[5]; + for(int i = 0; i < dice.length; i++){ + dice[i] = new Dice(); + } + return dice; + } + public void displayResults(){ + console.println("Your final score is: " + this.points); + console.getStringInput("Press enter to continue "); } public void promptLeaveGame(){ @@ -54,22 +71,10 @@ public void promptLeaveGame(){ } } - public void displayResults(){ - console.println("Your final score is: " + this.points); - console.getStringInput("Press enter to continue "); - } - - public Dice[] createDice(){ - Dice[] dice = new Dice[5]; - for(int i = 0; i < dice.length; i++){ - dice[i] = new Dice(); - } - return dice; - } // Following methods for rolling dice and choosing which ones to keep----------------------------------------------- - public void threeDiceRolls(){ + public void beginDiceRolls(){ resetDice(); roll5Dice(); chooseToKeep(); @@ -98,7 +103,10 @@ public void chooseToKeep(){ for (int i = 0; i < this.myDice.length; i++) { console.print((i + 1) + ". " + this.myDice[i].getValue() + " : " + this.myDice[i].isKept() + "\n"); } - keepthis = console.getStringInput("Type the corresponding number of the dice to switch it between keeping and re-rolling.\nType 'continue' when finished"); + keepthis = console.getStringInput("Type the corresponding number of the dice and press enter to " + + "switch it between keeping and re-rolling.\n" + + "Type 'continue' when finished\n"); + switch (keepthis){ case "1": this.myDice[0].keptOrRolled(); break; case "2": this.myDice[1].keptOrRolled(); break; From bc4999acf181843e1d8612ce292448a3e50b9d36 Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Tue, 5 Nov 2019 15:03:11 -0500 Subject: [PATCH 049/169] More logic for add/create user --- src/main/java/io/zipcoder/casino/App.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/App.java b/src/main/java/io/zipcoder/casino/App.java index cf6b4a79f..252b91743 100644 --- a/src/main/java/io/zipcoder/casino/App.java +++ b/src/main/java/io/zipcoder/casino/App.java @@ -65,8 +65,11 @@ private void mainMenuActions(Integer userSelection){ this.userId = this.menu.getStringInput("Enter your ID:"); this.userPassword = this.menu.getStringInput("Enter your password:"); + if (authenticatePlayer()) this.menu.println("This user already exists, please log in.\n"); + createPlayer(); selectGameToPlay(); + break; case 3: @@ -125,13 +128,13 @@ private void selectGameToPlayActions(Integer gameSelected){ private Boolean authenticatePlayer(){ - this.newPlayer = warehouse.getPlayer(this.userId); + this.newPlayer = warehouse.getPlayer(this.userId+this.userPassword); return this.newPlayer != null; } private void createPlayer(){ warehouse.addPlayer(this.userId,this.userPassword); - this.newPlayer = warehouse.getPlayer(this.userId); + this.newPlayer = warehouse.getPlayer(this.userId+this.userPassword); } } // class From 8e2a5351f2bbde37d67d47d24b0bbd348e2758be Mon Sep 17 00:00:00 2001 From: mike Date: Tue, 5 Nov 2019 15:08:52 -0500 Subject: [PATCH 050/169] nadau --- .../zipcoder/casino/CardGames/CardHand.java | 9 ++- .../io/zipcoder/casino/CardGames/Deck.java | 12 ++-- .../io/zipcoder/casino/CardGames/GoFish.java | 63 +++++++++++++++---- 3 files changed, 63 insertions(+), 21 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java index e3e7ca942..974c44ad6 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java +++ b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java @@ -6,8 +6,13 @@ public class CardHand { ArrayList userHand = new ArrayList(); - public void displayHand(){ - userHand.toString(); + public CardHand(ArrayList dealtCards){ + + userHand.addAll(dealtCards); + } + + public String displayHand(){ + return userHand.toString(); } public void evaluateHand(){} diff --git a/src/main/java/io/zipcoder/casino/CardGames/Deck.java b/src/main/java/io/zipcoder/casino/CardGames/Deck.java index d37b6e779..1be7222a3 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/Deck.java +++ b/src/main/java/io/zipcoder/casino/CardGames/Deck.java @@ -1,5 +1,6 @@ package io.zipcoder.casino.CardGames; +import java.util.ArrayList; import java.util.Collections; import java.util.Stack; @@ -34,15 +35,14 @@ public void print(){ System.out.println(drawCard()); } - public Card dealCards(int numberOfCards){ + public ArrayList dealCards(int numberOfCards){ - for(int index = 0; index < numberOfCards; index++){ + ArrayList dealingCards = new ArrayList(); - return deckOfCards.pop(); + for(int index = 0; index < numberOfCards; index++){ + dealingCards.add(deckOfCards.pop()); } - - - return null; + return dealingCards; } diff --git a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java index 3f6586dc8..f6747be4a 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java +++ b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java @@ -1,41 +1,77 @@ package io.zipcoder.casino.CardGames; +import io.zipcoder.casino.Interfaces.Game; import io.zipcoder.casino.Player.Player; +import io.zipcoder.casino.utilities.Console; import java.util.ArrayList; import java.util.Stack; +import static java.lang.System.in; -public class GoFish { +public class GoFish implements Game { - //Player user = new Player(); - Deck goFishDeck = new Deck(1); - CardHand playerHand1 = new CardHand(); - // CardHand playerHand2 = new CardHand(); + private int points; + private Player user; + Console input = new Console(System.in, System.out); + //Player user = new Player(); + Deck goFishDeck; + CardHand playerHand; + CardHand computerHand; + boolean winGame = false; Integer pointAccumulated; Integer hasCardQuestion; + public GoFish(Player player) { + this.user = player; + this.points = 0; + } public void startGame(){ + initializeHands(); + + do{ + + + + }while(winGame == false); + + /*System.out.println("Player 1: " + playerHand.displayHand()); + System.out.println("Player 2: " + computerHand.displayHand());*/ + + } + + public void initializeHands(){ + + //initialize deck and shuffle + goFishDeck = new Deck(1); goFishDeck.shuffleDeck(); + //initialize players' hand and deal cards + playerHand = new CardHand(goFishDeck.dealCards(5)); + computerHand = new CardHand(goFishDeck.dealCards(5)); + } - public void dealCards(){ - Card newCard = goFishDeck.drawCard(); + public void playerTurn(){} + + public void computerTurn(){} + + public boolean askForCard(Player thisPlayer, String card){ - playerHand1.addCardToHand(newCard); + + return false; } - public boolean askForCard(Player thisPlayer, int cardNumber){return false;} + public void tradeCards(ArrayList fromPlayer, ArrayList toPlayer){ + - public void tradeCards(ArrayList fromPlayer, ArrayList toPlayer){} + } - public void displayCards(){ - playerHand1.displayHand(); + public void displayCards(CardHand currentPlayer){ } public void dropCards (Player playerToDrop){ @@ -46,5 +82,6 @@ public void promptLeaveGame(){ } - public void displayResults (){} + public void displayResults (){ + } } From 955b454b9b5db8f477666c12e7f8b9608eea02a0 Mon Sep 17 00:00:00 2001 From: mike Date: Tue, 5 Nov 2019 15:15:12 -0500 Subject: [PATCH 051/169] added bj constructor --- src/main/java/io/zipcoder/casino/CardGames/BlackJack.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index 08ce12c4f..01225892b 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -13,6 +13,9 @@ public class BlackJack { private int wageBucket; private int blackJackDeck; + public BlackJack(Player player) { + this.user = player; + } public void startGame() {} From c64489e5bffbc682555be9d8f1e76670b1e4bc0d Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Tue, 5 Nov 2019 15:21:28 -0500 Subject: [PATCH 052/169] More Yahtzee fixes --- .../io/zipcoder/casino/DiceGames/Yahtzee.java | 49 ++++++++++--------- .../YahtzeeTests/DiceRollTest.java | 8 +++ 2 files changed, 34 insertions(+), 23 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index 6ce0c3282..caa964a75 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -24,24 +24,21 @@ public Yahtzee(Player player){ this.user = player; this.myDice = createDice(); this.points = 0; - continuePlay = false; + continuePlay = true; } // Methods---------------------------------------------------------------------------------------------------------- public void startGame(){ - for(int i = 0; i < 13; i++) { - beginDiceRolls(); - checkForEvaluation(); - } - displayResults(); - promptLeaveGame(); - if(this.continuePlay){ - return; - } - else{ - + while(continuePlay) { + for (int i = 0; i < 13; i++) { + beginDiceRolls(); + checkForEvaluation(); + } + displayResults(); + promptLeaveGame(); + if (!this.continuePlay) { return; } } } @@ -54,21 +51,27 @@ public Dice[] createDice(){ } public void displayResults(){ - console.println("Your final score is: " + this.points); - console.getStringInput("Press enter to continue "); + console.println("Your final score is: " + this.getPoints()); } public void promptLeaveGame(){ String exitOrNo = console.getStringInput("Would you like to play again?\n1. Play again\n2. Exit"); - switch (exitOrNo.toLowerCase()){ - - case "1": case "play": case "play again": - this.continuePlay = true; - break; - case "2": case "exit": - this.continuePlay = false; - break; - + boolean c = false; + while (!c) { + switch (exitOrNo.toLowerCase()) { + case "1": case "play": case "play again": + this.continuePlay = true; + c = true; + break; + case "2": case "exit": + this.continuePlay = false; + c = true; + break; + default: + console.println("Please choose one of the options."); + exitOrNo = console.getStringInput("Would you like to play again?\n1. Play again\n2. Exit"); + break; + } } } diff --git a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java index 85f2e4f78..1faa9437f 100644 --- a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java +++ b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java @@ -19,6 +19,14 @@ public void doThisFirst(){ @Test public void Test1(){ + roller.roll5Dice(); + roller.getMyDice(); + Integer[] diceValues = roller.getDiceValues(); + for(Integer s: diceValues){ + Assert.assertTrue(s < 7); + Assert.assertTrue(s > 0); + } + Assert.assertNotEquals(1,0); } } From 8f0adb7829bb88dbc97c054da8228fd3c39acdf2 Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Tue, 5 Nov 2019 15:23:44 -0500 Subject: [PATCH 053/169] gambling player interface --- src/main/java/io/zipcoder/casino/Interfaces/GamblingPlayer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/io/zipcoder/casino/Interfaces/GamblingPlayer.java b/src/main/java/io/zipcoder/casino/Interfaces/GamblingPlayer.java index bb06465f0..f3225d17e 100644 --- a/src/main/java/io/zipcoder/casino/Interfaces/GamblingPlayer.java +++ b/src/main/java/io/zipcoder/casino/Interfaces/GamblingPlayer.java @@ -2,5 +2,5 @@ public interface GamblingPlayer { - void placeWage(); + String placeWage(double wager); } From 714938c02b410959b3fc49b80d6b6a8b26a4b2fc Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Tue, 5 Nov 2019 15:25:39 -0500 Subject: [PATCH 054/169] minor changes --- src/main/java/io/zipcoder/casino/App.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/App.java b/src/main/java/io/zipcoder/casino/App.java index 252b91743..b0a45ef94 100644 --- a/src/main/java/io/zipcoder/casino/App.java +++ b/src/main/java/io/zipcoder/casino/App.java @@ -101,7 +101,7 @@ private void selectGameToPlayActions(Integer gameSelected){ switch (gameSelected){ case 1: - GoFish newGoFish = new GoFish(); + GoFish newGoFish = new GoFish(this.newPlayer); newGoFish.startGame(); break; case 2: @@ -109,7 +109,7 @@ private void selectGameToPlayActions(Integer gameSelected){ newYahtzee.startGame(); break; case 3: - BlackJack newBlackJack = new BlackJack(); + BlackJack newBlackJack = new BlackJack(this.newPlayer); newBlackJack.startGame(); break; case 4: @@ -124,6 +124,8 @@ private void selectGameToPlayActions(Integer gameSelected){ } selectGameToPlay(); + + } // game actions From 83fe952377e96122cbfcebd1e408a000057b300c Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Tue, 5 Nov 2019 15:27:35 -0500 Subject: [PATCH 055/169] commented out cardhand --- src/main/java/io/zipcoder/casino/Player/Player.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/io/zipcoder/casino/Player/Player.java b/src/main/java/io/zipcoder/casino/Player/Player.java index 0ff9aa5f9..e82c8d1dd 100644 --- a/src/main/java/io/zipcoder/casino/Player/Player.java +++ b/src/main/java/io/zipcoder/casino/Player/Player.java @@ -15,7 +15,7 @@ public Player(String ID, String password){ this.ID = ID; this.pwd = password; this.balance = 0.0; - this.cardHand = new CardHand(); + //this.cardHand = new CardHand(); } From 5f262132b653667b7db05ed7782772cefb7bbb55 Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Tue, 5 Nov 2019 15:31:51 -0500 Subject: [PATCH 056/169] cardhand public --- src/main/java/io/zipcoder/casino/Player/Player.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/io/zipcoder/casino/Player/Player.java b/src/main/java/io/zipcoder/casino/Player/Player.java index e82c8d1dd..a08ff9587 100644 --- a/src/main/java/io/zipcoder/casino/Player/Player.java +++ b/src/main/java/io/zipcoder/casino/Player/Player.java @@ -7,7 +7,7 @@ public class Player { String ID; String pwd; double balance; - CardHand cardHand; + public CardHand cardHand; From e6d0f46141ff7d6298f0b52c974d9540913c7765 Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Tue, 5 Nov 2019 15:34:37 -0500 Subject: [PATCH 057/169] Update --- .../java/io/zipcoder/casino/CardGames/GoFish.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java index 0c3182d5e..504762ec3 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java +++ b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java @@ -1,18 +1,29 @@ package io.zipcoder.casino.CardGames; import io.zipcoder.casino.Player.Player; +import io.zipcoder.casino.utilities.Console; import java.util.ArrayList; import java.util.Stack; public class GoFish { - Player user = new Player("1234", "password"); - Deck goFishDeck = new Deck(1); + private int points; + private Player user; + Console input = new Console(System.in, System.out); + //Player user = new Player(); + Deck goFishDeck; + CardHand playerHand; + CardHand computerHand; + boolean winGame = false; Integer pointAccumulated; Integer hasCardQuestion; + public GoFish(Player player) { + this.user = player; + this.points = 0; + } public void startGame(){ From 7b39f445626f4694e503949edd370ff9b4e882ed Mon Sep 17 00:00:00 2001 From: mike Date: Tue, 5 Nov 2019 15:42:47 -0500 Subject: [PATCH 058/169] gofish changes --- .../io/zipcoder/casino/CardGames/CardHand.java | 8 +++++++- .../io/zipcoder/casino/CardGames/GoFish.java | 17 ++++++++++++++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java index 974c44ad6..da54baa55 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java +++ b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java @@ -1,6 +1,8 @@ package io.zipcoder.casino.CardGames; +import javax.print.DocFlavor; import java.util.ArrayList; +import java.util.Collections; public class CardHand { @@ -12,10 +14,14 @@ public CardHand(ArrayList dealtCards){ } public String displayHand(){ + //ollections.sort(userHand); TODO - do this later return userHand.toString(); } - public void evaluateHand(){} + public boolean evaluateHand(String card){ + + return userHand.contains(card); + } public void addCardToHand(Card cardToAdd){ diff --git a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java index f6747be4a..d33d14ccb 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java +++ b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java @@ -33,6 +33,9 @@ public void startGame(){ do{ + playerTurn(); + + }while(winGame == false); @@ -55,7 +58,19 @@ public void initializeHands(){ } - public void playerTurn(){} + public void playerTurn(){ + + System.out.println(playerHand.displayHand()); + + String userInput = input.getStringInput("Which value would you like to ask for? "); + + userInput.toUpperCase(); + + System.out.println(computerHand.evaluateHand(userInput)); + + winGame = true; + + } public void computerTurn(){} From 2d1fd7a0af71de0b4b1a984c8c13989bf5c113bc Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Tue, 5 Nov 2019 15:42:48 -0500 Subject: [PATCH 059/169] refine --- src/main/java/io/zipcoder/casino/App.java | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/App.java b/src/main/java/io/zipcoder/casino/App.java index b0a45ef94..0f853d9ac 100644 --- a/src/main/java/io/zipcoder/casino/App.java +++ b/src/main/java/io/zipcoder/casino/App.java @@ -40,8 +40,7 @@ private void mainMenuActions(Integer userSelection){ switch (userSelection) { case 1: - this.userId = this.menu.getStringInput("Enter your ID:"); - this.userPassword = this.menu.getStringInput("Enter your password:"); + this.menu.println("Logging in ...\n"); if (authenticatePlayer()) { @@ -62,14 +61,14 @@ private void mainMenuActions(Integer userSelection){ break; case 2: this.menu.println("Creating new account ...\n"); - this.userId = this.menu.getStringInput("Enter your ID:"); - this.userPassword = this.menu.getStringInput("Enter your password:"); - - if (authenticatePlayer()) this.menu.println("This user already exists, please log in.\n"); - - createPlayer(); - selectGameToPlay(); + if (authenticatePlayer()){ + this.menu.println("This user already exists, please log in.\n"); + mainMenu(); + } else { + createPlayer(); + selectGameToPlay(); + } break; case 3: @@ -130,6 +129,9 @@ private void selectGameToPlayActions(Integer gameSelected){ private Boolean authenticatePlayer(){ + this.userId = this.menu.getStringInput("Enter your ID:"); + this.userPassword = this.menu.getStringInput("Enter your password:"); + this.newPlayer = warehouse.getPlayer(this.userId+this.userPassword); return this.newPlayer != null; } From 6f6b2e1ff6dfeca17927c8397296e764ea69d9e1 Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Tue, 5 Nov 2019 15:48:17 -0500 Subject: [PATCH 060/169] Added DiceRolleTest --- .../zipcoder/casino/CardGames/BlackJack.java | 2 -- .../io/zipcoder/casino/DiceGames/Yahtzee.java | 18 ++++++++---------- .../YahtzeeTests/EvaluationTest.java | 2 +- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index 01225892b..855968ae7 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -5,8 +5,6 @@ //import javax.smartcardio.Card; - - public class BlackJack { private Player user; private int answerHitOrStay; diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index caa964a75..c76ac590c 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -176,6 +176,14 @@ else if(this.availableOptions[choice].equals(" ")){ return 0; } + public Integer[] getDiceValues(){ + Integer[] values = new Integer[5]; + for(int i = 0; i < this.myDice.length; i++){ + values[i] = this.myDice[i].getValue(); + } + return values; + + } public int checkForFaces(Integer[] diceValues, int valueToLookFor){ int results = 0; @@ -303,16 +311,6 @@ public int checkForYahtzee(Integer[] diceValues){ return 50; } - public Integer[] getDiceValues(){ - Integer[] values = new Integer[5]; - for(int i = 0; i < this.myDice.length; i++){ - values[i] = this.myDice[i].getValue(); - } - return values; - - } - - // getters and setters---------------------------------------------------------------------------------------------- public Player getUser() { diff --git a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java index 3b51c194e..6ed435336 100644 --- a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java +++ b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java @@ -7,6 +7,7 @@ import org.junit.Test; public class EvaluationTest { + Yahtzee detect; @Before @@ -112,7 +113,6 @@ public void getLargeStraight2(){ Assert.assertEquals(expected,actual); } - @Test public void getYahtzee(){ Integer[] thisIsMyDice = {3,3,3,3,3}; From d6843de1286bb84f407021e1d1f826f724044499 Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Tue, 5 Nov 2019 16:04:34 -0500 Subject: [PATCH 061/169] Updating Yahtzee --- src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index c76ac590c..6faf299fa 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -10,13 +10,11 @@ public class Yahtzee implements Game { private Player user; private static Console console = new Console(System.in, System.out); - - private boolean continuePlay; - private Dice[] myDice; int points; private String[] availableOptions = {" ","1s", "2s", "3s", "4s", "5s", "6s", "3 of a kind", "4 of a kind", "Small Straight", "Large Straight", "Full House", "Yahtzee", "Chance"}; + private boolean continuePlay; // Constructor------------------------------------------------------------------------------------------------------ From 4de98946bc2eb00ca64d019cd23d530813d6fcd1 Mon Sep 17 00:00:00 2001 From: mike Date: Tue, 5 Nov 2019 16:14:35 -0500 Subject: [PATCH 062/169] saved gofish --- src/main/java/io/zipcoder/casino/CardGames/GoFish.java | 1 + src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java | 3 ++- .../casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java index d33d14ccb..c4e034b63 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java +++ b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java @@ -61,6 +61,7 @@ public void initializeHands(){ public void playerTurn(){ System.out.println(playerHand.displayHand()); + System.out.println(computerHand.displayHand()); String userInput = input.getStringInput("Which value would you like to ask for? "); diff --git a/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java b/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java index ad4fcf445..711972239 100644 --- a/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java +++ b/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java @@ -1,5 +1,6 @@ package io.zipcoder.casino.CardGames; +import io.zipcoder.casino.Player.Player; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -16,7 +17,7 @@ public void tearDown(){} @Test public void game() { - GoFish newgame = new GoFish(); + GoFish newgame = new GoFish(new Player("i","0")); newgame.startGame(); } diff --git a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java index d83055775..056fe6811 100644 --- a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java +++ b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java @@ -11,7 +11,7 @@ public class EvaluationTest { @Before public void doThisFirst(){ - detect = new Yahtzee(new Player()); + //detect = new Yahtzee(new Player()); } @Test From 0559bf3d4403355b5bb42bc5ec739cf573f535ef Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Tue, 5 Nov 2019 16:19:17 -0500 Subject: [PATCH 063/169] Added DiceRollTests and other Updates --- .../java/io/zipcoder/casino/DiceGames/Dice.java | 13 +++++++++++++ .../io/zipcoder/casino/CardGames/GoFishTest.java | 6 +++--- .../YahtzeeTests/DiceRollTest.java | 16 ++++++++++++++-- 3 files changed, 30 insertions(+), 5 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Dice.java b/src/main/java/io/zipcoder/casino/DiceGames/Dice.java index 186a81a64..0eff46ab7 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Dice.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Dice.java @@ -5,13 +5,21 @@ public class Dice { + + // fields----------------------------------------------------------------------------------------------------------- + private boolean kept; private int value; + // constructor------------------------------------------------------------------------------------------------------ + public Dice(){ kept = false; value = 0; } + + // methods---------------------------------------------------------------------------------------------------------- + public void rollDice(){ this.value = (int)(Math.random() * ((6 - 1) + 1)) + 1; } @@ -20,6 +28,8 @@ public void keptOrRolled(){ kept = !kept; } + // getters and setters---------------------------------------------------------------------------------------------- + public boolean isKept() { return kept; } @@ -31,6 +41,9 @@ public void setKept(boolean kept) { public int getValue() { return value; } + + // toString--------------------------------------------------------------------------------------------------------- + public String toString(){ return String.format("Value: %d : Keeping: %b", value, kept); } diff --git a/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java b/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java index ad4fcf445..cb8a87346 100644 --- a/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java +++ b/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java @@ -16,9 +16,9 @@ public void tearDown(){} @Test public void game() { - GoFish newgame = new GoFish(); - - newgame.startGame(); +// GoFish newgame = new GoFish(); +// +// newgame.startGame(); } } \ No newline at end of file diff --git a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java index 1faa9437f..6ab10b956 100644 --- a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java +++ b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java @@ -1,5 +1,6 @@ package io.zipcoder.casino.DiceGamesTests.YahtzeeTests; +import io.zipcoder.casino.DiceGames.Dice; import io.zipcoder.casino.DiceGames.Yahtzee; import io.zipcoder.casino.Player.Player; import org.junit.Assert; @@ -18,7 +19,7 @@ public void doThisFirst(){ } @Test - public void Test1(){ + public void diceRollTest(){ roller.roll5Dice(); roller.getMyDice(); Integer[] diceValues = roller.getDiceValues(); @@ -27,6 +28,17 @@ public void Test1(){ Assert.assertTrue(s < 7); Assert.assertTrue(s > 0); } - Assert.assertNotEquals(1,0); + } + + @Test + public void checkForKeepsTest(){ + roller.roll5Dice(); + Dice[] dice = roller.getMyDice(); + + for(int i = 0; i < roller.getMyDice().length; i++){ + Assert.assertFalse(dice[i].isKept()); + } + dice[1].setKept(true); + Assert.assertTrue(dice[1].isKept()); } } From 60bb62dbc135da19e3dec5fe330c38aa65eae82d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kwam=C3=A8=20Warrick?= Date: Tue, 5 Nov 2019 16:31:19 -0500 Subject: [PATCH 064/169] Changes to craps --- .../java/io/zipcoder/casino/DiceGames/Craps.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java index 479ee79ed..3d9b31248 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java @@ -1,26 +1,34 @@ package io.zipcoder.casino.DiceGames; +import io.zipcoder.casino.Interfaces.GamblingGame; import io.zipcoder.casino.Interfaces.GamblingPlayer; +import io.zipcoder.casino.Interfaces.Game; +import io.zipcoder.casino.utilities.Console; + +public class Craps implements Game, GamblingGame,GamblingPlayer { + + public Craps crapsGame = new + + private static Console console = new Console(System.in, System.out); -public class Craps{ private String[] availableOptionsCrapsNames = {"Roll the Die ","YO Levine the Dancing Queen", "Place Your Bets", "Winner Winner Chicken Dinner", "Nina Nina from Pasedena"}; public void user(){} public void diceValues (){} public void currentRolledNumber(){} - public void targetNumber(){} + public void PointNumber(){} public void startGame(){} public int [] roll (int[] diceValues){ return null; } - public void distributeWinnings(){} public void evaluateDiceValue (){} public void promptLeaveGame(){} public void displayResults(){} + public void placeWage() { - + } } From 5d0e1a89d92c70c8f4848ea55fe36924a7338ec3 Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Tue, 5 Nov 2019 17:22:41 -0500 Subject: [PATCH 065/169] Bug fixes for Yahtzee Class and more DiceRollTests --- .../io/zipcoder/casino/DiceGames/Yahtzee.java | 2 +- .../YahtzeeTests/DiceRollTest.java | 23 +++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index 6faf299fa..992b58493 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -334,4 +334,4 @@ public int getPoints() { public void setPoints(int points) { this.points = points; } -} +} \ No newline at end of file diff --git a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java index 6ab10b956..11bc020e0 100644 --- a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java +++ b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java @@ -3,6 +3,7 @@ import io.zipcoder.casino.DiceGames.Dice; import io.zipcoder.casino.DiceGames.Yahtzee; import io.zipcoder.casino.Player.Player; +import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -41,4 +42,26 @@ public void checkForKeepsTest(){ dice[1].setKept(true); Assert.assertTrue(dice[1].isKept()); } + + @Test + public void resetTest(){ + roller.roll5Dice(); + Dice[] dice = roller.getMyDice(); + + for(int i = 0; i < roller.getMyDice().length; i++){ + dice[i].setKept(true); + Assert.assertTrue(dice[i].isKept()); + } + + roller.resetDice(); + + for(int i = 0; i < roller.getMyDice().length; i++){ + Assert.assertFalse(dice[i].isKept()); + } + } + + @After + public void doThisLast(){ + + } } From 1dc4db17d9a8a3eeac487502fdbe6702b2c9de3a Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Tue, 5 Nov 2019 18:00:20 -0500 Subject: [PATCH 066/169] worked w/ Mike --- .../zipcoder/casino/Interfaces/GamblingPlayer.java | 2 +- .../io/zipcoder/casino/Player/GamblingPlayer.java | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/Interfaces/GamblingPlayer.java b/src/main/java/io/zipcoder/casino/Interfaces/GamblingPlayer.java index f3225d17e..2e5745a23 100644 --- a/src/main/java/io/zipcoder/casino/Interfaces/GamblingPlayer.java +++ b/src/main/java/io/zipcoder/casino/Interfaces/GamblingPlayer.java @@ -2,5 +2,5 @@ public interface GamblingPlayer { - String placeWage(double wager); + Boolean placeWage(double wager); } diff --git a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java index 0f512d30a..df689eb72 100644 --- a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java +++ b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java @@ -3,18 +3,20 @@ public class GamblingPlayer implements io.zipcoder.casino.Interfaces.GamblingPlayer { Player gambler; + Double pot; public GamblingPlayer(Player user){ this.gambler = user; } - public String placeWage(double wageAmount) { - if(gambler.balance < wageAmount) {return "You can't afford that bet";} + public Boolean placeWage(double wageAmount) { + if(gambler.balance < wageAmount) {return false;} else {gambler.balance -= wageAmount; - return "Betting done";} + this.pot = wageAmount; + return true;} } - public void getWinnings(double winnings){ - gambler.balance += winnings; + public void getWinnings(){ + gambler.balance += pot * 2; } } From 990121b72a925babbea0fa371db6fe01b93916cb Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Tue, 5 Nov 2019 18:05:24 -0500 Subject: [PATCH 067/169] Quality improvement to the display in Yahtzee --- .../io/zipcoder/casino/DiceGames/Yahtzee.java | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index 992b58493..bfa8a4560 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -29,10 +29,13 @@ public Yahtzee(Player player){ public void startGame(){ + console.println("Welcome to Yahtzee!"); + while(continuePlay) { for (int i = 0; i < 13; i++) { beginDiceRolls(); - checkForEvaluation(); + int pointsAdded = checkForEvaluation(); + updateScore(pointsAdded); } displayResults(); promptLeaveGame(); @@ -48,6 +51,12 @@ public Dice[] createDice(){ return dice; } + private void updateScore(int pointsAdded) { + console.println("points added: " + pointsAdded); + this.points += pointsAdded; + console.println("Your current score is: " + this.points); + } + public void displayResults(){ console.println("Your final score is: " + this.getPoints()); } @@ -73,15 +82,22 @@ public void promptLeaveGame(){ } } - // Following methods for rolling dice and choosing which ones to keep----------------------------------------------- + // Following methods are for rolling dice and choosing which ones to keep------------------------------------------- public void beginDiceRolls(){ resetDice(); + console.getStringInput("Press enter to make your first roll."); + console.println("First roll results:\n"); roll5Dice(); chooseToKeep(); + console.getStringInput("Press enter to make your first roll."); + console.println("First roll results:\n"); roll5Dice(); chooseToKeep(); + console.getStringInput("Press enter to make your final roll."); + console.println("Final roll results:\n"); roll5Dice(); + console.getStringInput("Press enter to continue."); } public void resetDice(){ From 7891f0cef6e1e7c4654df40beeabfe359eddb27d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kwam=C3=A8=20Warrick?= Date: Tue, 5 Nov 2019 18:07:06 -0500 Subject: [PATCH 068/169] craps update --- .../io/zipcoder/casino/DiceGames/Craps.java | 39 ++++++++++--------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java index 3d9b31248..c974d0262 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java @@ -1,34 +1,37 @@ package io.zipcoder.casino.DiceGames; import io.zipcoder.casino.Interfaces.GamblingGame; -import io.zipcoder.casino.Interfaces.GamblingPlayer; import io.zipcoder.casino.Interfaces.Game; +import io.zipcoder.casino.Player.GamblingPlayer; +import io.zipcoder.casino.Player.Player; import io.zipcoder.casino.utilities.Console; -public class Craps implements Game, GamblingGame,GamblingPlayer { +public class Craps implements Game, GamblingGame { - public Craps crapsGame = new + private Dice[] crapsDice; - private static Console console = new Console(System.in, System.out); + private GamblingPlayer crapsPlayer; - private String[] availableOptionsCrapsNames = {"Roll the Die ","YO Levine the Dancing Queen", "Place Your Bets", - "Winner Winner Chicken Dinner", "Nina Nina from Pasedena"}; + public Craps(Player player) { + this.crapsPlayer = new GamblingPlayer(player); - public void user(){} - public void diceValues (){} - public void currentRolledNumber(){} - public void PointNumber(){} - public void startGame(){} - public int [] roll (int[] diceValues){ - return null; } - public void distributeWinnings(){} - public void evaluateDiceValue (){} - public void promptLeaveGame(){} - public void displayResults(){} + private boolean continuePlay; - public void placeWage() { + public void startGame() { + } + + public void promptLeaveGame() { + + } + + + public void displayResults() { + } + + + public void distributeWinnings() { } } From 550f23b87d479561461ad261334706bfd1c5304f Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Tue, 5 Nov 2019 18:26:53 -0500 Subject: [PATCH 069/169] minor tweaks --- src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java index df689eb72..dbb6f3ce4 100644 --- a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java +++ b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java @@ -3,7 +3,7 @@ public class GamblingPlayer implements io.zipcoder.casino.Interfaces.GamblingPlayer { Player gambler; - Double pot; + Double pot = 0.0; public GamblingPlayer(Player user){ this.gambler = user; @@ -12,7 +12,7 @@ public GamblingPlayer(Player user){ public Boolean placeWage(double wageAmount) { if(gambler.balance < wageAmount) {return false;} else {gambler.balance -= wageAmount; - this.pot = wageAmount; + this.pot += wageAmount; return true;} } From 1c3c903881bd6b8a1925ae508120a96117975836 Mon Sep 17 00:00:00 2001 From: mike Date: Tue, 5 Nov 2019 18:27:50 -0500 Subject: [PATCH 070/169] added numerous methods for blackjack --- .../zipcoder/casino/CardGames/BlackJack.java | 90 +++++++++++++++---- .../zipcoder/casino/CardGames/CardHand.java | 2 +- 2 files changed, 75 insertions(+), 17 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index 01225892b..37152ae6a 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -1,48 +1,106 @@ package io.zipcoder.casino.CardGames; +import io.zipcoder.casino.Interfaces.GamblingGame; +import io.zipcoder.casino.Player.GamblingPlayer; import io.zipcoder.casino.Player.Player; +import io.zipcoder.casino.utilities.Console; -//import javax.smartcardio.Card; +import java.sql.SQLOutput; +//import javax.smartcardio.Card; +public class BlackJack implements GamblingGame { + Console input = new Console(System.in, System.out); + GamblingPlayer gamblingPlayer; + CardHand gamblingPlayerHand; + Deck blackJackDeck; + CardHand computerHand; + boolean winGame = false; -public class BlackJack { - private Player user; private int answerHitOrStay; private int wageBucket; - private int blackJackDeck; + private Card card; + + + public BlackJack(Player user) { + this.gamblingPlayer = new GamblingPlayer(user); + } + + + public void startGame() { + promptUserForWagerAmount(); + initializeblackJackHands(); - public BlackJack(Player player) { - this.user = player; } - public void startGame() {} - public void promptHitOrStay(){ + public void initializeblackJackHands() { + + blackJackDeck = new Deck(1); + blackJackDeck.shuffleDeck(); + gamblingPlayerHand = new CardHand(blackJackDeck.dealCards(2)); + computerHand = new CardHand(blackJackDeck.dealCards(2)); + + } - public void dealerHitOrStay(){} // - public void hit(Player deck, Player player) {} +// String placeWage(double wager){ - public void stay(){} - public void distributeWinnings(){} + void promptUserForWagerAmount() { + double userWageAmount = input.getDoubleInput("How much would you like to wager?"); + gamblingPlayer.placeWage(userWageAmount); + } - public void checkCardValue(Card firstCard, Card secondCard){} - public void getWinner (CardHand dealer, CardHand player){} + public Integer blackJackValueFromRank(Card card) { + Integer blackJackValue = null; + if (card.getRank() == Rank.JACK || card.getRank() == Rank.QUEEN || card.getRank() == Rank.KING) { + blackJackValue = 10; + } else if (card.getRank() == Rank.ACE) { + blackJackValue = 11; + } else { + blackJackValue = Integer.valueOf(card.getRank().toString()); + } return blackJackValue; + } + - public void promptLeaveGame() {} + public void promptHitOrStay() { + System.out.println(gamblingPlayerHand.displayHand()); + System.out.println(computerHand.displayHand()); - public void displayResults() {} + int userInput = input.getIntegerInput("Would you like to hit or stay?"); + } + public void dealerHitOrStay() { + } // + public void hit(Player deck, Player player) { + } + + public void stay() { + } + + public void distributeWinnings() { + } + + public void checkCardValue(Card firstCard, Card secondCard) { + } + + public void getWinner(CardHand dealer, CardHand player) { + } + + public void promptLeaveGame() { + } + + public void displayResults() { + } } diff --git a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java index da54baa55..4d78bb0ba 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java +++ b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java @@ -14,7 +14,7 @@ public CardHand(ArrayList dealtCards){ } public String displayHand(){ - //ollections.sort(userHand); TODO - do this later + //Collections.sort(userHand); TODO - do this later return userHand.toString(); } From 00bb03e91fee129458662c64701f9b577d8e8119 Mon Sep 17 00:00:00 2001 From: Maira Botelho Date: Tue, 5 Nov 2019 18:27:57 -0500 Subject: [PATCH 071/169] changes on go fish --- .../zipcoder/casino/CardGames/CardHand.java | 52 ++++++++++++++++--- .../io/zipcoder/casino/CardGames/Deck.java | 12 +---- .../io/zipcoder/casino/CardGames/GoFish.java | 42 +++++++-------- .../zipcoder/casino/CardGames/DeckTest.java | 2 +- 4 files changed, 66 insertions(+), 42 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java index da54baa55..5f290501a 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java +++ b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java @@ -1,41 +1,77 @@ package io.zipcoder.casino.CardGames; -import javax.print.DocFlavor; import java.util.ArrayList; -import java.util.Collections; public class CardHand { ArrayList userHand = new ArrayList(); + public CardHand(ArrayList dealtCards){ userHand.addAll(dealtCards); } + public String displayHand(){ //ollections.sort(userHand); TODO - do this later return userHand.toString(); } - public boolean evaluateHand(String card){ + public boolean lookForCard(String wantedCard){ + + for(Card card : userHand) { + if (card.toString().contains(wantedCard)) + return true; + } - return userHand.contains(card); + return false; } - public void addCardToHand(Card cardToAdd){ + public ArrayList removeCardsFromHand(String cardToRemove){ + + ArrayList tradingCards = new ArrayList(); + + + for(Card card : userHand) { + if (card.toString().contains(cardToRemove)) { + Card temp = card; + userHand.remove(card); + tradingCards.add(temp); + } + + } + + return tradingCards; - userHand.add(cardToAdd); } + public void tradeCards(ArrayList cardsToTrade){ + userHand.addAll(cardsToTrade); + } - public void removeCardFromHand(Card cardToRemove){ + public void getCardFromDeck(Card cardToAdd){ + userHand.add(cardToAdd); } - public void getCardFromDeck(int numberOfCards){ + /*public boolean evaluateHand(){ + int counter = 0; + + for(Card checkCard : userHand){ + for (Card card : userHand){ + if(checkCard == card){ + counter++; + } + } + if(counter == 4){ + return true; + } + } +*/ + return false; } diff --git a/src/main/java/io/zipcoder/casino/CardGames/Deck.java b/src/main/java/io/zipcoder/casino/CardGames/Deck.java index e7883bc02..86cc2c19b 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/Deck.java +++ b/src/main/java/io/zipcoder/casino/CardGames/Deck.java @@ -20,6 +20,7 @@ public Deck(int numberOfDecks){ } } + public Stack shuffleDeck(){ Collections.shuffle(deckOfCards); @@ -27,17 +28,6 @@ public Stack shuffleDeck(){ } - public void print(){ - - System.out.println(shuffleDeck().toString()); - System.out.println(deckOfCards.size()); - System.out.println(drawCard()); -<<<<<<< HEAD -======= - System.out.println(drawCard()); ->>>>>>> dev - } - public ArrayList dealCards(int numberOfCards){ ArrayList dealingCards = new ArrayList(); diff --git a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java index c4e034b63..b6c9b9a1b 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java +++ b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java @@ -10,38 +10,38 @@ public class GoFish implements Game { - private int points; private Player user; + Console input = new Console(System.in, System.out); - //Player user = new Player(); Deck goFishDeck; CardHand playerHand; CardHand computerHand; boolean winGame = false; - Integer pointAccumulated; - Integer hasCardQuestion; public GoFish(Player player) { this.user = player; - this.points = 0; + } public void startGame(){ initializeHands(); + System.out.println("Loading Go Fish...."); + do{ + System.out.println("Player's Turn"); playerTurn(); + //System.out.println("Computer's Turn"); + //computerTurn(); - }while(winGame == false); - /*System.out.println("Player 1: " + playerHand.displayHand()); - System.out.println("Player 2: " + computerHand.displayHand());*/ + }while(winGame != true); } @@ -61,39 +61,37 @@ public void initializeHands(){ public void playerTurn(){ System.out.println(playerHand.displayHand()); - System.out.println(computerHand.displayHand()); String userInput = input.getStringInput("Which value would you like to ask for? "); - userInput.toUpperCase(); - System.out.println(computerHand.evaluateHand(userInput)); - - winGame = true; + if(computerHand.lookForCard(userInput) == true){ - } + System.out.println("The computer has this card"); - public void computerTurn(){} + playerHand.tradeCards(computerHand.removeCardsFromHand(userInput)); - public boolean askForCard(Player thisPlayer, String card){ + }else{ + System.out.println("Go Fish!"); + playerHand.getCardFromDeck(goFishDeck.drawCard()); + } - return false; - } + System.out.println(playerHand.displayHand()); - public void tradeCards(ArrayList fromPlayer, ArrayList toPlayer){ + //System.out.println(playerHand.evaluateHand()); } - public void displayCards(CardHand currentPlayer){ - } + public void computerTurn(){ + - public void dropCards (Player playerToDrop){ } + public void promptLeaveGame(){ } diff --git a/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java b/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java index 03bd945fe..a09b84a99 100644 --- a/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java +++ b/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java @@ -18,6 +18,6 @@ public void tearDown(){} @Test public void printDeck(){ Deck newDeck = new Deck(1); - newDeck.print(); + //newDeck.print(); } } \ No newline at end of file From 55a6c4a578c94b51881e66cc251ad2e4aacac34d Mon Sep 17 00:00:00 2001 From: Maira Botelho Date: Tue, 5 Nov 2019 18:52:48 -0500 Subject: [PATCH 072/169] new changes on go fish --- .../java/io/zipcoder/casino/CardGames/CardHand.java | 12 +++++++----- .../java/io/zipcoder/casino/CardGames/GoFish.java | 6 ++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java index 5f290501a..f97d207bc 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java +++ b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java @@ -55,22 +55,24 @@ public void getCardFromDeck(Card cardToAdd){ userHand.add(cardToAdd); } - /*public boolean evaluateHand(){ + public boolean evaluateHand(){ int counter = 0; for(Card checkCard : userHand){ + counter = 0; for (Card card : userHand){ - if(checkCard == card){ + if(checkCard.getRank() == card.getRank()){ counter++; } - } - if(counter == 4){ + if(counter == 2){ return true; } + + } -*/ + return false; } diff --git a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java index b6c9b9a1b..a6d112999 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java +++ b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java @@ -34,6 +34,7 @@ public void startGame(){ System.out.println("Player's Turn"); playerTurn(); + winGame = playerHand.evaluateHand(); //System.out.println("Computer's Turn"); @@ -41,7 +42,7 @@ public void startGame(){ - }while(winGame != true); + }while(winGame == false); } @@ -80,9 +81,6 @@ public void playerTurn(){ System.out.println(playerHand.displayHand()); - //System.out.println(playerHand.evaluateHand()); - - } public void computerTurn(){ From 8c4fd695a78105553323407ab184201cd875e4fa Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Tue, 5 Nov 2019 18:57:36 -0500 Subject: [PATCH 073/169] add argument --- src/main/java/io/zipcoder/casino/App.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/io/zipcoder/casino/App.java b/src/main/java/io/zipcoder/casino/App.java index 0f853d9ac..c5e1d7f3a 100644 --- a/src/main/java/io/zipcoder/casino/App.java +++ b/src/main/java/io/zipcoder/casino/App.java @@ -112,7 +112,7 @@ private void selectGameToPlayActions(Integer gameSelected){ newBlackJack.startGame(); break; case 4: - Craps newCraps = new Craps(); + Craps newCraps = new Craps(this.newPlayer); newCraps.startGame(); case 5: mainMenu(); From fcdb732f7f4a8df13628484a093f2ec4d017c97b Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Tue, 5 Nov 2019 19:01:48 -0500 Subject: [PATCH 074/169] player wageGood added --- .../java/io/zipcoder/casino/Interfaces/GamblingPlayer.java | 2 +- .../java/io/zipcoder/casino/Player/GamblingPlayer.java | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/Interfaces/GamblingPlayer.java b/src/main/java/io/zipcoder/casino/Interfaces/GamblingPlayer.java index 2e5745a23..c3a20a6c4 100644 --- a/src/main/java/io/zipcoder/casino/Interfaces/GamblingPlayer.java +++ b/src/main/java/io/zipcoder/casino/Interfaces/GamblingPlayer.java @@ -2,5 +2,5 @@ public interface GamblingPlayer { - Boolean placeWage(double wager); + void placeWage(double wager); } diff --git a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java index dbb6f3ce4..fbc8f56af 100644 --- a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java +++ b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java @@ -3,17 +3,18 @@ public class GamblingPlayer implements io.zipcoder.casino.Interfaces.GamblingPlayer { Player gambler; + Boolean wageGood; Double pot = 0.0; public GamblingPlayer(Player user){ this.gambler = user; } - public Boolean placeWage(double wageAmount) { - if(gambler.balance < wageAmount) {return false;} + public void placeWage(double wageAmount) { + if(gambler.balance < wageAmount) {this.wageGood = false;} else {gambler.balance -= wageAmount; this.pot += wageAmount; - return true;} + this.wageGood = true;} } public void getWinnings(){ From c3bec3f1a21e383b15a1adf45fe490d90e15c390 Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Tue, 5 Nov 2019 19:15:47 -0500 Subject: [PATCH 075/169] Update --- src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index bfa8a4560..4879b9ead 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -136,7 +136,6 @@ public void chooseToKeep(){ } } - // Following methods are for evaluating the dice at the end of three rolls------------------------------------------ public int checkForEvaluation(){ From b270ab1c1183c362aa9476ba29ce3694835a245e Mon Sep 17 00:00:00 2001 From: mike Date: Tue, 5 Nov 2019 19:16:49 -0500 Subject: [PATCH 076/169] add bj caluclator with alumni ben --- .../zipcoder/casino/CardGames/BlackJack.java | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index ca934699c..20cd14cb8 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -36,6 +36,7 @@ public void startGame() { promptUserForWagerAmount(); initializeblackJackHands(); + } @@ -46,21 +47,28 @@ public void initializeblackJackHands() { gamblingPlayerHand = new CardHand(blackJackDeck.dealCards(2)); computerHand = new CardHand(blackJackDeck.dealCards(2)); - - } // String placeWage(double wager){ - void promptUserForWagerAmount() { + public void promptUserForWagerAmount() { double userWageAmount = input.getDoubleInput("How much would you like to wager?"); gamblingPlayer.placeWage(userWageAmount); + if(gamblingPlayer.) + } + + public Integer checkHandValue (CardHand hand){ + Integer handValue = 0; + for(int i = 0; i < hand.userHand.size(); i++){ + handValue = handValue+ translateBlackJackValueFromRank(hand.userHand.get(i)); + + } } - public Integer blackJackValueFromRank(Card card) { + public Integer translateBlackJackValueFromRank(Card card) { Integer blackJackValue = null; if (card.getRank() == Rank.JACK || card.getRank() == Rank.QUEEN || card.getRank() == Rank.KING) { blackJackValue = 10; @@ -68,7 +76,14 @@ public Integer blackJackValueFromRank(Card card) { blackJackValue = 11; } else { blackJackValue = Integer.valueOf(card.getRank().toString()); - } return blackJackValue; + } + return blackJackValue; + + } + + public void calculateBlackJackHand(Integer blackJackValue) { + + } From e61e58d4fd351556ebf17bd85f96154206afaedf Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Tue, 5 Nov 2019 19:18:46 -0500 Subject: [PATCH 077/169] undid changesclear --- .../java/io/zipcoder/casino/Interfaces/GamblingPlayer.java | 2 +- .../java/io/zipcoder/casino/Player/GamblingPlayer.java | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/Interfaces/GamblingPlayer.java b/src/main/java/io/zipcoder/casino/Interfaces/GamblingPlayer.java index c3a20a6c4..2e5745a23 100644 --- a/src/main/java/io/zipcoder/casino/Interfaces/GamblingPlayer.java +++ b/src/main/java/io/zipcoder/casino/Interfaces/GamblingPlayer.java @@ -2,5 +2,5 @@ public interface GamblingPlayer { - void placeWage(double wager); + Boolean placeWage(double wager); } diff --git a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java index fbc8f56af..7a6f22518 100644 --- a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java +++ b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java @@ -3,18 +3,17 @@ public class GamblingPlayer implements io.zipcoder.casino.Interfaces.GamblingPlayer { Player gambler; - Boolean wageGood; Double pot = 0.0; public GamblingPlayer(Player user){ this.gambler = user; } - public void placeWage(double wageAmount) { - if(gambler.balance < wageAmount) {this.wageGood = false;} + public Boolean placeWage(double wageAmount) { + if(gambler.balance < wageAmount) {return false;} else {gambler.balance -= wageAmount; this.pot += wageAmount; - this.wageGood = true;} + return true;} } public void getWinnings(){ From fcc96bf7dacdfd384235110f80f90c934a820874 Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Tue, 5 Nov 2019 19:18:58 -0500 Subject: [PATCH 078/169] uhhh --- .../io/zipcoder/casino/Interfaces/GamblingPlayer.java | 2 +- .../java/io/zipcoder/casino/Player/GamblingPlayer.java | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/Interfaces/GamblingPlayer.java b/src/main/java/io/zipcoder/casino/Interfaces/GamblingPlayer.java index 2e5745a23..0742d6d7c 100644 --- a/src/main/java/io/zipcoder/casino/Interfaces/GamblingPlayer.java +++ b/src/main/java/io/zipcoder/casino/Interfaces/GamblingPlayer.java @@ -2,5 +2,5 @@ public interface GamblingPlayer { - Boolean placeWage(double wager); + Boolean placeWager(double wager); } diff --git a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java index 7a6f22518..483a23c52 100644 --- a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java +++ b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java @@ -9,10 +9,10 @@ public GamblingPlayer(Player user){ this.gambler = user; } - public Boolean placeWage(double wageAmount) { - if(gambler.balance < wageAmount) {return false;} - else {gambler.balance -= wageAmount; - this.pot += wageAmount; + public Boolean placeWager(double wagerAmount) { + if(gambler.balance < wagerAmount) {return false;} + else {gambler.balance -= wagerAmount; + this.pot += wagerAmount; return true;} } From e71730501a05bb9643c3cb34abedccdf23f09545 Mon Sep 17 00:00:00 2001 From: mike Date: Tue, 5 Nov 2019 19:40:49 -0500 Subject: [PATCH 079/169] minor changes to hand calculator --- .../io/zipcoder/casino/CardGames/BlackJack.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index 20cd14cb8..b3f0025fa 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -1,9 +1,11 @@ package io.zipcoder.casino.CardGames; +import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput; import io.zipcoder.casino.Interfaces.GamblingGame; import io.zipcoder.casino.Player.GamblingPlayer; import io.zipcoder.casino.Player.Player; import io.zipcoder.casino.utilities.Console; +import org.w3c.dom.ls.LSOutput; import java.sql.SQLOutput; @@ -54,17 +56,18 @@ public void initializeblackJackHands() { public void promptUserForWagerAmount() { - double userWageAmount = input.getDoubleInput("How much would you like to wager?"); - gamblingPlayer.placeWage(userWageAmount); - if(gamblingPlayer.) + double userWagerAmount = input.getDoubleInput("How much would you like to wager?"); + gamblingPlayer.placeWage(userWagerAmount); + while(!placeWager) { + userWagerAmount = input.getDoubleInput("Wager exceeds your balance. Please wage a smaller amount."); + } } public Integer checkHandValue (CardHand hand){ Integer handValue = 0; for(int i = 0; i < hand.userHand.size(); i++){ handValue = handValue+ translateBlackJackValueFromRank(hand.userHand.get(i)); - - } + } return handValue; } From e353ada6352c4adcbcec9babb0599cb0cdc40776 Mon Sep 17 00:00:00 2001 From: Maira Botelho Date: Tue, 5 Nov 2019 19:45:42 -0500 Subject: [PATCH 080/169] changes on go fish --- .../zipcoder/casino/CardGames/CardHand.java | 64 ------------- .../io/zipcoder/casino/CardGames/GoFish.java | 95 +++++++++++++++---- 2 files changed, 75 insertions(+), 84 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java index f97d207bc..6eea0dd81 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java +++ b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java @@ -13,68 +13,4 @@ public CardHand(ArrayList dealtCards){ } - public String displayHand(){ - //ollections.sort(userHand); TODO - do this later - return userHand.toString(); - } - - public boolean lookForCard(String wantedCard){ - - for(Card card : userHand) { - if (card.toString().contains(wantedCard)) - return true; - } - - return false; - } - - public ArrayList removeCardsFromHand(String cardToRemove){ - - ArrayList tradingCards = new ArrayList(); - - - for(Card card : userHand) { - if (card.toString().contains(cardToRemove)) { - Card temp = card; - userHand.remove(card); - tradingCards.add(temp); - } - - } - - return tradingCards; - - } - - public void tradeCards(ArrayList cardsToTrade){ - userHand.addAll(cardsToTrade); - } - - public void getCardFromDeck(Card cardToAdd){ - - userHand.add(cardToAdd); - } - - public boolean evaluateHand(){ - int counter = 0; - - for(Card checkCard : userHand){ - counter = 0; - for (Card card : userHand){ - if(checkCard.getRank() == card.getRank()){ - counter++; - } - } - - if(counter == 2){ - return true; - } - - - } - - return false; - } - - } diff --git a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java index a6d112999..3a14e44b9 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java +++ b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java @@ -22,11 +22,18 @@ public class GoFish implements Game { public GoFish(Player player) { this.user = player; + //initialize deck and shuffle + goFishDeck = new Deck(1); + goFishDeck.shuffleDeck(); + + //initialize players' hand and deal cards + playerHand = new CardHand(goFishDeck.dealCards(5)); + computerHand = new CardHand(goFishDeck.dealCards(5)); + } public void startGame(){ - initializeHands(); System.out.println("Loading Go Fish...."); @@ -34,7 +41,7 @@ public void startGame(){ System.out.println("Player's Turn"); playerTurn(); - winGame = playerHand.evaluateHand(); + winGame = evaluateHand(playerHand); //System.out.println("Computer's Turn"); @@ -46,49 +53,97 @@ public void startGame(){ } - public void initializeHands(){ - - //initialize deck and shuffle - goFishDeck = new Deck(1); - goFishDeck.shuffleDeck(); - - //initialize players' hand and deal cards - playerHand = new CardHand(goFishDeck.dealCards(5)); - computerHand = new CardHand(goFishDeck.dealCards(5)); - - - } public void playerTurn(){ - System.out.println(playerHand.displayHand()); + System.out.println(displayHand(playerHand)); String userInput = input.getStringInput("Which value would you like to ask for? "); userInput.toUpperCase(); - if(computerHand.lookForCard(userInput) == true){ + if(haveCard(computerHand, userInput) == true){ System.out.println("The computer has this card"); - - playerHand.tradeCards(computerHand.removeCardsFromHand(userInput)); + tradeCards(computerHand, userInput, playerHand); }else{ System.out.println("Go Fish!"); - playerHand.getCardFromDeck(goFishDeck.drawCard()); + goFishForCard(playerHand); } - System.out.println(playerHand.displayHand()); + System.out.println(displayHand(playerHand)); } public void computerTurn(){ + } + + + + + public void tradeCards(CardHand tradingHand, String cardToRemove, CardHand receivingHand){ + ArrayList tradingCards = new ArrayList(); + + for(Card card : tradingHand.userHand) { + if (card.toString().contains(cardToRemove)) { + Card temp = card; + tradingHand.userHand.remove(card); + tradingCards.add(temp); + } + + } + + receivingHand.userHand.addAll(tradingCards); + + } + + public boolean haveCard(CardHand opponent, String wantedCard){ + + for(Card card : opponent.userHand) { + if (card.toString().contains(wantedCard)) + return true; + } + + return false; + } + + public void goFishForCard(CardHand hand){ + + hand.userHand.add(goFishDeck.drawCard()); } + public String displayHand(CardHand hand){ + + return hand.userHand.toString(); + } + + public boolean evaluateHand(CardHand hand){ + int counter = 0; + + for(Card checkCard : hand.userHand){ + counter = 0; + for (Card card : hand.userHand){ + if(checkCard.getRank() == card.getRank()){ + counter++; + } + } + + if(counter == 2){ + return true; + } + + + } + + return false; + } + + public void promptLeaveGame(){ From a78910e01516dd6fb07d18735aeb7fe5e3192431 Mon Sep 17 00:00:00 2001 From: mike Date: Tue, 5 Nov 2019 20:18:07 -0500 Subject: [PATCH 081/169] no major changes --- src/main/java/io/zipcoder/casino/CardGames/BlackJack.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index b3f0025fa..d3d57a573 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -57,9 +57,13 @@ public void initializeblackJackHands() { public void promptUserForWagerAmount() { double userWagerAmount = input.getDoubleInput("How much would you like to wager?"); - gamblingPlayer.placeWage(userWagerAmount); - while(!placeWager) { + + + boolean wagerAmountSuccessful = gamblingPlayer.placeWager(userWagerAmount); + + while(!wagerAmountSuccessful) { userWagerAmount = input.getDoubleInput("Wager exceeds your balance. Please wage a smaller amount."); + wagerAmountSuccessful = gamblingPlayer.placeWager(userWagerAmount); } } From 6493b3308600e70028106b00aadea6666a99c40f Mon Sep 17 00:00:00 2001 From: mike Date: Tue, 5 Nov 2019 22:41:22 -0500 Subject: [PATCH 082/169] started on check for ace methds --- .../zipcoder/casino/CardGames/BlackJack.java | 65 ++++++++++--------- 1 file changed, 36 insertions(+), 29 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index d3d57a573..6e8767398 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -12,7 +12,6 @@ //import javax.smartcardio.Card; - public class BlackJack implements GamblingGame { Console input = new Console(System.in, System.out); GamblingPlayer gamblingPlayer; @@ -22,6 +21,7 @@ public class BlackJack implements GamblingGame { boolean winGame = false; + private Player user; private int answerHitOrStay; @@ -37,60 +37,67 @@ public BlackJack(Player user) { public void startGame() { promptUserForWagerAmount(); initializeblackJackHands(); + checkHandForAce(gamblingPlayerHand); + checkHandForAce(computerHand); + checkHandValue(gamblingPlayerHand); + checkHandValue(computerHand); - } - - public void initializeblackJackHands() { - - blackJackDeck = new Deck(1); - blackJackDeck.shuffleDeck(); - gamblingPlayerHand = new CardHand(blackJackDeck.dealCards(2)); - computerHand = new CardHand(blackJackDeck.dealCards(2)); } - -// String placeWage(double wager){ - - public void promptUserForWagerAmount() { double userWagerAmount = input.getDoubleInput("How much would you like to wager?"); - - boolean wagerAmountSuccessful = gamblingPlayer.placeWager(userWagerAmount); - - while(!wagerAmountSuccessful) { + while (!wagerAmountSuccessful) { userWagerAmount = input.getDoubleInput("Wager exceeds your balance. Please wage a smaller amount."); wagerAmountSuccessful = gamblingPlayer.placeWager(userWagerAmount); } } - public Integer checkHandValue (CardHand hand){ - Integer handValue = 0; - for(int i = 0; i < hand.userHand.size(); i++){ - handValue = handValue+ translateBlackJackValueFromRank(hand.userHand.get(i)); - } return handValue; + public void initializeblackJackHands() { + + blackJackDeck = new Deck(1); + blackJackDeck.shuffleDeck(); + gamblingPlayerHand = new CardHand(blackJackDeck.dealCards(2)); + computerHand = new CardHand(blackJackDeck.dealCards(2)); } + public Integer checkHandValue(CardHand hand) { + Integer handValue = 0; + for (int i = 0; i < hand.userHand.size(); i++) { + handValue = handValue + translateBlackJackValueFromRank(hand.userHand.get(i)); + } + return handValue; + } public Integer translateBlackJackValueFromRank(Card card) { - Integer blackJackValue = null; + Integer blackJacHandValue = null; if (card.getRank() == Rank.JACK || card.getRank() == Rank.QUEEN || card.getRank() == Rank.KING) { - blackJackValue = 10; + blackJacHandValue = 10; } else if (card.getRank() == Rank.ACE) { - blackJackValue = 11; + blackJacHandValue = 11; } else { - blackJackValue = Integer.valueOf(card.getRank().toString()); + blackJacHandValue = Integer.valueOf(card.getRank().toString()); } - return blackJackValue; - + return blackJacHandValue; } - public void calculateBlackJackHand(Integer blackJackValue) { + public Integer checkScore(Integer blackJackHandValue) { + if(blackJackHandValue > 21 && checkHandForAce()) { + if + } + + } + public boolean checkHandForAce(CardHand hand) { + for (int i = 0; i < hand.userHand.size(); i++) { + if(card.getRank() == Rank.ACE) { + return true; + } + } return false; } From 22dac4c84c40b614d1efd899cd3d1b84ad36cdea Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Wed, 6 Nov 2019 08:55:10 -0500 Subject: [PATCH 083/169] 9am --- src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java index 483a23c52..d43b2f5be 100644 --- a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java +++ b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java @@ -10,6 +10,7 @@ public GamblingPlayer(Player user){ } public Boolean placeWager(double wagerAmount) { + if(gambler.balance < wagerAmount) {return false;} else {gambler.balance -= wagerAmount; this.pot += wagerAmount; From d0322cd6ab66306cc95cedb6c90fde1e9fc06fe0 Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Wed, 6 Nov 2019 09:02:15 -0500 Subject: [PATCH 084/169] privated and protected some stuff --- .../java/io/zipcoder/casino/Player/GamblingPlayer.java | 4 ++-- src/main/java/io/zipcoder/casino/Player/Player.java | 9 ++++----- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java index d43b2f5be..51e00cd7b 100644 --- a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java +++ b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java @@ -2,8 +2,8 @@ public class GamblingPlayer implements io.zipcoder.casino.Interfaces.GamblingPlayer { - Player gambler; - Double pot = 0.0; + private Player gambler; + private Double pot = 0.0; public GamblingPlayer(Player user){ this.gambler = user; diff --git a/src/main/java/io/zipcoder/casino/Player/Player.java b/src/main/java/io/zipcoder/casino/Player/Player.java index a08ff9587..d5d8563ab 100644 --- a/src/main/java/io/zipcoder/casino/Player/Player.java +++ b/src/main/java/io/zipcoder/casino/Player/Player.java @@ -4,10 +4,10 @@ public class Player { - String ID; - String pwd; - double balance; - public CardHand cardHand; + protected String ID; + protected String pwd; + protected double balance; + @@ -15,7 +15,6 @@ public Player(String ID, String password){ this.ID = ID; this.pwd = password; this.balance = 0.0; - //this.cardHand = new CardHand(); } From f5c939feda7ceccd3f17be437b05bc1580638f48 Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Wed, 6 Nov 2019 09:22:39 -0500 Subject: [PATCH 085/169] Fixed error coming from switch statements --- .../io/zipcoder/casino/DiceGames/Yahtzee.java | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index 4879b9ead..bebe747e2 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -65,12 +65,12 @@ public void promptLeaveGame(){ String exitOrNo = console.getStringInput("Would you like to play again?\n1. Play again\n2. Exit"); boolean c = false; while (!c) { - switch (exitOrNo.toLowerCase()) { - case "1": case "play": case "play again": + switch (exitOrNo.charAt(0)) { + case '1': case 'p': case 'P': this.continuePlay = true; c = true; break; - case "2": case "exit": + case '2': case 'e': case 'E': this.continuePlay = false; c = true; break; @@ -90,14 +90,13 @@ public void beginDiceRolls(){ console.println("First roll results:\n"); roll5Dice(); chooseToKeep(); - console.getStringInput("Press enter to make your first roll."); + console.getStringInput("Press enter to make your second roll."); console.println("First roll results:\n"); roll5Dice(); chooseToKeep(); console.getStringInput("Press enter to make your final roll."); console.println("Final roll results:\n"); roll5Dice(); - console.getStringInput("Press enter to continue."); } public void resetDice(){ @@ -124,14 +123,14 @@ public void chooseToKeep(){ "switch it between keeping and re-rolling.\n" + "Type 'continue' when finished\n"); - switch (keepthis){ - case "1": this.myDice[0].keptOrRolled(); break; - case "2": this.myDice[1].keptOrRolled(); break; - case "3": this.myDice[2].keptOrRolled(); break; - case "4": this.myDice[3].keptOrRolled(); break; - case "5": this.myDice[4].keptOrRolled(); break; - case "continue": keepthis = "roll"; break; - default: break; + switch (keepthis.charAt(0)){ + case '1': this.myDice[0].keptOrRolled(); break; + case '2': this.myDice[1].keptOrRolled(); break; + case '3': this.myDice[2].keptOrRolled(); break; + case '4': this.myDice[3].keptOrRolled(); break; + case '5': this.myDice[4].keptOrRolled(); break; + case 'c': keepthis = "roll"; break; + default: break; } } } From 5f06bec4c57a770116bce441715be6c70d15bd89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kwam=C3=A8=20Warrick?= Date: Wed, 6 Nov 2019 09:23:50 -0500 Subject: [PATCH 086/169] craps --- .../io/zipcoder/casino/DiceGames/Craps.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java index c974d0262..62a52fb86 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java @@ -7,19 +7,36 @@ import io.zipcoder.casino.utilities.Console; public class Craps implements Game, GamblingGame { + public static void main(String[] args) { + } private Dice[] crapsDice; + private GamblingPlayer crapsPlayer; + private Console console; + + + //------------- Constructor---------------------------- public Craps(Player player) { this.crapsPlayer = new GamblingPlayer(player); + this.crapsDice = createDice(); } + //------------------------------------------------------ + public Dice[] createDice() { + Dice[] dice = new Dice[2]; + for (int i = 0; i < dice.length; i++) { + dice[i] = new Dice(); + } + return dice; + } + - private boolean continuePlay; public void startGame() { + } public void promptLeaveGame() { @@ -28,6 +45,7 @@ public void promptLeaveGame() { public void displayResults() { + console. } From c6db04a254f2808783c5bcc433b481a64ae75f93 Mon Sep 17 00:00:00 2001 From: mike Date: Wed, 6 Nov 2019 09:29:35 -0500 Subject: [PATCH 087/169] changes to checkforacesmethod --- .../zipcoder/casino/CardGames/BlackJack.java | 99 ++++++++++++++++--- 1 file changed, 87 insertions(+), 12 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index 6e8767398..c8cd2c5bd 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -22,6 +22,7 @@ public class BlackJack implements GamblingGame { + private Player user; private int answerHitOrStay; @@ -33,12 +34,83 @@ public BlackJack(Player user) { this.gamblingPlayer = new GamblingPlayer(user); } + public GamblingPlayer getGamblingPlayer() { + return gamblingPlayer; + } + + public void setGamblingPlayer(GamblingPlayer gamblingPlayer) { + this.gamblingPlayer = gamblingPlayer; + } + + public CardHand getGamblingPlayerHand() { + return gamblingPlayerHand; + } + + public void setGamblingPlayerHand(CardHand gamblingPlayerHand) { + this.gamblingPlayerHand = gamblingPlayerHand; + } + + public Deck getBlackJackDeck() { + return blackJackDeck; + } + + public void setBlackJackDeck(Deck blackJackDeck) { + this.blackJackDeck = blackJackDeck; + } + + public CardHand getComputerHand() { + return computerHand; + } + + public void setComputerHand(CardHand computerHand) { + this.computerHand = computerHand; + } + + public boolean isWinGame() { + return winGame; + } + + public void setWinGame(boolean winGame) { + this.winGame = winGame; + } + + public Player getUser() { + return user; + } + + public void setUser(Player user) { + this.user = user; + } + + public int getAnswerHitOrStay() { + return answerHitOrStay; + } + + public void setAnswerHitOrStay(int answerHitOrStay) { + this.answerHitOrStay = answerHitOrStay; + } + + public int getWageBucket() { + return wageBucket; + } + + public void setWageBucket(int wageBucket) { + this.wageBucket = wageBucket; + } + + public Card getCard() { + return card; + } + + public void setCard(Card card) { + this.card = card; + } public void startGame() { promptUserForWagerAmount(); initializeblackJackHands(); - checkHandForAce(gamblingPlayerHand); - checkHandForAce(computerHand); + checkHandForAces(gamblingPlayerHand); + checkHandForAces(computerHand); checkHandValue(gamblingPlayerHand); checkHandValue(computerHand); @@ -84,20 +156,23 @@ public Integer translateBlackJackValueFromRank(Card card) { return blackJacHandValue; } - public Integer checkScore(Integer blackJackHandValue) { - if(blackJackHandValue > 21 && checkHandForAce()) { - if - - } - - } +// public Integer checkScore(Integer blackJackHandValue, Integer numberOfAces) { +// if(blackJackHandValue > 21) { +// if(checkHandForAces(CardHand hand) > 0) { +// +// } +// +// } +// +// } - public boolean checkHandForAce(CardHand hand) { + public Integer checkHandForAces(CardHand hand) { + Integer aceCounter = 0; for (int i = 0; i < hand.userHand.size(); i++) { if(card.getRank() == Rank.ACE) { - return true; + aceCounter++; } - } return false; + } return aceCounter; } From 58ddfd3e88575481403469c3c6ea5b8d067dd51f Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Wed, 6 Nov 2019 09:34:31 -0500 Subject: [PATCH 088/169] to pull --- src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java | 3 ++- src/main/java/io/zipcoder/casino/Player/Player.java | 5 +---- src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java | 3 +-- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java index 51e00cd7b..fe144e645 100644 --- a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java +++ b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java @@ -1,5 +1,7 @@ package io.zipcoder.casino.Player; + +//Class Starts public class GamblingPlayer implements io.zipcoder.casino.Interfaces.GamblingPlayer { private Player gambler; @@ -10,7 +12,6 @@ public GamblingPlayer(Player user){ } public Boolean placeWager(double wagerAmount) { - if(gambler.balance < wagerAmount) {return false;} else {gambler.balance -= wagerAmount; this.pot += wagerAmount; diff --git a/src/main/java/io/zipcoder/casino/Player/Player.java b/src/main/java/io/zipcoder/casino/Player/Player.java index d5d8563ab..51951bc4e 100644 --- a/src/main/java/io/zipcoder/casino/Player/Player.java +++ b/src/main/java/io/zipcoder/casino/Player/Player.java @@ -1,7 +1,6 @@ package io.zipcoder.casino.Player; -import io.zipcoder.casino.CardGames.CardHand; - +//Class Starts public class Player { protected String ID; @@ -9,8 +8,6 @@ public class Player { protected double balance; - - public Player(String ID, String password){ this.ID = ID; this.pwd = password; diff --git a/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java b/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java index acc68d0ad..dd89333be 100644 --- a/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java +++ b/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java @@ -1,8 +1,7 @@ package io.zipcoder.casino.Player; - -import java.util.ArrayList; import java.util.HashMap; +//Class Starts public class PlayerWarehouse { private HashMap warehouse; From 00af9ee869d5f083a13e6ea117f1da4acb8c08f5 Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Wed, 6 Nov 2019 09:55:01 -0500 Subject: [PATCH 089/169] refine user experience --- src/main/java/io/zipcoder/casino/App.java | 30 ++++++++++++++++++----- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/App.java b/src/main/java/io/zipcoder/casino/App.java index c5e1d7f3a..040658777 100644 --- a/src/main/java/io/zipcoder/casino/App.java +++ b/src/main/java/io/zipcoder/casino/App.java @@ -8,6 +8,8 @@ import io.zipcoder.casino.Player.PlayerWarehouse; import io.zipcoder.casino.utilities.Console; +import java.util.concurrent.TimeUnit; + public class App { private Console menu; @@ -21,7 +23,7 @@ public void App (){ this.menu = new Console(System.in,System.out); this.menu.print("Welcome to Casino 5! \n\n"); - + pause(1000); mainMenu(); // log in ... } @@ -40,13 +42,18 @@ private void mainMenuActions(Integer userSelection){ switch (userSelection) { case 1: - - this.menu.println("Logging in ...\n"); - + this.menu.print("Logging in ."); + pause(500); + this.menu.print("."); + pause(500); + this.menu.print(".\n\n"); + //this.menu.println("Logging in ...\n"); + pause(500); if (authenticatePlayer()) { selectGameToPlay(); } else { this.menu.print("We could not find this user. Please try again!\n\n"); + pause(500); counter++; this.userId = ""; this.userPassword = ""; @@ -61,7 +68,7 @@ private void mainMenuActions(Integer userSelection){ break; case 2: this.menu.println("Creating new account ...\n"); - + pause(500); if (authenticatePlayer()){ this.menu.println("This user already exists, please log in.\n"); mainMenu(); @@ -86,6 +93,8 @@ private void mainMenuActions(Integer userSelection){ private void selectGameToPlay() { int userInput; + pause(500); + menu.println("You are now logged in - enjoy the ride!\n"); userInput = menu.getIntegerInput("Please select game to play\n" + "1.) Go Fish\n" + "2.) Yahtzee\n" + @@ -97,8 +106,8 @@ private void selectGameToPlay() { } // select game private void selectGameToPlayActions(Integer gameSelected){ + pause(1000); switch (gameSelected){ - case 1: GoFish newGoFish = new GoFish(this.newPlayer); newGoFish.startGame(); @@ -129,6 +138,7 @@ private void selectGameToPlayActions(Integer gameSelected){ private Boolean authenticatePlayer(){ + pause(1); this.userId = this.menu.getStringInput("Enter your ID:"); this.userPassword = this.menu.getStringInput("Enter your password:"); @@ -141,4 +151,12 @@ private void createPlayer(){ this.newPlayer = warehouse.getPlayer(this.userId+this.userPassword); } + private void pause (int miliSeconds){ + try { + TimeUnit.MILLISECONDS.sleep(miliSeconds); + } catch (InterruptedException e){ + System.out.println(e.getMessage()); + } + } + } // class From 581427fc5c4287e346c58ff5de44e8adf1ea99dd Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Wed, 6 Nov 2019 10:24:43 -0500 Subject: [PATCH 090/169] More bug fixes for Yahtzee --- .../io/zipcoder/casino/DiceGames/Dice.java | 2 +- .../io/zipcoder/casino/DiceGames/Yahtzee.java | 59 +++++++++---------- .../YahtzeeTests/EvaluationTest.java | 41 +++++++++---- 3 files changed, 58 insertions(+), 44 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Dice.java b/src/main/java/io/zipcoder/casino/DiceGames/Dice.java index 0eff46ab7..a1c1dea88 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Dice.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Dice.java @@ -45,7 +45,7 @@ public int getValue() { // toString--------------------------------------------------------------------------------------------------------- public String toString(){ - return String.format("Value: %d : Keeping: %b", value, kept); + return String.format(this.value + ", "); } public static ArrayList playerDice = new ArrayList(5); diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index bebe747e2..b20ec4a5b 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -28,13 +28,12 @@ public Yahtzee(Player player){ // Methods---------------------------------------------------------------------------------------------------------- public void startGame(){ - console.println("Welcome to Yahtzee!"); while(continuePlay) { for (int i = 0; i < 13; i++) { beginDiceRolls(); - int pointsAdded = checkForEvaluation(); + int pointsAdded = checkForEvaluation(chooseEvaluation(), getDiceValues()); updateScore(pointsAdded); } displayResults(); @@ -51,6 +50,14 @@ public Dice[] createDice(){ return dice; } + public Integer[] getDiceValues(){ + Integer[] values = new Integer[5]; + for(int i = 0; i < this.myDice.length; i++){ + values[i] = this.myDice[i].getValue(); + } + return values; + } + private void updateScore(int pointsAdded) { console.println("points added: " + pointsAdded); this.points += pointsAdded; @@ -62,9 +69,13 @@ public void displayResults(){ } public void promptLeaveGame(){ - String exitOrNo = console.getStringInput("Would you like to play again?\n1. Play again\n2. Exit"); + String exitOrNo; boolean c = false; while (!c) { + + exitOrNo = console.getStringInput("Would you like to play again?\n1. Play again\n2. Exit"); + if(exitOrNo.equals("")){ exitOrNo = " "; } + switch (exitOrNo.charAt(0)) { case '1': case 'p': case 'P': this.continuePlay = true; @@ -76,7 +87,6 @@ public void promptLeaveGame(){ break; default: console.println("Please choose one of the options."); - exitOrNo = console.getStringInput("Would you like to play again?\n1. Play again\n2. Exit"); break; } } @@ -122,6 +132,7 @@ public void chooseToKeep(){ keepthis = console.getStringInput("Type the corresponding number of the dice and press enter to " + "switch it between keeping and re-rolling.\n" + "Type 'continue' when finished\n"); + if(keepthis.equals("")){ keepthis = " "; } switch (keepthis.charAt(0)){ case '1': this.myDice[0].keptOrRolled(); break; @@ -137,21 +148,18 @@ public void chooseToKeep(){ // Following methods are for evaluating the dice at the end of three rolls------------------------------------------ - public int checkForEvaluation(){ + public int chooseEvaluation(){ int choice = 0; - boolean evaluated = false; - Integer[] diceValues = getDiceValues(); + boolean goodChoice = false; - for(int i = 1; i < availableOptions.length; i++){ - console.println((i) + ". " + availableOptions[i]); - } + for(int i = 1; i < availableOptions.length; i++) { console.println((i) + ". " + availableOptions[i]); } - while(!evaluated){ + while(!goodChoice){ try{ for(Dice s: this.myDice){ - console.println(s.toString()); + console.print(s.toString()); } - choice = console.getIntegerInput("Which one do you want to choose? "); + choice = console.getIntegerInput("\n\nWhich one do you want to choose? "); if(choice == 0){} else if(choice < 1 || choice > 13){ console.println("Please pick an option within the bounds."); @@ -161,7 +169,7 @@ else if(this.availableOptions[choice].equals(" ")){ } else{ availableOptions[choice] = " "; - evaluated = true; + goodChoice = true; } } catch(Exception NumberFormatException){ @@ -169,6 +177,10 @@ else if(this.availableOptions[choice].equals(" ")){ choice = 0; } } + return choice; + } + + public int checkForEvaluation(int choice,Integer[] diceValues){ switch (choice){ case 1: return checkForFaces(diceValues, 1); @@ -184,17 +196,8 @@ else if(this.availableOptions[choice].equals(" ")){ case 11: return checkForFullHouse(diceValues); case 12: return checkForYahtzee(diceValues); case 13: return chance(diceValues); + default: return 0; } - return 0; - } - - public Integer[] getDiceValues(){ - Integer[] values = new Integer[5]; - for(int i = 0; i < this.myDice.length; i++){ - values[i] = this.myDice[i].getValue(); - } - return values; - } public int checkForFaces(Integer[] diceValues, int valueToLookFor){ @@ -238,9 +241,8 @@ public int checkFor4Kind(Integer[] diceValues){ counter++; } } - if(counter >= 4){ - return this.chance(diceValues); - } + + if(counter >= 4){ return this.chance(diceValues); } } return 0; } @@ -282,11 +284,8 @@ public int checkForSmallStraight(Integer[]diceValues){ if((found1 && found2 && found3 && found4)|| (found2 && found3 && found4 && found5)|| (found3 && found4 && found5 && found6)){ - return 30; } - - return 0; } diff --git a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java index dd38c9662..7deeca201 100644 --- a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java +++ b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java @@ -23,24 +23,14 @@ public void getFacePointsTest(){ int actual = detect.checkForFaces(thisIsMyDice, 1); int expected = 4; Assert.assertEquals(expected,actual); - Integer[] thisIsMyDice2 = {1,5,5,5,5}; - int expected2 = 20; - int actual2 = detect.checkForFaces(thisIsMyDice2, 5); - Assert.assertEquals(expected2,actual2); - } @Test - public void getChanceValueTest(){ - Integer[] thisIsMyDice = {1,1,1,1,5}; - int actual = detect.chance(thisIsMyDice); - int expected = 9; - Assert.assertEquals(expected,actual); + public void getFacePointsTest2(){ Integer[] thisIsMyDice2 = {1,5,5,5,5}; - int expected2 = 21; - int actual2 = detect.chance(thisIsMyDice2); + int actual2 = detect.checkForFaces(thisIsMyDice2, 5); + int expected2 = 20; Assert.assertEquals(expected2,actual2); - } @Test @@ -67,6 +57,14 @@ public void get4Kind(){ Assert.assertEquals(expected,actual); } + @Test + public void get4Kind2(){ + Integer[] thisIsMyDice2 = {2,4,2,2,1}; + int expected2 = 0; + int actual2 = detect.checkFor4Kind(thisIsMyDice2); + Assert.assertEquals(expected2,actual2); + } + @Test public void getFullHouse(){ Integer[] thisIsMyDice = {4,1,4,4,1}; @@ -130,4 +128,21 @@ public void getYahtzee2(){ int actual = detect.checkForYahtzee(thisIsMyDice); Assert.assertEquals(expected,actual); } + + @Test + public void getChanceValueTest(){ + Integer[] thisIsMyDice = {2,1,1,1,5}; + int actual = detect.chance(thisIsMyDice); + int expected = 10; + Assert.assertEquals(expected,actual); + + } + + @Test + public void getChanceValueTest2(){ + Integer[] thisIsMyDice2 = {1,5,4,5,5}; + int actual2 = detect.chance(thisIsMyDice2); + int expected2 = 20; + Assert.assertEquals(expected2,actual2); + } } From b03cc08c1638a386b2e5b92282942a735b8343b8 Mon Sep 17 00:00:00 2001 From: mike Date: Wed, 6 Nov 2019 10:27:17 -0500 Subject: [PATCH 091/169] finished completing ace value logic --- .../zipcoder/casino/CardGames/BlackJack.java | 40 ++++++++++++------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index c8cd2c5bd..4cbf5b24a 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -1,5 +1,6 @@ package io.zipcoder.casino.CardGames; +import com.sun.xml.internal.bind.v2.TODO; import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput; import io.zipcoder.casino.Interfaces.GamblingGame; import io.zipcoder.casino.Player.GamblingPlayer; @@ -21,8 +22,6 @@ public class BlackJack implements GamblingGame { boolean winGame = false; - - private Player user; private int answerHitOrStay; @@ -113,8 +112,7 @@ public void startGame() { checkHandForAces(computerHand); checkHandValue(gamblingPlayerHand); checkHandValue(computerHand); - - + checkScore(checkHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)); } @@ -141,6 +139,7 @@ public Integer checkHandValue(CardHand hand) { for (int i = 0; i < hand.userHand.size(); i++) { handValue = handValue + translateBlackJackValueFromRank(hand.userHand.get(i)); } + return handValue; } @@ -156,23 +155,34 @@ public Integer translateBlackJackValueFromRank(Card card) { return blackJacHandValue; } -// public Integer checkScore(Integer blackJackHandValue, Integer numberOfAces) { -// if(blackJackHandValue > 21) { -// if(checkHandForAces(CardHand hand) > 0) { -// -// } -// -// } -// -// } public Integer checkHandForAces(CardHand hand) { Integer aceCounter = 0; for (int i = 0; i < hand.userHand.size(); i++) { - if(card.getRank() == Rank.ACE) { + if (card.getRank() == Rank.ACE) { aceCounter++; } - } return aceCounter; + } + return aceCounter; + } + + public Integer checkScore(Integer blackJackHandValue, Integer numberOfAces) { + if (numberOfAces == 1 && blackJackHandValue > 21) { + blackJackHandValue = blackJackHandValue - 10; + } else if (numberOfAces == 2 && blackJackHandValue > 21) { + if (blackJackHandValue - 10 <= 21) { + blackJackHandValue = blackJackHandValue - 10; + } else { + blackJackHandValue = blackJackHandValue - 20; + } + } else if (numberOfAces == 3 && blackJackHandValue > 21) { + if (blackJackHandValue - 20 <= 21) { + blackJackHandValue = blackJackHandValue - 20; + } else { + blackJackHandValue = blackJackHandValue - 30; + } + } + return blackJackHandValue; } From 9c0fb83fd7de3b18abd3c1641b5b4f8b917de2e9 Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Wed, 6 Nov 2019 10:40:57 -0500 Subject: [PATCH 092/169] Add test for deal cards --- .../io/zipcoder/casino/CardGames/DeckTest.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java b/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java index a09b84a99..e60c3a3c3 100644 --- a/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java +++ b/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java @@ -1,9 +1,13 @@ package io.zipcoder.casino.CardGames; import org.junit.After; +import org.junit.Assert; import org.junit.Before; import org.junit.Test; +import java.util.ArrayList; +import java.util.List; + import static org.junit.Assert.*; @@ -16,8 +20,14 @@ public void setUp(){} public void tearDown(){} @Test - public void printDeck(){ + public void testDealCards(){ Deck newDeck = new Deck(1); - //newDeck.print(); + List cardList = new ArrayList<>(); + cardList = newDeck.dealCards(2); + + int expected = 2; + int actual = cardList.size(); + + Assert.assertEquals(expected,actual); } } \ No newline at end of file From 721209a2a020349b570a1c5db56d5f6dc0923b05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kwam=C3=A8=20Warrick?= Date: Wed, 6 Nov 2019 10:47:02 -0500 Subject: [PATCH 093/169] craps almost done --- .../io/zipcoder/casino/DiceGames/Craps.java | 81 +++++++++++++++---- 1 file changed, 65 insertions(+), 16 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java index 62a52fb86..a49de6558 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java @@ -1,55 +1,104 @@ package io.zipcoder.casino.DiceGames; import io.zipcoder.casino.Interfaces.GamblingGame; -import io.zipcoder.casino.Interfaces.Game; import io.zipcoder.casino.Player.GamblingPlayer; import io.zipcoder.casino.Player.Player; import io.zipcoder.casino.utilities.Console; -public class Craps implements Game, GamblingGame { - public static void main(String[] args) { - } - private Dice[] crapsDice; +public class Craps implements GamblingGame { + private Dice[] crapsDice; private GamblingPlayer crapsPlayer; - - private Console console; - + private Console console; + private boolean continuePlay; + private boolean winGame; + private Integer turn; + private Integer targetScore; //------------- Constructor---------------------------- public Craps(Player player) { this.crapsPlayer = new GamblingPlayer(player); this.crapsDice = createDice(); + this.console = new Console(System.in, System.out); + this.continuePlay = true; + this.turn = 0; } + //------------------------------------------------------ public Dice[] createDice() { - Dice[] dice = new Dice[2]; - for (int i = 0; i < dice.length; i++) { - dice[i] = new Dice(); + Dice[] crapsDice = new Dice[2]; + for (int i = 0; i < crapsDice.length; i++) { + crapsDice[i] = new Dice(); } - return dice; + return crapsDice; } - public void startGame() { + do { + promptUserForWagerAmount(); + createDice(); + crapsRoll(); + evaluateRoll(); + turn++; + } + while (continuePlay == true); } - public void promptLeaveGame() { + public void crapsRoll() { + for (Dice s : this.crapsDice) { + s.rollDice(); + } + } + + public void evaluateRoll() { + int sum = crapsDice[0].getValue() + crapsDice[1].getValue(); + if (turn == 0) { + if (sum == 7 || sum == 11) { + crapsPlayer.getWinnings(); + continuePlay = false; + + } else if (sum == 2 || sum == 3 || sum == 12) { + continuePlay = false; + } else { + targetScore = sum; + } + } else { + if (sum == 7) { + continuePlay = false; + } else if (sum == targetScore) { + crapsPlayer.getWinnings(); + continuePlay = false; + } + + + } + } + + + public void promptUserForWagerAmount() { + double userWagerAmount = console.getDoubleInput("How much would you like to wager?"); + boolean wagerAmountSuccessful = crapsPlayer.placeWager(userWagerAmount); + while (!wagerAmountSuccessful) { + userWagerAmount = console.getDoubleInput("Wager exceeds your balance. Please wage a smaller amount."); + wagerAmountSuccessful = crapsPlayer.placeWager(userWagerAmount); + } + } + + + public void promptLeaveGame() { } public void displayResults() { - console. } public void distributeWinnings() { - } } From 174d7c92c8b8ac296f508b19c6befe42df6f92ed Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Wed, 6 Nov 2019 10:48:11 -0500 Subject: [PATCH 094/169] Add test for shuffle deck --- .../zipcoder/casino/CardGames/DeckTest.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java b/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java index e60c3a3c3..1fde25ea0 100644 --- a/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java +++ b/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java @@ -7,6 +7,7 @@ import java.util.ArrayList; import java.util.List; +import java.util.Stack; import static org.junit.Assert.*; @@ -30,4 +31,23 @@ public void testDealCards(){ Assert.assertEquals(expected,actual); } + + @Test + public void testShuffleDeck(){ + Deck newDeck = new Deck(1); + Card cardStack = new Card(); + Stack newStack= new Stack<>(); + + newStack = newDeck.shuffleDeck(); + + for (int i = 0; i < newStack.size(); i++) { + System.out.println(newStack.get(i)); + } + + int expected = 52; + int actual = newStack.size(); + + Assert.assertEquals(expected,actual); + } + } \ No newline at end of file From bce0833ff41dec102605dae00cb3d56e3ae67fa7 Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Wed, 6 Nov 2019 10:50:25 -0500 Subject: [PATCH 095/169] minor tweaks --- .../io/zipcoder/casino/DiceGames/Yahtzee.java | 254 ++++++++++-------- .../casino/Player/GamblingPlayer.java | 13 +- .../io/zipcoder/casino/Player/Player.java | 2 +- .../casino/Player/PlayerWarehouse.java | 9 +- 4 files changed, 163 insertions(+), 115 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index 6faf299fa..f249f8ff3 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -12,13 +12,13 @@ public class Yahtzee implements Game { private static Console console = new Console(System.in, System.out); private Dice[] myDice; int points; - private String[] availableOptions = {" ","1s", "2s", "3s", "4s", "5s", "6s", "3 of a kind", "4 of a kind", - "Small Straight", "Large Straight", "Full House", "Yahtzee", "Chance"}; + private String[] availableOptions = {" ", "1s", "2s", "3s", "4s", "5s", "6s", "3 of a kind", "4 of a kind", + "Small Straight", "Large Straight", "Full House", "Yahtzee", "Chance"}; private boolean continuePlay; // Constructor------------------------------------------------------------------------------------------------------ - public Yahtzee(Player player){ + public Yahtzee(Player player) { this.user = player; this.myDice = createDice(); this.points = 0; @@ -27,41 +27,46 @@ public Yahtzee(Player player){ // Methods---------------------------------------------------------------------------------------------------------- - public void startGame(){ + public void startGame() { - while(continuePlay) { + while (continuePlay) { for (int i = 0; i < 13; i++) { beginDiceRolls(); checkForEvaluation(); } displayResults(); promptLeaveGame(); - if (!this.continuePlay) { return; } + if (!this.continuePlay) { + return; + } } } - public Dice[] createDice(){ + public Dice[] createDice() { Dice[] dice = new Dice[5]; - for(int i = 0; i < dice.length; i++){ + for (int i = 0; i < dice.length; i++) { dice[i] = new Dice(); } return dice; } - public void displayResults(){ + public void displayResults() { console.println("Your final score is: " + this.getPoints()); } - public void promptLeaveGame(){ + public void promptLeaveGame() { String exitOrNo = console.getStringInput("Would you like to play again?\n1. Play again\n2. Exit"); boolean c = false; while (!c) { switch (exitOrNo.toLowerCase()) { - case "1": case "play": case "play again": + case "1": + case "play": + case "play again": this.continuePlay = true; c = true; break; - case "2": case "exit": + case "2": + case "exit": this.continuePlay = false; c = true; break; @@ -75,7 +80,7 @@ public void promptLeaveGame(){ // Following methods for rolling dice and choosing which ones to keep----------------------------------------------- - public void beginDiceRolls(){ + public void beginDiceRolls() { resetDice(); roll5Dice(); chooseToKeep(); @@ -84,38 +89,51 @@ public void beginDiceRolls(){ roll5Dice(); } - public void resetDice(){ - for(int i = 0; i < myDice.length; i++){ + public void resetDice() { + for (int i = 0; i < myDice.length; i++) { myDice[i].setKept(false); } } - public void roll5Dice(){ - for(Dice s : this.myDice){ - if(!s.isKept()){ + public void roll5Dice() { + for (Dice s : this.myDice) { + if (!s.isKept()) { s.rollDice(); } } } - public void chooseToKeep(){ + public void chooseToKeep() { String keepthis = ""; - while(!keepthis.toLowerCase().equals("roll")) { + while (!keepthis.toLowerCase().equals("roll")) { for (int i = 0; i < this.myDice.length; i++) { console.print((i + 1) + ". " + this.myDice[i].getValue() + " : " + this.myDice[i].isKept() + "\n"); } keepthis = console.getStringInput("Type the corresponding number of the dice and press enter to " + - "switch it between keeping and re-rolling.\n" + - "Type 'continue' when finished\n"); - - switch (keepthis){ - case "1": this.myDice[0].keptOrRolled(); break; - case "2": this.myDice[1].keptOrRolled(); break; - case "3": this.myDice[2].keptOrRolled(); break; - case "4": this.myDice[3].keptOrRolled(); break; - case "5": this.myDice[4].keptOrRolled(); break; - case "continue": keepthis = "roll"; break; - default: break; + "switch it between keeping and re-rolling.\n" + + "Type 'continue' when finished\n"); + + switch (keepthis) { + case "1": + this.myDice[0].keptOrRolled(); + break; + case "2": + this.myDice[1].keptOrRolled(); + break; + case "3": + this.myDice[2].keptOrRolled(); + break; + case "4": + this.myDice[3].keptOrRolled(); + break; + case "5": + this.myDice[4].keptOrRolled(); + break; + case "continue": + keepthis = "roll"; + break; + default: + break; } } } @@ -123,125 +141,137 @@ public void chooseToKeep(){ // Following methods are for evaluating the dice at the end of three rolls------------------------------------------ - public int checkForEvaluation(){ + public int checkForEvaluation() { int choice = 0; boolean evaluated = false; Integer[] diceValues = getDiceValues(); - for(int i = 1; i < availableOptions.length; i++){ + for (int i = 1; i < availableOptions.length; i++) { console.println((i) + ". " + availableOptions[i]); } - while(!evaluated){ - try{ - for(Dice s: this.myDice){ + while (!evaluated) { + try { + for (Dice s : this.myDice) { console.println(s.toString()); } choice = console.getIntegerInput("Which one do you want to choose? "); - if(choice == 0){} - else if(choice < 1 || choice > 13){ + if (choice == 0) { + } else if (choice < 1 || choice > 13) { console.println("Please pick an option within the bounds."); - } - else if(this.availableOptions[choice].equals(" ")){ + } else if (this.availableOptions[choice].equals(" ")) { console.println("Box already picked. Please choose again."); - } - else{ + } else { availableOptions[choice] = " "; evaluated = true; } - } - catch(Exception NumberFormatException){ + } catch (Exception NumberFormatException) { console.println("Please enter a number."); choice = 0; } } - switch (choice){ - case 1: return checkForFaces(diceValues, 1); - case 2: return checkForFaces(diceValues, 2); - case 3: return checkForFaces(diceValues, 3); - case 4: return checkForFaces(diceValues, 4); - case 5: return checkForFaces(diceValues, 5); - case 6: return checkForFaces(diceValues, 6); - case 7: return checkFor3Kind(diceValues); - case 8: return checkFor4Kind(diceValues); - case 9: return checkForSmallStraight(diceValues); - case 10: return checkForLargeStraight(diceValues); - case 11: return checkForFullHouse(diceValues); - case 12: return checkForYahtzee(diceValues); - case 13: return chance(diceValues); + switch (choice) { + case 1: + return checkForFaces(diceValues, 1); + case 2: + return checkForFaces(diceValues, 2); + case 3: + return checkForFaces(diceValues, 3); + case 4: + return checkForFaces(diceValues, 4); + case 5: + return checkForFaces(diceValues, 5); + case 6: + return checkForFaces(diceValues, 6); + case 7: + return checkFor3Kind(diceValues); + case 8: + return checkFor4Kind(diceValues); + case 9: + return checkForSmallStraight(diceValues); + case 10: + return checkForLargeStraight(diceValues); + case 11: + return checkForFullHouse(diceValues); + case 12: + return checkForYahtzee(diceValues); + case 13: + return chance(diceValues); } return 0; } - public Integer[] getDiceValues(){ + public Integer[] getDiceValues() { Integer[] values = new Integer[5]; - for(int i = 0; i < this.myDice.length; i++){ + for (int i = 0; i < this.myDice.length; i++) { values[i] = this.myDice[i].getValue(); } return values; } - public int checkForFaces(Integer[] diceValues, int valueToLookFor){ + public int checkForFaces(Integer[] diceValues, int valueToLookFor) { int results = 0; - for(int i = 0; i < diceValues.length; i++){ - if(diceValues[i] == valueToLookFor){ + for (int i = 0; i < diceValues.length; i++) { + if (diceValues[i] == valueToLookFor) { results += valueToLookFor; } } return results; } - public int chance(Integer[] diceValues){ + public int chance(Integer[] diceValues) { int points = 0; - for(int i = 0; i < diceValues.length; i++){ + for (int i = 0; i < diceValues.length; i++) { points += diceValues[i]; } return points; } - public int checkFor3Kind(Integer[] diceValues){ + public int checkFor3Kind(Integer[] diceValues) { int counter; - for(int i = 0; i < diceValues.length - 2; i++){ + for (int i = 0; i < diceValues.length - 2; i++) { counter = 1; - for(int j = i + 1; j < diceValues.length; j++){ - if(diceValues[i] == diceValues[j]){ + for (int j = i + 1; j < diceValues.length; j++) { + if (diceValues[i] == diceValues[j]) { counter++; } } - if(counter >= 3){ return this.chance(diceValues); } + if (counter >= 3) { + return this.chance(diceValues); + } } return 0; } - public int checkFor4Kind(Integer[] diceValues){ + public int checkFor4Kind(Integer[] diceValues) { int counter; - for(int i = 0; i < diceValues.length - 3; i++){ + for (int i = 0; i < diceValues.length - 3; i++) { counter = 1; - for(int j = i + 1; j < diceValues.length; j++){ - if(diceValues[i] == diceValues[j]){ + for (int j = i + 1; j < diceValues.length; j++) { + if (diceValues[i] == diceValues[j]) { counter++; } } - if(counter >= 4){ + if (counter >= 4) { return this.chance(diceValues); } } return 0; } - public int checkForFullHouse(Integer[] diceValues){ - if(this.checkFor3Kind(diceValues) != 0){ + public int checkForFullHouse(Integer[] diceValues) { + if (this.checkFor3Kind(diceValues) != 0) { int counter; - for(int i = 0; i < diceValues.length - 2; i++){ + for (int i = 0; i < diceValues.length - 2; i++) { counter = 1; - for(int j = 0; j < diceValues.length; j++){ - if(diceValues[i] == diceValues[j] && i !=j){ + for (int j = 0; j < diceValues.length; j++) { + if (diceValues[i] == diceValues[j] && i != j) { counter++; } } - if(counter == 2){ + if (counter == 2) { return 25; } } @@ -249,7 +279,7 @@ public int checkForFullHouse(Integer[] diceValues){ return 0; } - public int checkForSmallStraight(Integer[]diceValues){ + public int checkForSmallStraight(Integer[] diceValues) { boolean found1 = false; boolean found2 = false; boolean found3 = false; @@ -257,17 +287,24 @@ public int checkForSmallStraight(Integer[]diceValues){ boolean found5 = false; boolean found6 = false; - for (int i = 0; i < diceValues.length; i++){ - if(diceValues[i] == 1){ found1 = true; } - else if(diceValues[i] == 2){ found2 = true; } - else if(diceValues[i] == 3){ found3 = true; } - else if(diceValues[i] == 4){ found4 = true; } - else if(diceValues[i] == 5){ found5 = true; } - else if(diceValues[i] == 6){ found6 = true; } + for (int i = 0; i < diceValues.length; i++) { + if (diceValues[i] == 1) { + found1 = true; + } else if (diceValues[i] == 2) { + found2 = true; + } else if (diceValues[i] == 3) { + found3 = true; + } else if (diceValues[i] == 4) { + found4 = true; + } else if (diceValues[i] == 5) { + found5 = true; + } else if (diceValues[i] == 6) { + found6 = true; + } } - if((found1 && found2 && found3 && found4)|| - (found2 && found3 && found4 && found5)|| - (found3 && found4 && found5 && found6)){ + if ((found1 && found2 && found3 && found4) || + (found2 && found3 && found4 && found5) || + (found3 && found4 && found5 && found6)) { return 30; } @@ -276,7 +313,7 @@ public int checkForSmallStraight(Integer[]diceValues){ return 0; } - public int checkForLargeStraight(Integer[]diceValues){ + public int checkForLargeStraight(Integer[] diceValues) { boolean found1 = false; boolean found2 = false; boolean found3 = false; @@ -284,25 +321,32 @@ public int checkForLargeStraight(Integer[]diceValues){ boolean found5 = false; boolean found6 = false; - for (int i = 0; i < diceValues.length; i++){ - if(diceValues[i] == 1){ found1 = true; } - else if(diceValues[i] == 2){ found2 = true; } - else if(diceValues[i] == 3){ found3 = true; } - else if(diceValues[i] == 4){ found4 = true; } - else if(diceValues[i] == 5){ found5 = true; } - else if(diceValues[i] == 6){ found6 = true; } + for (int i = 0; i < diceValues.length; i++) { + if (diceValues[i] == 1) { + found1 = true; + } else if (diceValues[i] == 2) { + found2 = true; + } else if (diceValues[i] == 3) { + found3 = true; + } else if (diceValues[i] == 4) { + found4 = true; + } else if (diceValues[i] == 5) { + found5 = true; + } else if (diceValues[i] == 6) { + found6 = true; + } } - if((found1 && found2 && found3 && found4 && found5)|| - (found2 && found3 && found4 && found5 && found6)){ + if ((found1 && found2 && found3 && found4 && found5) || + (found2 && found3 && found4 && found5 && found6)) { return 40; } return 0; } - public int checkForYahtzee(Integer[] diceValues){ - for(int i = 0; i < diceValues.length; i++){ - if(diceValues[0] != diceValues[i]){ + public int checkForYahtzee(Integer[] diceValues) { + for (int i = 0; i < diceValues.length; i++) { + if (diceValues[0] != diceValues[i]) { return 0; } } diff --git a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java index fe144e645..c0dbfe4f7 100644 --- a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java +++ b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java @@ -7,18 +7,21 @@ public class GamblingPlayer implements io.zipcoder.casino.Interfaces.GamblingPla private Player gambler; private Double pot = 0.0; - public GamblingPlayer(Player user){ + public GamblingPlayer(Player user) { this.gambler = user; } public Boolean placeWager(double wagerAmount) { - if(gambler.balance < wagerAmount) {return false;} - else {gambler.balance -= wagerAmount; + if (gambler.balance < wagerAmount) { + return false; + } else { + gambler.balance -= wagerAmount; this.pot += wagerAmount; - return true;} + return true; + } } - public void getWinnings(){ + public void getWinnings() { gambler.balance += pot * 2; } } diff --git a/src/main/java/io/zipcoder/casino/Player/Player.java b/src/main/java/io/zipcoder/casino/Player/Player.java index 51951bc4e..bfb383703 100644 --- a/src/main/java/io/zipcoder/casino/Player/Player.java +++ b/src/main/java/io/zipcoder/casino/Player/Player.java @@ -8,7 +8,7 @@ public class Player { protected double balance; - public Player(String ID, String password){ + public Player(String ID, String password) { this.ID = ID; this.pwd = password; this.balance = 0.0; diff --git a/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java b/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java index dd89333be..424942272 100644 --- a/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java +++ b/src/main/java/io/zipcoder/casino/Player/PlayerWarehouse.java @@ -1,22 +1,23 @@ package io.zipcoder.casino.Player; + import java.util.HashMap; //Class Starts public class PlayerWarehouse { - private HashMap warehouse; + private HashMap warehouse; public PlayerWarehouse() { this.warehouse = new HashMap(); } - public void addPlayer(String ID, String pwd){ + public void addPlayer(String ID, String pwd) { Player newUser = new Player(ID, pwd); - String key = newUser.ID+newUser.pwd; + String key = newUser.ID + newUser.pwd; warehouse.put(key, newUser); } - public Player getPlayer(String idNum){ + public Player getPlayer(String idNum) { return warehouse.get(idNum); } From 0e8872741dbc982bcb63755e0fedcb35a48c9458 Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Wed, 6 Nov 2019 10:54:49 -0500 Subject: [PATCH 096/169] Updated Yahtzee Evalution methods and Tests to be more concise --- .../io/zipcoder/casino/DiceGames/Yahtzee.java | 75 ++++++------------- .../YahtzeeTests/EvaluationTest.java | 18 ++--- 2 files changed, 32 insertions(+), 61 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index b20ec4a5b..51491fab4 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -189,10 +189,10 @@ public int checkForEvaluation(int choice,Integer[] diceValues){ case 4: return checkForFaces(diceValues, 4); case 5: return checkForFaces(diceValues, 5); case 6: return checkForFaces(diceValues, 6); - case 7: return checkFor3Kind(diceValues); - case 8: return checkFor4Kind(diceValues); - case 9: return checkForSmallStraight(diceValues); - case 10: return checkForLargeStraight(diceValues); + case 7: return checkForSameKind(diceValues, 3); + case 8: return checkForSameKind(diceValues,4); + case 9: return checkForStraight(diceValues, 4); + case 10: return checkForStraight(diceValues, 5); case 11: return checkForFullHouse(diceValues); case 12: return checkForYahtzee(diceValues); case 13: return chance(diceValues); @@ -218,37 +218,22 @@ public int chance(Integer[] diceValues){ return points; } - public int checkFor3Kind(Integer[] diceValues){ + public int checkForSameKind(Integer[] diceValues, int threeOrFour){ int counter; - for(int i = 0; i < diceValues.length - 2; i++){ + for(int i = 0; i < diceValues.length - (threeOrFour - 1); i++){ counter = 1; for(int j = i + 1; j < diceValues.length; j++){ if(diceValues[i] == diceValues[j]){ counter++; } } - if(counter >= 3){ return this.chance(diceValues); } - } - return 0; - } - - public int checkFor4Kind(Integer[] diceValues){ - int counter; - for(int i = 0; i < diceValues.length - 3; i++){ - counter = 1; - for(int j = i + 1; j < diceValues.length; j++){ - if(diceValues[i] == diceValues[j]){ - counter++; - } - } - - if(counter >= 4){ return this.chance(diceValues); } + if(counter >= threeOrFour){ return this.chance(diceValues); } } return 0; } public int checkForFullHouse(Integer[] diceValues){ - if(this.checkFor3Kind(diceValues) != 0){ + if(this.checkForSameKind(diceValues, 3) != 0){ int counter; for(int i = 0; i < diceValues.length - 2; i++){ counter = 1; @@ -265,31 +250,8 @@ public int checkForFullHouse(Integer[] diceValues){ return 0; } - public int checkForSmallStraight(Integer[]diceValues){ - boolean found1 = false; - boolean found2 = false; - boolean found3 = false; - boolean found4 = false; - boolean found5 = false; - boolean found6 = false; - for (int i = 0; i < diceValues.length; i++){ - if(diceValues[i] == 1){ found1 = true; } - else if(diceValues[i] == 2){ found2 = true; } - else if(diceValues[i] == 3){ found3 = true; } - else if(diceValues[i] == 4){ found4 = true; } - else if(diceValues[i] == 5){ found5 = true; } - else if(diceValues[i] == 6){ found6 = true; } - } - if((found1 && found2 && found3 && found4)|| - (found2 && found3 && found4 && found5)|| - (found3 && found4 && found5 && found6)){ - return 30; - } - return 0; - } - - public int checkForLargeStraight(Integer[]diceValues){ + public int checkForStraight(Integer[]diceValues, int size){ boolean found1 = false; boolean found2 = false; boolean found3 = false; @@ -305,12 +267,21 @@ public int checkForLargeStraight(Integer[]diceValues){ else if(diceValues[i] == 5){ found5 = true; } else if(diceValues[i] == 6){ found6 = true; } } - if((found1 && found2 && found3 && found4 && found5)|| - (found2 && found3 && found4 && found5 && found6)){ - - return 40; + switch(size){ + case 4: + if((found1 && found2 && found3 && found4)|| + (found2 && found3 && found4 && found5)|| + (found3 && found4 && found5 && found6)){ + return 30; + } + case 5: + if((found1 && found2 && found3 && found4 && found5)|| + (found2 && found3 && found4 && found5 && found6)){ + return 40; + } + default: + return 0; } - return 0; } public int checkForYahtzee(Integer[] diceValues){ diff --git a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java index 7deeca201..5490a7b7f 100644 --- a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java +++ b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java @@ -37,7 +37,7 @@ public void getFacePointsTest2(){ public void get3Kind(){ Integer[] thisIsMyDice = {1,1,1,6,5}; int expected = 14; - int actual = detect.checkFor3Kind(thisIsMyDice); + int actual = detect.checkForSameKind(thisIsMyDice, 3); Assert.assertEquals(expected,actual); } @@ -45,7 +45,7 @@ public void get3Kind(){ public void get3Kind2(){ Integer[] thisIsMyDice = {1,5,2,2,2}; int expected = 12; - int actual = detect.checkFor3Kind(thisIsMyDice); + int actual = detect.checkForSameKind(thisIsMyDice, 3); Assert.assertEquals(expected,actual); } @@ -53,15 +53,15 @@ public void get3Kind2(){ public void get4Kind(){ Integer[] thisIsMyDice = {4,4,4,4,1}; int expected = 17; - int actual = detect.checkFor4Kind(thisIsMyDice); + int actual = detect.checkForSameKind(thisIsMyDice, 4); Assert.assertEquals(expected,actual); } @Test public void get4Kind2(){ - Integer[] thisIsMyDice2 = {2,4,2,2,1}; + Integer[] thisIsMyDice = {2,4,2,2,1}; int expected2 = 0; - int actual2 = detect.checkFor4Kind(thisIsMyDice2); + int actual2 = detect.checkForSameKind(thisIsMyDice, 4); Assert.assertEquals(expected2,actual2); } @@ -85,7 +85,7 @@ public void getFullHouse2(){ public void getSmallStraight(){ Integer[] thisIsMyDice = {3,2,2,4,2}; int expected = 0; - int actual = detect.checkForSmallStraight(thisIsMyDice); + int actual = detect.checkForStraight(thisIsMyDice, 4); Assert.assertEquals(expected,actual); } @@ -93,7 +93,7 @@ public void getSmallStraight(){ public void getSmallStraight2(){ Integer[] thisIsMyDice = {3,2,5,4,6}; int expected = 30; - int actual = detect.checkForSmallStraight(thisIsMyDice); + int actual = detect.checkForStraight(thisIsMyDice, 4); Assert.assertEquals(expected,actual); } @@ -101,7 +101,7 @@ public void getSmallStraight2(){ public void getLargeStraight(){ Integer[] thisIsMyDice = {3,2,5,4,2}; int expected = 0; - int actual = detect.checkForLargeStraight(thisIsMyDice); + int actual = detect.checkForStraight(thisIsMyDice, 5); Assert.assertEquals(expected,actual); } @@ -109,7 +109,7 @@ public void getLargeStraight(){ public void getLargeStraight2(){ Integer[] thisIsMyDice = {3,2,5,4,6}; int expected = 40; - int actual = detect.checkForLargeStraight(thisIsMyDice); + int actual = detect.checkForStraight(thisIsMyDice, 5); Assert.assertEquals(expected,actual); } From a01c4fa606fa8bba1a2060f88594accd40d04c8d Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Wed, 6 Nov 2019 11:02:43 -0500 Subject: [PATCH 097/169] Updated Yahtzee Tests to have private fields --- .../casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java | 4 ++-- .../casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java index 11bc020e0..fbdba4818 100644 --- a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java +++ b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java @@ -10,8 +10,8 @@ public class DiceRollTest { - Yahtzee roller; - Player user; + private Yahtzee roller; + private Player user; @Before public void doThisFirst(){ diff --git a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java index 5490a7b7f..af46c9713 100644 --- a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java +++ b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java @@ -12,9 +12,7 @@ public class EvaluationTest { @Before public void doThisFirst(){ - detect = new Yahtzee(new Player("1234", "password")); - } @Test From 53da7b931d5d8976f3cbc1f3458cf4f6c60ce6ad Mon Sep 17 00:00:00 2001 From: Maira Botelho Date: Wed, 6 Nov 2019 11:07:04 -0500 Subject: [PATCH 098/169] more changes on go fish --- .../io/zipcoder/casino/CardGames/Card.java | 6 +- .../zipcoder/casino/CardGames/CardHand.java | 1 + .../io/zipcoder/casino/CardGames/Deck.java | 18 ++-- .../io/zipcoder/casino/CardGames/GoFish.java | 94 ++++++++++++------- .../zipcoder/casino/CardGames/DeckTest.java | 30 +++++- .../zipcoder/casino/CardGames/GoFishTest.java | 10 +- 6 files changed, 110 insertions(+), 49 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/Card.java b/src/main/java/io/zipcoder/casino/CardGames/Card.java index a719ed3d5..299e5c42f 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/Card.java +++ b/src/main/java/io/zipcoder/casino/CardGames/Card.java @@ -6,7 +6,7 @@ public class Card { private Rank rank; - public Card(){ + public Card() { } @@ -25,6 +25,8 @@ public Rank getRank() { public String toString() { - return String.format("%s of %s", rank, suit); + return String.format("%s of %s \n", rank, suit).replace(",", ""); } + + } diff --git a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java index 6eea0dd81..b8552e0e1 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java +++ b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java @@ -13,4 +13,5 @@ public CardHand(ArrayList dealtCards){ } + } diff --git a/src/main/java/io/zipcoder/casino/CardGames/Deck.java b/src/main/java/io/zipcoder/casino/CardGames/Deck.java index 86cc2c19b..6d6a2768e 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/Deck.java +++ b/src/main/java/io/zipcoder/casino/CardGames/Deck.java @@ -8,9 +8,9 @@ public class Deck { private Stack deckOfCards = new Stack(); - public Deck(int numberOfDecks){ + public Deck(int numberOfDecks) { - for(int index = 0; index < numberOfDecks; index++) { + for (int index = 0; index < numberOfDecks; index++) { for (Suit suit : Suit.values()) { for (Rank rank : Rank.values()) { @@ -20,27 +20,31 @@ public Deck(int numberOfDecks){ } } + public Integer getSize() { + return deckOfCards.size(); + } + - public Stack shuffleDeck(){ + public Stack shuffleDeck() { Collections.shuffle(deckOfCards); return deckOfCards; } - public ArrayList dealCards(int numberOfCards){ + public ArrayList dealCards(int numberOfCards) { ArrayList dealingCards = new ArrayList(); - for(int index = 0; index < numberOfCards; index++){ + for (int index = 0; index < numberOfCards; index++) { dealingCards.add(deckOfCards.pop()); } return dealingCards; } - public Card drawCard(){ - if (!deckOfCards.isEmpty()){ + public Card drawCard() { + if (!deckOfCards.isEmpty()) { Card drawnCard = deckOfCards.pop(); return drawnCard; diff --git a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java index 3a14e44b9..967cd131a 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java +++ b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java @@ -5,18 +5,16 @@ import io.zipcoder.casino.utilities.Console; import java.util.ArrayList; -import java.util.Stack; -import static java.lang.System.in; +import java.util.Random; public class GoFish implements Game { - private Player user; - Console input = new Console(System.in, System.out); - Deck goFishDeck; - CardHand playerHand; - CardHand computerHand; + private Player user; + private Deck goFishDeck; + private CardHand playerHand; + private CardHand computerHand; boolean winGame = false; public GoFish(Player player) { @@ -30,44 +28,45 @@ public GoFish(Player player) { playerHand = new CardHand(goFishDeck.dealCards(5)); computerHand = new CardHand(goFishDeck.dealCards(5)); + } - public void startGame(){ + public void startGame() { + + System.out.println("\n\nLoading Go Fish....\n\n"); - System.out.println("Loading Go Fish...."); + do { - do{ + System.out.println("Your turn \n\n"); - System.out.println("Player's Turn"); playerTurn(); winGame = evaluateHand(playerHand); - //System.out.println("Computer's Turn"); - //computerTurn(); - + System.out.println("Computer's Turn"); + computerTurn(); - }while(winGame == false); + } while (winGame == false); } - public void playerTurn(){ + public void playerTurn() { System.out.println(displayHand(playerHand)); String userInput = input.getStringInput("Which value would you like to ask for? "); userInput.toUpperCase(); - if(haveCard(computerHand, userInput) == true){ + if (haveCard(computerHand, userInput) == true) { System.out.println("The computer has this card"); tradeCards(computerHand, userInput, playerHand); - }else{ + } else { System.out.println("Go Fish!"); goFishForCard(playerHand); @@ -77,19 +76,38 @@ public void playerTurn(){ } - public void computerTurn(){ + public void computerTurn() { + + System.out.println(displayHand(computerHand)); + + String newCard = getCompCard().toString(); + System.out.println("Computer asked for " + newCard); + + if (haveCard(playerHand, newCard) == true) { + + System.out.println("You have this card, the computer will take it"); + tradeCards(playerHand, newCard, computerHand); - } + } else { + System.out.println("Go Fish!"); + + goFishForCard(computerHand); + } + System.out.println(displayHand(computerHand)); + + + } - public void tradeCards(CardHand tradingHand, String cardToRemove, CardHand receivingHand){ + //Tools for Game + public void tradeCards(CardHand tradingHand, String cardToRemove, CardHand receivingHand) { ArrayList tradingCards = new ArrayList(); - for(Card card : tradingHand.userHand) { + for (Card card : tradingHand.userHand) { if (card.toString().contains(cardToRemove)) { Card temp = card; tradingHand.userHand.remove(card); @@ -102,9 +120,9 @@ public void tradeCards(CardHand tradingHand, String cardToRemove, CardHand recei } - public boolean haveCard(CardHand opponent, String wantedCard){ + public boolean haveCard(CardHand opponent, String wantedCard) { - for(Card card : opponent.userHand) { + for (Card card : opponent.userHand) { if (card.toString().contains(wantedCard)) return true; } @@ -112,28 +130,28 @@ public boolean haveCard(CardHand opponent, String wantedCard){ return false; } - public void goFishForCard(CardHand hand){ + public void goFishForCard(CardHand hand) { hand.userHand.add(goFishDeck.drawCard()); } - public String displayHand(CardHand hand){ + public String displayHand(CardHand hand) { return hand.userHand.toString(); } - public boolean evaluateHand(CardHand hand){ + public boolean evaluateHand(CardHand hand) { int counter = 0; - for(Card checkCard : hand.userHand){ + for (Card checkCard : hand.userHand) { counter = 0; - for (Card card : hand.userHand){ - if(checkCard.getRank() == card.getRank()){ + for (Card card : hand.userHand) { + if (checkCard.getRank() == card.getRank()) { counter++; } } - if(counter == 2){ + if (counter == 2) { return true; } @@ -143,12 +161,20 @@ public boolean evaluateHand(CardHand hand){ return false; } + public void promptLeaveGame() { + } - public void promptLeaveGame(){ - + public void displayResults() { } - public void displayResults (){ + + //Computer Play + + public Rank getCompCard() { + + Random rand = new Random(); + Card newcard = computerHand.userHand.get(rand.nextInt(computerHand.userHand.size())); + return newcard.getRank(); } } diff --git a/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java b/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java index a09b84a99..de545ca75 100644 --- a/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java +++ b/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java @@ -16,8 +16,34 @@ public void setUp(){} public void tearDown(){} @Test - public void printDeck(){ + public void getSize(){ Deck newDeck = new Deck(1); - //newDeck.print(); + Integer expected = 52; + + assertEquals(expected, newDeck.getSize()); + } + + @Test + public void getSize2(){ + Deck newDeck = new Deck(4); + Integer expected = 208; + + assertEquals(expected, newDeck.getSize()); } + + @Test + public void shuffleDeck(){ + Deck newDeck = new Deck(1); + + System.out.println(newDeck.shuffleDeck().toString()); + + } + + + + + + + + } \ No newline at end of file diff --git a/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java b/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java index 3ee8e6226..62175051f 100644 --- a/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java +++ b/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java @@ -10,15 +10,17 @@ public class GoFishTest { @Before - public void setUp(){} + public void setUp() { + } @After - public void tearDown(){} + public void tearDown() { + } @Test public void game() { - - GoFish newgame = new GoFish(new Player("i","0")); + + GoFish newgame = new GoFish(new Player("John", "007")); newgame.startGame(); From ad7f5006d58aad888c475b6c1dd4bba815374665 Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Wed, 6 Nov 2019 11:09:31 -0500 Subject: [PATCH 099/169] Add logic to test draw card --- .../zipcoder/casino/CardGames/DeckTest.java | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java b/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java index 1fde25ea0..5aed32886 100644 --- a/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java +++ b/src/test/java/io/zipcoder/casino/CardGames/DeckTest.java @@ -14,11 +14,6 @@ public class DeckTest { - @Before - public void setUp(){} - - @After - public void tearDown(){} @Test public void testDealCards(){ @@ -50,4 +45,19 @@ public void testShuffleDeck(){ Assert.assertEquals(expected,actual); } + @Test + public void testDrawCard(){ + Deck newDeck = new Deck(1); + Card newCard = new Card(); + Stack cardStack = new Stack<>(); + + cardStack = newDeck.shuffleDeck(); + + newCard = newDeck.drawCard(); + int expected = 51; + int actual = cardStack.size(); + + Assert.assertEquals(expected,actual); + } + } \ No newline at end of file From 9b353c91f577df2bf199cfe3a746efc79b2d2bb7 Mon Sep 17 00:00:00 2001 From: Maira Botelho Date: Wed, 6 Nov 2019 11:18:20 -0500 Subject: [PATCH 100/169] GoFish --- .../io/zipcoder/casino/CardGames/CardHand.java | 5 +++++ .../java/io/zipcoder/casino/CardGames/GoFish.java | 14 +++++--------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java index b8552e0e1..103a5d800 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java +++ b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java @@ -12,6 +12,11 @@ public CardHand(ArrayList dealtCards){ userHand.addAll(dealtCards); } + public String displayHand() { + + return userHand.toString(); + } + } diff --git a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java index 967cd131a..b24121a34 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java +++ b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java @@ -5,6 +5,7 @@ import io.zipcoder.casino.utilities.Console; import java.util.ArrayList; +import java.util.Collections; import java.util.Random; public class GoFish implements Game { @@ -55,7 +56,7 @@ public void startGame() { public void playerTurn() { - System.out.println(displayHand(playerHand)); + System.out.println(playerHand.displayHand()); String userInput = input.getStringInput("Which value would you like to ask for? "); userInput.toUpperCase(); @@ -72,13 +73,13 @@ public void playerTurn() { goFishForCard(playerHand); } - System.out.println(displayHand(playerHand)); + System.out.println(playerHand.displayHand()); } public void computerTurn() { - System.out.println(displayHand(computerHand)); + System.out.println(computerHand.displayHand()); String newCard = getCompCard().toString(); System.out.println("Computer asked for " + newCard); @@ -95,7 +96,7 @@ public void computerTurn() { goFishForCard(computerHand); } - System.out.println(displayHand(computerHand)); + System.out.println(computerHand.displayHand()); } @@ -135,11 +136,6 @@ public void goFishForCard(CardHand hand) { hand.userHand.add(goFishDeck.drawCard()); } - public String displayHand(CardHand hand) { - - return hand.userHand.toString(); - } - public boolean evaluateHand(CardHand hand) { int counter = 0; From 9b8fdd5695870c6e87fc99ebe67500218cd518e2 Mon Sep 17 00:00:00 2001 From: mike Date: Wed, 6 Nov 2019 11:21:18 -0500 Subject: [PATCH 101/169] pushing minor changes in order to pull from dev --- .../java/io/zipcoder/casino/CardGames/BlackJack.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index 4cbf5b24a..b8b8215dd 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -108,15 +108,11 @@ public void setCard(Card card) { public void startGame() { promptUserForWagerAmount(); initializeblackJackHands(); - checkHandForAces(gamblingPlayerHand); - checkHandForAces(computerHand); - checkHandValue(gamblingPlayerHand); - checkHandValue(computerHand); checkScore(checkHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)); - - + checkScore(checkHandValue(computerHand), checkHandForAces(computerHand)); } + public void promptUserForWagerAmount() { double userWagerAmount = input.getDoubleInput("How much would you like to wager?"); boolean wagerAmountSuccessful = gamblingPlayer.placeWager(userWagerAmount); @@ -187,6 +183,7 @@ public Integer checkScore(Integer blackJackHandValue, Integer numberOfAces) { public void promptHitOrStay() { + System.out.println(gamblingPlayerHand.displayHand()); System.out.println(computerHand.displayHand()); From b79a831f9f8b0cff5e429f0cbba2ddc9a554e415 Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Wed, 6 Nov 2019 11:22:51 -0500 Subject: [PATCH 102/169] Updated Yahtzee --- src/main/java/io/zipcoder/casino/CardGames/BlackJack.java | 4 ++-- src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index 4cbf5b24a..8112420d0 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -1,7 +1,7 @@ package io.zipcoder.casino.CardGames; -import com.sun.xml.internal.bind.v2.TODO; -import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput; +//import com.sun.xml.internal.bind.v2.TODO; +//import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput; import io.zipcoder.casino.Interfaces.GamblingGame; import io.zipcoder.casino.Player.GamblingPlayer; import io.zipcoder.casino.Player.Player; diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index 51491fab4..b3cdc1a32 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -11,7 +11,7 @@ public class Yahtzee implements Game { private Player user; private static Console console = new Console(System.in, System.out); private Dice[] myDice; - int points; + private int points; private String[] availableOptions = {" ","1s", "2s", "3s", "4s", "5s", "6s", "3 of a kind", "4 of a kind", "Small Straight", "Large Straight", "Full House", "Yahtzee", "Chance"}; private boolean continuePlay; @@ -74,7 +74,10 @@ public void promptLeaveGame(){ while (!c) { exitOrNo = console.getStringInput("Would you like to play again?\n1. Play again\n2. Exit"); - if(exitOrNo.equals("")){ exitOrNo = " "; } + + if(exitOrNo.equals("")){ + exitOrNo = " "; + } switch (exitOrNo.charAt(0)) { case '1': case 'p': case 'P': From 48a6a502e2bb628eab3726b11110cfa33dd8ccb5 Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Wed, 6 Nov 2019 11:23:18 -0500 Subject: [PATCH 103/169] Updated Yahtzee --- src/main/java/io/zipcoder/casino/CardGames/BlackJack.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index 8112420d0..4cbf5b24a 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -1,7 +1,7 @@ package io.zipcoder.casino.CardGames; -//import com.sun.xml.internal.bind.v2.TODO; -//import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput; +import com.sun.xml.internal.bind.v2.TODO; +import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput; import io.zipcoder.casino.Interfaces.GamblingGame; import io.zipcoder.casino.Player.GamblingPlayer; import io.zipcoder.casino.Player.Player; From c46a85d662f04f6ee57ddb41cc985421ee30a38b Mon Sep 17 00:00:00 2001 From: Maira Botelho Date: Wed, 6 Nov 2019 11:24:34 -0500 Subject: [PATCH 104/169] fix cardHand --- .../zipcoder/casino/CardGames/CardHand.java | 66 ------------------- 1 file changed, 66 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java index c32f455fd..d00f20b48 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java +++ b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java @@ -17,70 +17,4 @@ public String displayHand() { return userHand.toString(); } - - - - public String displayHand(){ - //Collections.sort(userHand); TODO - do this later - return userHand.toString(); - } - - public boolean lookForCard(String wantedCard){ - - for(Card card : userHand) { - if (card.toString().contains(wantedCard)) - return true; - } - - return false; - } - - public ArrayList removeCardsFromHand(String cardToRemove){ - - ArrayList tradingCards = new ArrayList(); - - - for(Card card : userHand) { - if (card.toString().contains(cardToRemove)) { - Card temp = card; - userHand.remove(card); - tradingCards.add(temp); - } - - } - - return tradingCards; - - } - - public void tradeCards(ArrayList cardsToTrade){ - userHand.addAll(cardsToTrade); - } - - public void getCardFromDeck(Card cardToAdd){ - - userHand.add(cardToAdd); - } - - public boolean evaluateHand(){ - int counter = 0; - - for(Card checkCard : userHand){ - counter = 0; - for (Card card : userHand){ - if(checkCard.getRank() == card.getRank()){ - counter++; - } - } - - if(counter == 2){ - return true; - } - - - } - - return false; - } - } From 10707e0508a6074dca1a28b64bd20dcd80a99259 Mon Sep 17 00:00:00 2001 From: mike Date: Wed, 6 Nov 2019 11:35:39 -0500 Subject: [PATCH 105/169] minor changes to pull from dev --- .../zipcoder/casino/CardGames/BlackJack.java | 28 ++++++++----------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index b8b8215dd..1f1802965 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -23,8 +23,6 @@ public class BlackJack implements GamblingGame { private Player user; - - private int answerHitOrStay; private int wageBucket; private Card card; @@ -81,14 +79,6 @@ public void setUser(Player user) { this.user = user; } - public int getAnswerHitOrStay() { - return answerHitOrStay; - } - - public void setAnswerHitOrStay(int answerHitOrStay) { - this.answerHitOrStay = answerHitOrStay; - } - public int getWageBucket() { return wageBucket; } @@ -107,7 +97,7 @@ public void setCard(Card card) { public void startGame() { promptUserForWagerAmount(); - initializeblackJackHands(); + initializeBlackJackHands(); checkScore(checkHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)); checkScore(checkHandValue(computerHand), checkHandForAces(computerHand)); } @@ -122,7 +112,7 @@ public void promptUserForWagerAmount() { } } - public void initializeblackJackHands() { + public void initializeBlackJackHands() { blackJackDeck = new Deck(1); blackJackDeck.shuffleDeck(); @@ -183,20 +173,24 @@ public Integer checkScore(Integer blackJackHandValue, Integer numberOfAces) { public void promptHitOrStay() { - System.out.println(gamblingPlayerHand.displayHand()); System.out.println(computerHand.displayHand()); + Integer hitOrStayUserInput = input.getIntegerInput("Press 1 to hit or 2 to stay"); + if(hitOrStayUserInput == 1) { + } - int userInput = input.getIntegerInput("Would you like to hit or stay?"); + } - } - public void dealerHitOrStay() { - } // + public void dealerHitOrStay(Integer hitOrStayUserInput) { + + + } public void hit(Player deck, Player player) { + } public void stay() { From 4dd9d932b24f6dd630aa4a466724dd247ad58e1b Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Wed, 6 Nov 2019 11:43:00 -0500 Subject: [PATCH 106/169] Cleaned up the code --- src/main/java/io/zipcoder/casino/App.java | 43 +++++++++---------- .../io/zipcoder/casino/utilities/Console.java | 16 +++++++ 2 files changed, 36 insertions(+), 23 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/App.java b/src/main/java/io/zipcoder/casino/App.java index 040658777..227888ed5 100644 --- a/src/main/java/io/zipcoder/casino/App.java +++ b/src/main/java/io/zipcoder/casino/App.java @@ -31,10 +31,7 @@ public void App (){ private void mainMenu(){ int userInput; - userInput = this.menu.getIntegerInput("What would you like to do?\n" + - "1.) Log In\n" + - "2.) Create Account\n" + - "3.) Exit"); + userInput = this.menu.printMainMenu(); mainMenuActions(userInput); } @@ -42,14 +39,15 @@ private void mainMenuActions(Integer userSelection){ switch (userSelection) { case 1: - this.menu.print("Logging in ."); - pause(500); - this.menu.print("."); - pause(500); - this.menu.print(".\n\n"); - //this.menu.println("Logging in ...\n"); - pause(500); + // Log in if (authenticatePlayer()) { + this.menu.print("Logging in ."); + pause(500); + this.menu.print("."); + pause(500); + this.menu.print(".\n\n"); + pause(500); + selectGameToPlay(); } else { this.menu.print("We could not find this user. Please try again!\n\n"); @@ -67,10 +65,12 @@ private void mainMenuActions(Integer userSelection){ } break; case 2: - this.menu.println("Creating new account ...\n"); + // Create new account pause(500); + this.menu.println("Creating new account ...\n"); if (authenticatePlayer()){ this.menu.println("This user already exists, please log in.\n"); + pause(1000); mainMenu(); } else { createPlayer(); @@ -79,12 +79,14 @@ private void mainMenuActions(Integer userSelection){ break; case 3: + // Exit this.menu.print("Have a great day!"); System.exit(0); break; default: this.menu.print("Error! Please enter another option!"); + pause(1000); mainMenu(); } // main menu actions @@ -94,13 +96,8 @@ private void mainMenuActions(Integer userSelection){ private void selectGameToPlay() { int userInput; pause(500); - menu.println("You are now logged in - enjoy the ride!\n"); - userInput = menu.getIntegerInput("Please select game to play\n" + - "1.) Go Fish\n" + - "2.) Yahtzee\n" + - "3.) BlackJack\n" + - "4.) Craps\n" + - "5.) Go to Main Menu"); + this.menu.println("You are now logged in - enjoy the ride!\n"); + userInput = this.menu.printSelectGame(); selectGameToPlayActions(userInput); } // select game @@ -127,7 +124,7 @@ private void selectGameToPlayActions(Integer gameSelected){ mainMenu(); break; default: - menu.print("Error! Invalid Selection!\n\n"); + this.menu.print("Error! Invalid Selection!\n\n"); break; } @@ -138,16 +135,16 @@ private void selectGameToPlayActions(Integer gameSelected){ private Boolean authenticatePlayer(){ - pause(1); + pause(1000); this.userId = this.menu.getStringInput("Enter your ID:"); this.userPassword = this.menu.getStringInput("Enter your password:"); - this.newPlayer = warehouse.getPlayer(this.userId+this.userPassword); + this.newPlayer = this.warehouse.getPlayer(this.userId+this.userPassword); return this.newPlayer != null; } private void createPlayer(){ - warehouse.addPlayer(this.userId,this.userPassword); + this.warehouse.addPlayer(this.userId,this.userPassword); this.newPlayer = warehouse.getPlayer(this.userId+this.userPassword); } diff --git a/src/main/java/io/zipcoder/casino/utilities/Console.java b/src/main/java/io/zipcoder/casino/utilities/Console.java index ab896c956..8645365cb 100644 --- a/src/main/java/io/zipcoder/casino/utilities/Console.java +++ b/src/main/java/io/zipcoder/casino/utilities/Console.java @@ -57,5 +57,21 @@ public Long getLongInput(String prompt, Object... args) { public Integer getIntegerInput(String prompt, Object... args) { return getLongInput(prompt, args).intValue(); } + + public Integer printMainMenu(){ + return getIntegerInput("What would you like to do?\n" + + "1.) Log In\n" + + "2.) Create Account\n" + + "3.) Exit"); + } + + public Integer printSelectGame(){ + return getIntegerInput("Please select game to play\n" + + "1.) Go Fish\n" + + "2.) Yahtzee\n" + + "3.) BlackJack\n" + + "4.) Craps\n" + + "5.) Go to Main Menu"); + } } From fb0e6f78561e61d6d3f54b80c65c625d5734096a Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Wed, 6 Nov 2019 12:40:13 -0500 Subject: [PATCH 107/169] Add logic/test to add money --- src/main/java/io/zipcoder/casino/App.java | 8 +++++++ .../io/zipcoder/casino/Player/Player.java | 4 +++- .../io/zipcoder/casino/Player/PlayerTest.java | 21 +++++++++++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 src/test/java/io/zipcoder/casino/Player/PlayerTest.java diff --git a/src/main/java/io/zipcoder/casino/App.java b/src/main/java/io/zipcoder/casino/App.java index 227888ed5..b4694aa0a 100644 --- a/src/main/java/io/zipcoder/casino/App.java +++ b/src/main/java/io/zipcoder/casino/App.java @@ -115,10 +115,12 @@ private void selectGameToPlayActions(Integer gameSelected){ break; case 3: BlackJack newBlackJack = new BlackJack(this.newPlayer); + addMoney(); newBlackJack.startGame(); break; case 4: Craps newCraps = new Craps(this.newPlayer); + addMoney(); newCraps.startGame(); case 5: mainMenu(); @@ -156,4 +158,10 @@ private void pause (int miliSeconds){ } } + private void addMoney (){ + double amount; + amount = this.menu.getDoubleInput("How much money you would like to add to your account?"); + this.newPlayer.setBalance(amount); + } + } // class diff --git a/src/main/java/io/zipcoder/casino/Player/Player.java b/src/main/java/io/zipcoder/casino/Player/Player.java index d5d8563ab..99b08d4d2 100644 --- a/src/main/java/io/zipcoder/casino/Player/Player.java +++ b/src/main/java/io/zipcoder/casino/Player/Player.java @@ -9,7 +9,9 @@ public class Player { protected double balance; - + public void setBalance(double balance) { + this.balance = balance; + } public Player(String ID, String password){ this.ID = ID; diff --git a/src/test/java/io/zipcoder/casino/Player/PlayerTest.java b/src/test/java/io/zipcoder/casino/Player/PlayerTest.java new file mode 100644 index 000000000..6e2f2bf7d --- /dev/null +++ b/src/test/java/io/zipcoder/casino/Player/PlayerTest.java @@ -0,0 +1,21 @@ +package io.zipcoder.casino.Player; + +import org.junit.Assert; +import org.junit.Test; + + +import static org.junit.Assert.*; + +public class PlayerTest { + + @Test + public void testSetBalance() { + Player newPlayer = new Player("bogus","bogus"); + + newPlayer.setBalance(50); + double expected = 50.0; + double actual = newPlayer.balance; + + Assert.assertEquals(expected,actual,0.0); + } +} From ebf67ea967f8492505fabfa35cbad398f365d6dd Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Wed, 6 Nov 2019 12:43:25 -0500 Subject: [PATCH 108/169] minor --- src/main/java/io/zipcoder/casino/App.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/io/zipcoder/casino/App.java b/src/main/java/io/zipcoder/casino/App.java index b4694aa0a..2a869c079 100644 --- a/src/main/java/io/zipcoder/casino/App.java +++ b/src/main/java/io/zipcoder/casino/App.java @@ -160,7 +160,7 @@ private void pause (int miliSeconds){ private void addMoney (){ double amount; - amount = this.menu.getDoubleInput("How much money you would like to add to your account?"); + amount = this.menu.getDoubleInput("How much money would you like to add to your account?"); this.newPlayer.setBalance(amount); } From c522801736b6594221ed1679edd9184a95204c78 Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Wed, 6 Nov 2019 13:12:22 -0500 Subject: [PATCH 109/169] update --- src/main/java/io/zipcoder/casino/DiceGames/Dice.java | 7 ++++++- src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Dice.java b/src/main/java/io/zipcoder/casino/DiceGames/Dice.java index a1c1dea88..e5e8ba6e3 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Dice.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Dice.java @@ -45,7 +45,12 @@ public int getValue() { // toString--------------------------------------------------------------------------------------------------------- public String toString(){ - return String.format(this.value + ", "); + if(this.isKept()){ + return String.format(this.value + " : " + "Keep"); + } + else{ + return String.format(this.value + " : " + "Re-roll"); + } } public static ArrayList playerDice = new ArrayList(5); diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index b3cdc1a32..799d6474e 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -130,7 +130,7 @@ public void chooseToKeep(){ String keepthis = ""; while(!keepthis.toLowerCase().equals("roll")) { for (int i = 0; i < this.myDice.length; i++) { - console.print((i + 1) + ". " + this.myDice[i].getValue() + " : " + this.myDice[i].isKept() + "\n"); + console.print((i + 1) + ". " + this.myDice[i].toString() + "\n"); } keepthis = console.getStringInput("Type the corresponding number of the dice and press enter to " + "switch it between keeping and re-rolling.\n" + @@ -160,7 +160,7 @@ public int chooseEvaluation(){ while(!goodChoice){ try{ for(Dice s: this.myDice){ - console.print(s.toString()); + console.print(s.getValue() + ", "); } choice = console.getIntegerInput("\n\nWhich one do you want to choose? "); if(choice == 0){} From 768ff55b122f584f698ef21bc7a044c3d720ef0d Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Wed, 6 Nov 2019 13:13:11 -0500 Subject: [PATCH 110/169] Add test for card hand --- .../casino/CardGames/CardHandTest.java | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/src/test/java/io/zipcoder/casino/CardGames/CardHandTest.java b/src/test/java/io/zipcoder/casino/CardGames/CardHandTest.java index ebcd5f902..b469d0842 100644 --- a/src/test/java/io/zipcoder/casino/CardGames/CardHandTest.java +++ b/src/test/java/io/zipcoder/casino/CardGames/CardHandTest.java @@ -1,19 +1,32 @@ package io.zipcoder.casino.CardGames; import org.junit.After; +import org.junit.Assert; import org.junit.Before; import org.junit.Test; -public class CardHandTest{ +import java.util.ArrayList; +import java.util.List; - @Before - public void setUp(){} +public class CardHandTest { - @After - public void tearDown(){} @Test - public void checkhand(){ + public void testCardHand() { + ArrayList dealtCards = new ArrayList<>(); + Deck newDeck = new Deck(1); + dealtCards = newDeck.dealCards(2); + + CardHand testCardHand = new CardHand(dealtCards); + + int expected = 2; + int actual = testCardHand.userHand.size(); + + Assert.assertEquals(expected, actual); + } + + @Test + public void testDisplayHand() { } From 916edfeb3b1d332e90956b6cfb6e55d4130388ee Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Wed, 6 Nov 2019 13:21:47 -0500 Subject: [PATCH 111/169] Add test for display hand --- .../java/io/zipcoder/casino/CardGames/CardHandTest.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/test/java/io/zipcoder/casino/CardGames/CardHandTest.java b/src/test/java/io/zipcoder/casino/CardGames/CardHandTest.java index b469d0842..6b756c476 100644 --- a/src/test/java/io/zipcoder/casino/CardGames/CardHandTest.java +++ b/src/test/java/io/zipcoder/casino/CardGames/CardHandTest.java @@ -5,6 +5,7 @@ import org.junit.Before; import org.junit.Test; +import java.nio.channels.AsynchronousServerSocketChannel; import java.util.ArrayList; import java.util.List; @@ -27,7 +28,15 @@ public void testCardHand() { @Test public void testDisplayHand() { + ArrayList dealtCards = new ArrayList<>(); + Deck newDeck = new Deck(1); + dealtCards = newDeck.dealCards(2); + + CardHand testCardHand = new CardHand(dealtCards); + String actual = testCardHand.displayHand(); + String expected = "[KING of DIAMONDS \n, QUEEN of DIAMONDS \n]"; + Assert.assertEquals(expected,actual); } } \ No newline at end of file From c1978508463cfd06fda7a26ad2366fc18644efa2 Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Wed, 6 Nov 2019 13:45:22 -0500 Subject: [PATCH 112/169] beautify --- src/main/java/io/zipcoder/casino/App.java | 2 + .../io/zipcoder/casino/utilities/Console.java | 55 ++++++++++++++++++- 2 files changed, 55 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/App.java b/src/main/java/io/zipcoder/casino/App.java index 2a869c079..ea87af5c9 100644 --- a/src/main/java/io/zipcoder/casino/App.java +++ b/src/main/java/io/zipcoder/casino/App.java @@ -103,6 +103,8 @@ private void selectGameToPlay() { } // select game private void selectGameToPlayActions(Integer gameSelected){ + pause(1000); + this.menu.printGameName(gameSelected); pause(1000); switch (gameSelected){ case 1: diff --git a/src/main/java/io/zipcoder/casino/utilities/Console.java b/src/main/java/io/zipcoder/casino/utilities/Console.java index 8645365cb..f7ad446ad 100644 --- a/src/main/java/io/zipcoder/casino/utilities/Console.java +++ b/src/main/java/io/zipcoder/casino/utilities/Console.java @@ -58,14 +58,14 @@ public Integer getIntegerInput(String prompt, Object... args) { return getLongInput(prompt, args).intValue(); } - public Integer printMainMenu(){ + public Integer printMainMenu() { return getIntegerInput("What would you like to do?\n" + "1.) Log In\n" + "2.) Create Account\n" + "3.) Exit"); } - public Integer printSelectGame(){ + public Integer printSelectGame() { return getIntegerInput("Please select game to play\n" + "1.) Go Fish\n" + "2.) Yahtzee\n" + @@ -73,5 +73,56 @@ public Integer printSelectGame(){ "4.) Craps\n" + "5.) Go to Main Menu"); } + + public void printGameName(Integer game) { + String gameName = ""; + + switch (game) { + + case 1: + + gameName = " :::::::: :::::::: :::::::::: ::::::::::: :::::::: ::: ::: \n" + + " :+: :+: :+: :+: :+: :+: :+: :+: :+: :+: \n" + + " +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ \n" + + " :#: +#+ +:+ :#::+::# +#+ +#++:++#++ +#++:++#++ \n" + + " +#+ +#+# +#+ +#+ +#+ +#+ +#+ +#+ +#+ \n" + + "#+# #+# #+# #+# #+# #+# #+# #+# #+# #+# \n" + + "######## ######## ### ########### ######## ### ### "; + break; + + case 2: + + gameName = " ::: ::: ::: ::: ::: ::::::::::: ::::::::: :::::::::: :::::::::: \n" + + " :+: :+: :+: :+: :+: :+: :+: :+: :+: :+: \n" + + " +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ \n" + + " +#++: +#++:++#++: +#++:++#++ +#+ +#+ +#++:++# +#++:++# \n" + + " +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ \n" + + " #+# #+# #+# #+# #+# #+# #+# #+# #+# \n" + + "### ### ### ### ### ### ######### ########## ########## "; + break; + case 3: + + gameName = " ::::::::: ::: ::: :::::::: ::: ::: ::::::::::: ::: :::::::: ::: ::: \n" + + " :+: :+: :+: :+: :+: :+: :+: :+: :+: :+: :+: :+: :+: :+: :+: :+: \n" + + " +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ \n" + + " +#++:++#+ +#+ +#++:++#++: +#+ +#++:++ +#+ +#++:++#++: +#+ +#++:++ \n" + + " +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ \n" + + " #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# \n" + + "######### ########## ### ### ######## ### ### ##### ### ### ######## ### ### "; + break; + case 4: + + gameName = " :::::::: ::::::::: ::: ::::::::: :::::::: \n" + + " :+: :+: :+: :+: :+: :+: :+: :+: :+: :+: \n" + + " +:+ +:+ +:+ +:+ +:+ +:+ +:+ +:+ \n" + + " +#+ +#++:++#: +#++:++#++: +#++:++#+ +#++:++#++ \n" + + " +#+ +#+ +#+ +#+ +#+ +#+ +#+ \n" + + "#+# #+# #+# #+# #+# #+# #+# #+# #+# \n" + + "######## ### ### ### ### ### ######## "; + break; + } + + println(gameName); + } } From 15c7afc5c1939636a5f3a8f72f4b6cb661b50eb1 Mon Sep 17 00:00:00 2001 From: mike Date: Wed, 6 Nov 2019 13:48:24 -0500 Subject: [PATCH 113/169] all that jazz --- .../zipcoder/casino/CardGames/BlackJack.java | 59 ++++++++++++------- 1 file changed, 37 insertions(+), 22 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index 1f1802965..77268a2e2 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -95,11 +95,21 @@ public void setCard(Card card) { this.card = card; } - public void startGame() { - promptUserForWagerAmount(); + public void playBlackJack() { initializeBlackJackHands(); checkScore(checkHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)); checkScore(checkHandValue(computerHand), checkHandForAces(computerHand)); + + do { + displayHandsAndCurrentScore(); + promptHitOrStay(); + hitOrStayAction(gamblingPlayerHand, promptHitOrStay()); + checkScore(checkHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)); + + } + while (checkScore(checkHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)) < 21 || promptHitOrStay() == 0); + + } @@ -120,28 +130,30 @@ public void initializeBlackJackHands() { computerHand = new CardHand(blackJackDeck.dealCards(2)); } + + //takes arrayList of cards from hand and separates them by card so translateBlackJackValueFromRank can assign a value to each card. Then calculates value of hand without considering public Integer checkHandValue(CardHand hand) { Integer handValue = 0; for (int i = 0; i < hand.userHand.size(); i++) { handValue = handValue + translateBlackJackValueFromRank(hand.userHand.get(i)); } - return handValue; } - + //takes cards passed from checkHandValue and sets a value based on card rank. Aces are defaulted to 11 points. public Integer translateBlackJackValueFromRank(Card card) { - Integer blackJacHandValue = null; + Integer blackJackHandValueofAceIs11Points = null; if (card.getRank() == Rank.JACK || card.getRank() == Rank.QUEEN || card.getRank() == Rank.KING) { - blackJacHandValue = 10; + blackJackHandValueofAceIs11Points = 10; } else if (card.getRank() == Rank.ACE) { - blackJacHandValue = 11; + blackJackHandValueofAceIs11Points = 11; } else { - blackJacHandValue = Integer.valueOf(card.getRank().toString()); + blackJackHandValueofAceIs11Points = Integer.valueOf(card.getRank().toString()); } - return blackJacHandValue; + return blackJackHandValueofAceIs11Points; } + //counts the number of Aces in cardHand. public Integer checkHandForAces(CardHand hand) { Integer aceCounter = 0; for (int i = 0; i < hand.userHand.size(); i++) { @@ -152,6 +164,7 @@ public Integer checkHandForAces(CardHand hand) { return aceCounter; } + //evaluates score of blackjack hand and determines whether or not the value of each Ace should remain at 11 points or be reassigned to 1 point. Returns public Integer checkScore(Integer blackJackHandValue, Integer numberOfAces) { if (numberOfAces == 1 && blackJackHandValue > 21) { blackJackHandValue = blackJackHandValue - 10; @@ -171,25 +184,27 @@ public Integer checkScore(Integer blackJackHandValue, Integer numberOfAces) { return blackJackHandValue; } - - public void promptHitOrStay() { - System.out.println(gamblingPlayerHand.displayHand()); - System.out.println(computerHand.displayHand()); - Integer hitOrStayUserInput = input.getIntegerInput("Press 1 to hit or 2 to stay"); - if(hitOrStayUserInput == 1) { - - } - + public void displayHandsAndCurrentScore() { + input.print(gamblingPlayerHand.toString() + "Your score is " + checkScore(checkHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)), + computerHand.toString() + "Dealer score is " + checkScore(checkHandValue(computerHand), checkHandForAces(computerHand))); } - public void dealerHitOrStay(Integer hitOrStayUserInput) { - - + public Integer promptHitOrStay() { + Integer hitOrStayUserInput = input.getIntegerInput("Press 1 to hit or 2 to stay."); + while (hitOrStayUserInput != 1 || hitOrStayUserInput != 0) { + hitOrStayUserInput = input.getIntegerInput("Invalid key, press 1 to hit or 2 to stay."); + } + return hitOrStayUserInput; } - public void hit(Player deck, Player player) { + public void hitOrStayAction(CardHand hand, Integer hitOrStayUserInput) { + if (hitOrStayUserInput == 1) { + hand.userHand.add(blackJackDeck.drawCard()); + } else { + + } } From 81081938def78499fdfecaa701cf76c7b564b797 Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Wed, 6 Nov 2019 14:29:50 -0500 Subject: [PATCH 114/169] fixed conflict --- src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index 9082b3882..00a160368 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -1,5 +1,6 @@ -ppackage io.zipcoder.casino.DiceGames; +package io.zipcoder.casino.DiceGames; +import io.zipcoder.casino.DiceGames.Dice; import io.zipcoder.casino.Interfaces.Game; import io.zipcoder.casino.Player.Player; import io.zipcoder.casino.utilities.Console; From b5439f449f28536cc81922e083a51f8b7f39774b Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Wed, 6 Nov 2019 14:36:07 -0500 Subject: [PATCH 115/169] jazz --- src/main/java/io/zipcoder/casino/App.java | 2 +- src/main/java/io/zipcoder/casino/Player/Player.java | 4 ++-- src/main/java/io/zipcoder/casino/utilities/Console.java | 8 ++++---- src/test/java/io/zipcoder/casino/Player/PlayerTest.java | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/App.java b/src/main/java/io/zipcoder/casino/App.java index ea87af5c9..0a7d589a2 100644 --- a/src/main/java/io/zipcoder/casino/App.java +++ b/src/main/java/io/zipcoder/casino/App.java @@ -163,7 +163,7 @@ private void pause (int miliSeconds){ private void addMoney (){ double amount; amount = this.menu.getDoubleInput("How much money would you like to add to your account?"); - this.newPlayer.setBalance(amount); + this.newPlayer.addAmount(amount); } } // class diff --git a/src/main/java/io/zipcoder/casino/Player/Player.java b/src/main/java/io/zipcoder/casino/Player/Player.java index 99b08d4d2..5f604cb94 100644 --- a/src/main/java/io/zipcoder/casino/Player/Player.java +++ b/src/main/java/io/zipcoder/casino/Player/Player.java @@ -9,8 +9,8 @@ public class Player { protected double balance; - public void setBalance(double balance) { - this.balance = balance; + public void addAmount(double balance) { + this.balance += balance; } public Player(String ID, String password){ diff --git a/src/main/java/io/zipcoder/casino/utilities/Console.java b/src/main/java/io/zipcoder/casino/utilities/Console.java index f7ad446ad..37c295fcd 100644 --- a/src/main/java/io/zipcoder/casino/utilities/Console.java +++ b/src/main/java/io/zipcoder/casino/utilities/Console.java @@ -87,7 +87,7 @@ public void printGameName(Integer game) { " :#: +#+ +:+ :#::+::# +#+ +#++:++#++ +#++:++#++ \n" + " +#+ +#+# +#+ +#+ +#+ +#+ +#+ +#+ +#+ \n" + "#+# #+# #+# #+# #+# #+# #+# #+# #+# #+# \n" + - "######## ######## ### ########### ######## ### ### "; + "######## ######## ### ########### ######## ### ### \n\n"; break; case 2: @@ -98,7 +98,7 @@ public void printGameName(Integer game) { " +#++: +#++:++#++: +#++:++#++ +#+ +#+ +#++:++# +#++:++# \n" + " +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ \n" + " #+# #+# #+# #+# #+# #+# #+# #+# #+# \n" + - "### ### ### ### ### ### ######### ########## ########## "; + "### ### ### ### ### ### ######### ########## ########## \n\n"; break; case 3: @@ -108,7 +108,7 @@ public void printGameName(Integer game) { " +#++:++#+ +#+ +#++:++#++: +#+ +#++:++ +#+ +#++:++#++: +#+ +#++:++ \n" + " +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ +#+ \n" + " #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# #+# \n" + - "######### ########## ### ### ######## ### ### ##### ### ### ######## ### ### "; + "######### ########## ### ### ######## ### ### ##### ### ### ######## ### ### \n\n"; break; case 4: @@ -118,7 +118,7 @@ public void printGameName(Integer game) { " +#+ +#++:++#: +#++:++#++: +#++:++#+ +#++:++#++ \n" + " +#+ +#+ +#+ +#+ +#+ +#+ +#+ \n" + "#+# #+# #+# #+# #+# #+# #+# #+# #+# \n" + - "######## ### ### ### ### ### ######## "; + "######## ### ### ### ### ### ######## \n\n"; break; } diff --git a/src/test/java/io/zipcoder/casino/Player/PlayerTest.java b/src/test/java/io/zipcoder/casino/Player/PlayerTest.java index 6e2f2bf7d..11fd28206 100644 --- a/src/test/java/io/zipcoder/casino/Player/PlayerTest.java +++ b/src/test/java/io/zipcoder/casino/Player/PlayerTest.java @@ -9,10 +9,10 @@ public class PlayerTest { @Test - public void testSetBalance() { + public void testAddAmount() { Player newPlayer = new Player("bogus","bogus"); - newPlayer.setBalance(50); + newPlayer.addAmount(50); double expected = 50.0; double actual = newPlayer.balance; From 965608623460ecd68dfa46813c55c70e358c1e47 Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Wed, 6 Nov 2019 14:45:18 -0500 Subject: [PATCH 116/169] blank yatzee --- .../io/zipcoder/casino/DiceGames/Yahtzee.java | 410 ------------------ 1 file changed, 410 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index 00a160368..b239fb400 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -7,414 +7,4 @@ public class Yahtzee implements Game { - //------------------------------------------------------------------------------------------------------------------ - // Fields----------------------------------------------------------------------------------------------------------- - - private Player user; - private static Console console = new Console(System.in, System.out); - private Dice[] myDice; - private int points; - private String[] availableOptions = {" ","1s", "2s", "3s", "4s", "5s", "6s", "3 of a kind", "4 of a kind", - "Small Straight", "Large Straight", "Full House", "Yahtzee", "Chance"}; - private boolean continuePlay; - - //------------------------------------------------------------------------------------------------------------------ - // Constructor------------------------------------------------------------------------------------------------------ - - public Yahtzee(Player player){ - this.user = player; - this.myDice = createDice(); - this.points = 0; - continuePlay = true; - } - - - //------------------------------------------------------------------------------------------------------------------ - // Method called to play the game----------------------------------------------------------------------------------- - - public void startGame(){ - console.println("Welcome to Yahtzee!"); - console.getStringInput("\nPress enter to begin."); - - while(continuePlay) { - for (int i = 0; i < 13; i++) { - resetDice(); - console.getStringInput("Press enter to make your first roll."); - console.println("First roll results:\n"); - roll5Dice(); - chooseToKeep(); - console.getStringInput("Press enter to make your second roll."); - console.println("First roll results:\n"); - roll5Dice(); - chooseToKeep(); - console.getStringInput("Press enter to make your final roll."); - console.println("Final roll results:\n"); - roll5Dice(); - int pointsAdded = checkForEvaluation(chooseEvaluation(), getDiceValues()); - updateScore(pointsAdded); - } - displayResults(); - promptLeaveGame(); - if (!this.continuePlay) { return; } - } - } - - - //------------------------------------------------------------------------------------------------------------------ - // Method for game setup and score keeping-------------------------------------------------------------------------- - - public Dice[] createDice(){ - Dice[] dice = new Dice[5]; - for(int i = 0; i < dice.length; i++){ - dice[i] = new Dice(); - } - return dice; - } - - private void updateScore(int pointsAdded) { - console.println("points added: " + pointsAdded); - this.points += pointsAdded; - console.println("Your current score is: " + this.points); - } - - public void displayResults(){ - console.println("Your final score is: " + this.getPoints()); - } - - public void promptLeaveGame(){ - String exitOrNo; - boolean c = false; - while (!c) { - - exitOrNo = console.getStringInput("Would you like to play again?\n1. Play again\n2. Exit"); - - if(exitOrNo.equals("")){ - exitOrNo = " "; - } - - switch (exitOrNo.charAt(0)) { - case '1': case 'p': case 'P': - this.continuePlay = true; - c = true; - break; - case '2': case 'e': case 'E': - this.continuePlay = false; - c = true; - break; - default: - console.println("Please choose one of the options."); - break; - } - } - } - - - //------------------------------------------------------------------------------------------------------------------ - // Following methods are for rolling dice and choosing which ones to keep------------------------------------------- - - public void resetDice(){ - for(int i = 0; i < myDice.length; i++){ - myDice[i].setKept(false); - } - } - - public void roll5Dice(){ - for(Dice s : this.myDice){ - if(!s.isKept()){ - s.rollDice(); - } - } - } - - public void chooseToKeep(){ - String keepthis = ""; - while(!keepthis.toLowerCase().equals("roll")) { - for (int i = 0; i < this.myDice.length; i++) { - console.print((i + 1) + ". " + this.myDice[i].toString() + "\n"); - } - keepthis = console.getStringInput("Type the corresponding number of the dice and press enter to " + - "switch it between keeping and re-rolling.\n" + - "Type 'continue' when finished\n"); - if(keepthis.equals("")){ keepthis = " "; } - - switch (keepthis.charAt(0)){ - case '1': this.myDice[0].keptOrRolled(); break; - case '2': this.myDice[1].keptOrRolled(); break; - case '3': this.myDice[2].keptOrRolled(); break; - case '4': this.myDice[3].keptOrRolled(); break; - case '5': this.myDice[4].keptOrRolled(); break; - case 'c': keepthis = "roll"; break; - default: break; - } - } - } - - - //------------------------------------------------------------------------------------------------------------------ - // Following methods are for evaluating the dice at the end of three rolls------------------------------------------ - - public int chooseEvaluation(){ - int choice = 0; - boolean goodChoice = false; - - for(int i = 1; i < availableOptions.length; i++) { console.println((i) + ". " + availableOptions[i]); } - - while(!goodChoice){ - try{ - for(Dice s: this.myDice){ - console.print(s.getValue() + ", "); - } - choice = console.getIntegerInput("\n\nWhich one do you want to choose? "); - if(choice == 0){} - else if(choice < 1 || choice > 13){ - console.println("Please pick an option within the bounds."); - } - else if(this.availableOptions[choice].equals(" ")){ - console.println("Box already picked. Please choose again."); - } - else{ - availableOptions[choice] = " "; - goodChoice = true; - } - } - catch(Exception NumberFormatException){ - console.println("Please enter a number."); - choice = 0; - } - } - return choice; - } - - public int checkForEvaluation(int choice,Integer[] diceValues){ - - switch (choice){ - case 1: return checkForFaces(diceValues, 1); - case 2: return checkForFaces(diceValues, 2); - case 3: return checkForFaces(diceValues, 3); - case 4: return checkForFaces(diceValues, 4); - case 5: return checkForFaces(diceValues, 5); - case 6: return checkForFaces(diceValues, 6); - case 7: return checkForSameKind(diceValues, 3); - case 8: return checkForSameKind(diceValues,4); - case 9: return checkForStraight(diceValues, 4); - case 10: return checkForStraight(diceValues, 5); - case 11: return checkForFullHouse(diceValues); - case 12: return checkForYahtzee(diceValues); - case 13: return chance(diceValues); - default: return 0; - } - } - - public int checkForFaces(Integer[] diceValues, int valueToLookFor){ - int results = 0; - for(int i = 0; i < diceValues.length; i++){ - if(diceValues[i] == valueToLookFor){ - results += valueToLookFor; - } - } - return results; - } - - public int chance(Integer[] diceValues){ - int points = 0; - for(int i = 0; i < diceValues.length; i++){ - points += diceValues[i]; - } - return points; - } - - public int checkForSameKind(Integer[] diceValues, int threeOrFour){ - int counter; - for(int i = 0; i < diceValues.length - (threeOrFour - 1); i++){ - counter = 1; - for(int j = i + 1; j < diceValues.length; j++){ - if(diceValues[i] == diceValues[j]){ - counter++; - } - } - if(counter >= threeOrFour){ return this.chance(diceValues); } - } - return 0; - } - - public int checkForFullHouse(Integer[] diceValues){ - if(this.checkForSameKind(diceValues, 3) != 0){ - int counter; - for(int i = 0; i < diceValues.length - 2; i++){ - counter = 1; - for(int j = 0; j < diceValues.length; j++){ - if(diceValues[i] == diceValues[j] && i !=j){ - counter++; - } - } - if(counter == 2){ - return 25; - } - } - } - return 0; - } - - - public int checkForStraight(Integer[]diceValues, int size){ - boolean found1 = false; - boolean found2 = false; - boolean found3 = false; - boolean found4 = false; - boolean found5 = false; - boolean found6 = false; - - for (int i = 0; i < diceValues.length; i++){ - if(diceValues[i] == 1){ found1 = true; } - else if(diceValues[i] == 2){ found2 = true; } - else if(diceValues[i] == 3){ found3 = true; } - else if(diceValues[i] == 4){ found4 = true; } - else if(diceValues[i] == 5){ found5 = true; } - else if(diceValues[i] == 6){ found6 = true; } - } - switch(size){ - case 4: - if((found1 && found2 && found3 && found4)|| - (found2 && found3 && found4 && found5)|| - (found3 && found4 && found5 && found6)){ - return 30; - } - case 5: - if((found1 && found2 && found3 && found4 && found5)|| - (found2 && found3 && found4 && found5 && found6)){ - return 40; - } - default: - return 0; - } - } - - public int checkForYahtzee(Integer[] diceValues){ - for(int i = 0; i < diceValues.length; i++){ - if(diceValues[0] != diceValues[i]){ - return 0; - } - } - return 50; - } - - - //------------------------------------------------------------------------------------------------------------------ - // getters and setters---------------------------------------------------------------------------------------------- - - public Integer[] getDiceValues(){ - Integer[] values = new Integer[5]; - for(int i = 0; i < this.myDice.length; i++){ - values[i] = this.myDice[i].getValue(); - } - return values; - } - - public Player getUser() { - return user; - } - - public void setUser(Player user) { - this.user = user; - } - - public Dice[] getMyDice() { - return myDice; - } - - public void setMyDice(Dice[] myDice) { - this.myDice = myDice; - } - - public int getPoints() { - return points; - } - - public void setPoints(int points) { - this.points = points; - } - - - - - - - public String printDice(int value, int index){ - - switch (value){ - case 1: - return - " ----------------------\n" + - "| |\n" + - "| |\n" + - "| |\n" + - "| 0000 | " + this.myDice[index].isKept()+ "\n"+ - "| 0000 |\n" + - "| |\n" + - "| |\n" + - "| |\n" + - " ---------------------- "; - case 2: - return - " ----------------------\n" + - "| |\n" + - "| 0000 |\n" + - "| 0000 |\n" + - "| | " + this.myDice[index].isKept()+ "\n"+ - "| |\n" + - "| 0000 |\n" + - "| 0000 |\n" + - "| |\n" + - " ---------------------- "; - case 3: - return - " ----------------------\n" + - "| |\n" + - "| 0000 |\n" + - "| 0000 |\n" + - "| 0000 | " + this.myDice[index].isKept()+ "\n"+ - "| 0000 |\n" + - "| 0000 |\n" + - "| 0000 |\n" + - "| |\n" + - " ---------------------- "; - case 4: - return - " ----------------------\n" + - "| |\n" + - "| 0000 0000 |\n" + - "| 0000 0000 |\n" + - "| | " + this.myDice[index].isKept()+ "\n"+ - "| |\n" + - "| 0000 0000 |\n" + - "| 0000 0000 |\n" + - "| |\n" + - " ---------------------- "; - case 5: - return - " ----------------------\n" + - "| |\n" + - "| 0000 0000 |\n" + - "| 0000 0000 |\n" + - "| 0000 | " + this.myDice[index].isKept()+ "\n"+ - "| 0000 |\n" + - "| 0000 0000 |\n" + - "| 0000 0000 |\n" + - "| |\n" + - " ---------------------- "; - case 6: - return - " ----------------------\n" + - "| 0000 0000 |\n" + - "| 0000 0000 |\n" + - "| |\n" + - "| 0000 0000 | " + this.myDice[index].isKept()+ "\n"+ - "| 0000 0000 |\n" + - "| |\n" + - "| 0000 0000 |\n" + - "| 0000 0000 |\n" + - " ---------------------- "; - } - return ""; - } } \ No newline at end of file From 0067db95e413bf4f9973570cac70872a50b99f8f Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Wed, 6 Nov 2019 15:09:20 -0500 Subject: [PATCH 117/169] nuked repo --- src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index b3cdc1a32..24f41db14 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -21,7 +21,7 @@ public class Yahtzee implements Game { public Yahtzee(Player player){ this.user = player; this.myDice = createDice(); - this.points = 0; + this.points = 0;dg continuePlay = true; } From 121f26ef7e6670c5650ebf0b36ae8ac7b90dd50e Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Wed, 6 Nov 2019 15:13:10 -0500 Subject: [PATCH 118/169] more user friendly stuff --- src/main/java/io/zipcoder/casino/App.java | 3 ++- src/main/java/io/zipcoder/casino/utilities/Console.java | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/zipcoder/casino/App.java b/src/main/java/io/zipcoder/casino/App.java index 0a7d589a2..fc5ea3aba 100644 --- a/src/main/java/io/zipcoder/casino/App.java +++ b/src/main/java/io/zipcoder/casino/App.java @@ -85,7 +85,7 @@ private void mainMenuActions(Integer userSelection){ break; default: - this.menu.print("Error! Please enter another option!"); + this.menu.print("Error! Please enter another option!\n\n"); pause(1000); mainMenu(); @@ -104,6 +104,7 @@ private void selectGameToPlay() { private void selectGameToPlayActions(Integer gameSelected){ pause(1000); + this.menu.clearScreen(); this.menu.printGameName(gameSelected); pause(1000); switch (gameSelected){ diff --git a/src/main/java/io/zipcoder/casino/utilities/Console.java b/src/main/java/io/zipcoder/casino/utilities/Console.java index 37c295fcd..88ed89c73 100644 --- a/src/main/java/io/zipcoder/casino/utilities/Console.java +++ b/src/main/java/io/zipcoder/casino/utilities/Console.java @@ -124,5 +124,12 @@ public void printGameName(Integer game) { println(gameName); } + + public void clearScreen() { + for (int i = 0; i < 11; i++) { + println("\n"); + } + + } } From 1f7e6086512e9862366fa58b50cbca3e605af882 Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Wed, 6 Nov 2019 15:41:49 -0500 Subject: [PATCH 119/169] Added dice art --- .../zipcoder/casino/CardGames/BlackJack.java | 4 +- .../io/zipcoder/casino/DiceGames/Yahtzee.java | 143 ++++++++++++++---- 2 files changed, 114 insertions(+), 33 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index 4cbf5b24a..8112420d0 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -1,7 +1,7 @@ package io.zipcoder.casino.CardGames; -import com.sun.xml.internal.bind.v2.TODO; -import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput; +//import com.sun.xml.internal.bind.v2.TODO; +//import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput; import io.zipcoder.casino.Interfaces.GamblingGame; import io.zipcoder.casino.Player.GamblingPlayer; import io.zipcoder.casino.Player.Player; diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index 799d6474e..bdf3a8825 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -6,6 +6,7 @@ public class Yahtzee implements Game { + //------------------------------------------------------------------------------------------------------------------ // Fields----------------------------------------------------------------------------------------------------------- private Player user; @@ -16,6 +17,7 @@ public class Yahtzee implements Game { "Small Straight", "Large Straight", "Full House", "Yahtzee", "Chance"}; private boolean continuePlay; + //------------------------------------------------------------------------------------------------------------------ // Constructor------------------------------------------------------------------------------------------------------ public Yahtzee(Player player){ @@ -25,14 +27,28 @@ public Yahtzee(Player player){ continuePlay = true; } - // Methods---------------------------------------------------------------------------------------------------------- + + //------------------------------------------------------------------------------------------------------------------ + // Method called to play the game----------------------------------------------------------------------------------- public void startGame(){ console.println("Welcome to Yahtzee!"); + console.getStringInput("\nPress enter to begin."); while(continuePlay) { for (int i = 0; i < 13; i++) { - beginDiceRolls(); + resetDice(); + console.getStringInput("Press enter to make your first roll."); + console.println("First roll results:"); + roll5Dice(); + chooseToKeep(); + console.getStringInput("Press enter to make your second roll."); + console.println("Second roll results:"); + roll5Dice(); + chooseToKeep(); + console.getStringInput("Press enter to make your final roll."); + console.println("Final roll results:"); + roll5Dice(); int pointsAdded = checkForEvaluation(chooseEvaluation(), getDiceValues()); updateScore(pointsAdded); } @@ -42,6 +58,10 @@ public void startGame(){ } } + + //------------------------------------------------------------------------------------------------------------------ + // Method for game setup and score keeping-------------------------------------------------------------------------- + public Dice[] createDice(){ Dice[] dice = new Dice[5]; for(int i = 0; i < dice.length; i++){ @@ -50,14 +70,6 @@ public Dice[] createDice(){ return dice; } - public Integer[] getDiceValues(){ - Integer[] values = new Integer[5]; - for(int i = 0; i < this.myDice.length; i++){ - values[i] = this.myDice[i].getValue(); - } - return values; - } - private void updateScore(int pointsAdded) { console.println("points added: " + pointsAdded); this.points += pointsAdded; @@ -95,22 +107,9 @@ public void promptLeaveGame(){ } } - // Following methods are for rolling dice and choosing which ones to keep------------------------------------------- - public void beginDiceRolls(){ - resetDice(); - console.getStringInput("Press enter to make your first roll."); - console.println("First roll results:\n"); - roll5Dice(); - chooseToKeep(); - console.getStringInput("Press enter to make your second roll."); - console.println("First roll results:\n"); - roll5Dice(); - chooseToKeep(); - console.getStringInput("Press enter to make your final roll."); - console.println("Final roll results:\n"); - roll5Dice(); - } + //------------------------------------------------------------------------------------------------------------------ + // Following methods are for rolling dice and choosing which ones to keep------------------------------------------- public void resetDice(){ for(int i = 0; i < myDice.length; i++){ @@ -129,10 +128,10 @@ public void roll5Dice(){ public void chooseToKeep(){ String keepthis = ""; while(!keepthis.toLowerCase().equals("roll")) { - for (int i = 0; i < this.myDice.length; i++) { - console.print((i + 1) + ". " + this.myDice[i].toString() + "\n"); + for(int i = 0; i < myDice.length; i++){ + console.print(this.getDiceArt(myDice[i],i + 1)); } - keepthis = console.getStringInput("Type the corresponding number of the dice and press enter to " + + keepthis = console.getStringInput("\n\nType the corresponding number of the dice and press enter to " + "switch it between keeping and re-rolling.\n" + "Type 'continue' when finished\n"); if(keepthis.equals("")){ keepthis = " "; } @@ -149,19 +148,23 @@ public void chooseToKeep(){ } } + + //------------------------------------------------------------------------------------------------------------------ // Following methods are for evaluating the dice at the end of three rolls------------------------------------------ public int chooseEvaluation(){ int choice = 0; boolean goodChoice = false; + for(int i = 0; i < myDice.length; i++){ + console.print(this.getDiceArt(myDice[i],i + 1)); + } + for(int i = 1; i < availableOptions.length; i++) { console.println((i) + ". " + availableOptions[i]); } while(!goodChoice){ try{ - for(Dice s: this.myDice){ - console.print(s.getValue() + ", "); - } + choice = console.getIntegerInput("\n\nWhich one do you want to choose? "); if(choice == 0){} else if(choice < 1 || choice > 13){ @@ -296,8 +299,18 @@ public int checkForYahtzee(Integer[] diceValues){ return 50; } + + //------------------------------------------------------------------------------------------------------------------ // getters and setters---------------------------------------------------------------------------------------------- + public Integer[] getDiceValues(){ + Integer[] values = new Integer[5]; + for(int i = 0; i < this.myDice.length; i++){ + values[i] = this.myDice[i].getValue(); + } + return values; + } + public Player getUser() { return user; } @@ -321,4 +334,72 @@ public int getPoints() { public void setPoints(int points) { this.points = points; } + + + + + + public String getDiceArt(Dice dice, int index){ + + String keepOrReRoll; + if(dice.isKept()){ + keepOrReRoll = "Keep"; + } + else{ + keepOrReRoll = "Re-roll"; + } + String d1 = " "; + String d2 = " "; + String d3 = " "; + String d4 = " "; + String d5 = " "; + String d6 = " "; + String d7 = " "; + + switch (dice.getValue()){ + case 1: + d4 = "0"; + break; + case 2: + d1 = "0"; + d7 = "0"; + break; + case 3: + d1 = "0"; + d4 = "0"; + d7 = "0"; + break; + case 4: + d1 = "0"; + d2 = "0"; + d6 = "0"; + d7 = "0"; + break; + case 5: + d1 = "0"; + d2 = "0"; + d4 = "0"; + d6 = "0"; + d7 = "0"; + break; + case 6: + d1 = "0"; + d2 = "0"; + d3 = "0"; + d5 = "0"; + d6 = "0"; + d7 = "0"; + break; + + } + return String.format( + " ###############\n"+ + " # %s       %s #\n"+ + " #        #\n"+ + index + ". #  %s %s %s # "+ keepOrReRoll + "\n"+ + " #         #\n"+ + " #  %s     %s #\n"+ + " ###############\n", + d1,d2,d3,d4,d5,d6,d7); + } } \ No newline at end of file From c60196ecbfe1afc6fa2281fba9182537567d2f89 Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Wed, 6 Nov 2019 15:43:21 -0500 Subject: [PATCH 120/169] Update --- src/main/java/io/zipcoder/casino/CardGames/BlackJack.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index 8112420d0..4cbf5b24a 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -1,7 +1,7 @@ package io.zipcoder.casino.CardGames; -//import com.sun.xml.internal.bind.v2.TODO; -//import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput; +import com.sun.xml.internal.bind.v2.TODO; +import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput; import io.zipcoder.casino.Interfaces.GamblingGame; import io.zipcoder.casino.Player.GamblingPlayer; import io.zipcoder.casino.Player.Player; From 3eebbef11aa8742e645e06793ac554b33addbb1d Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Wed, 6 Nov 2019 15:50:02 -0500 Subject: [PATCH 121/169] Update --- .../io/zipcoder/casino/DiceGames/Yahtzee.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index bdf3a8825..eeef7190f 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -4,8 +4,10 @@ import io.zipcoder.casino.Player.Player; import io.zipcoder.casino.utilities.Console; + public class Yahtzee implements Game { + //------------------------------------------------------------------------------------------------------------------ // Fields----------------------------------------------------------------------------------------------------------- @@ -17,6 +19,7 @@ public class Yahtzee implements Game { "Small Straight", "Large Straight", "Full House", "Yahtzee", "Chance"}; private boolean continuePlay; + //------------------------------------------------------------------------------------------------------------------ // Constructor------------------------------------------------------------------------------------------------------ @@ -131,7 +134,7 @@ public void chooseToKeep(){ for(int i = 0; i < myDice.length; i++){ console.print(this.getDiceArt(myDice[i],i + 1)); } - keepthis = console.getStringInput("\n\nType the corresponding number of the dice and press enter to " + + keepthis = console.getStringInput("\nType the corresponding number of the dice and press enter to "+ "switch it between keeping and re-rolling.\n" + "Type 'continue' when finished\n"); if(keepthis.equals("")){ keepthis = " "; } @@ -336,8 +339,8 @@ public void setPoints(int points) { } - - + //------------------------------------------------------------------------------------------------------------------ + // Method for getting ASCII dice art-------------------------------------------------------------------------------- public String getDiceArt(Dice dice, int index){ @@ -394,11 +397,11 @@ public String getDiceArt(Dice dice, int index){ } return String.format( " ###############\n"+ - " # %s       %s #\n"+ + " # %s       %s #\n"+ " #        #\n"+ - index + ". #  %s %s %s # "+ keepOrReRoll + "\n"+ + index + ". #  %s %s %s # "+ keepOrReRoll + "\n"+ " #         #\n"+ - " #  %s     %s #\n"+ + " #  %s     %s #\n"+ " ###############\n", d1,d2,d3,d4,d5,d6,d7); } From 3a22346c26a541bdf220ea4e2b4dbc504acf7779 Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Wed, 6 Nov 2019 15:53:04 -0500 Subject: [PATCH 122/169] added get balance method --- .../io/zipcoder/casino/Player/GamblingPlayer.java | 2 ++ src/main/java/io/zipcoder/casino/Player/Player.java | 11 ++++------- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java index c0dbfe4f7..972e27c4b 100644 --- a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java +++ b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java @@ -24,4 +24,6 @@ public Boolean placeWager(double wagerAmount) { public void getWinnings() { gambler.balance += pot * 2; } + + public Double getBalance(){return gambler.balance;} } diff --git a/src/main/java/io/zipcoder/casino/Player/Player.java b/src/main/java/io/zipcoder/casino/Player/Player.java index 58b1456b0..a2c5afd59 100644 --- a/src/main/java/io/zipcoder/casino/Player/Player.java +++ b/src/main/java/io/zipcoder/casino/Player/Player.java @@ -7,18 +7,15 @@ public class Player { protected String pwd; protected double balance; - - - - public void addAmount(double balance) { - this.balance += balance; - } - public Player(String ID, String password){ this.ID = ID; this.pwd = password; this.balance = 0.0; } + public void addAmount(double balance) { + this.balance += balance; + } + } From 5d3a89d50f79592af46abc5183b2838f57e44f64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kwam=C3=A8=20Warrick?= Date: Wed, 6 Nov 2019 16:07:10 -0500 Subject: [PATCH 123/169] console craps update --- .../io/zipcoder/casino/CardGames/GoFish.java | 1 + src/main/java/io/zipcoder/casino/Casino.java | 3 ++- .../io/zipcoder/casino/DiceGames/Craps.java | 19 ++++++++++++++++++- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java index b24121a34..7ad217971 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java +++ b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java @@ -162,6 +162,7 @@ public void promptLeaveGame() { } public void displayResults() { + } diff --git a/src/main/java/io/zipcoder/casino/Casino.java b/src/main/java/io/zipcoder/casino/Casino.java index 6e469139a..eb6ce65a2 100644 --- a/src/main/java/io/zipcoder/casino/Casino.java +++ b/src/main/java/io/zipcoder/casino/Casino.java @@ -3,7 +3,8 @@ import io.zipcoder.casino.utilities.Console; -public class Casino { +public class + Casino { public static void main(String[] args) { // write your tests before you start fucking with this diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java index a49de6558..9ec47ba7e 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java @@ -38,7 +38,7 @@ public Dice[] createDice() { public void startGame() { - + console.println("Welcome to Craps!"); do { promptUserForWagerAmount(); createDice(); @@ -47,12 +47,16 @@ public void startGame() { turn++; } while (continuePlay == true); + promptLeaveGame(); } + public void crapsRoll() { for (Dice s : this.crapsDice) { + console.getStringInput("Press enter to roll."); s.rollDice(); + } } @@ -61,18 +65,27 @@ public void evaluateRoll() { if (turn == 0) { if (sum == 7 || sum == 11) { crapsPlayer.getWinnings(); + console.println("Winner Winner, Chicken Dinner! " ); continuePlay = false; } else if (sum == 2 || sum == 3 || sum == 12) { + console.println("You've Crapped out!!"); continuePlay = false; + } else { targetScore = sum; + console.println("You've rolled a " + sum); } } else { if (sum == 7) { + console.println("You've Crapped out!!"); continuePlay = false; } else if (sum == targetScore) { + console.println("Your Last Roll Was " + sum + "\nYour Target Score is " + targetScore); crapsPlayer.getWinnings(); + + console.println("Winner Winner, Chicken Dinner! " ); + continuePlay = false; } @@ -92,10 +105,14 @@ public void promptUserForWagerAmount() { public void promptLeaveGame() { + console.println("Do you want to play again?"); + } public void displayResults() { + + } From 3b8e1b673ffa575da0c305a50b5c96b51cfc407e Mon Sep 17 00:00:00 2001 From: Maira Botelho Date: Wed, 6 Nov 2019 16:09:26 -0500 Subject: [PATCH 124/169] changes diaplay go fish --- .../zipcoder/casino/CardGames/BlackJack.java | 4 +- .../io/zipcoder/casino/CardGames/Card.java | 6 +- .../zipcoder/casino/CardGames/CardHand.java | 6 +- .../io/zipcoder/casino/CardGames/GoFish.java | 127 ++++++++++-------- .../io/zipcoder/casino/Player/Player.java | 9 ++ 5 files changed, 88 insertions(+), 64 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index 4cbf5b24a..8112420d0 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -1,7 +1,7 @@ package io.zipcoder.casino.CardGames; -import com.sun.xml.internal.bind.v2.TODO; -import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput; +//import com.sun.xml.internal.bind.v2.TODO; +//import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput; import io.zipcoder.casino.Interfaces.GamblingGame; import io.zipcoder.casino.Player.GamblingPlayer; import io.zipcoder.casino.Player.Player; diff --git a/src/main/java/io/zipcoder/casino/CardGames/Card.java b/src/main/java/io/zipcoder/casino/CardGames/Card.java index 299e5c42f..3398cddcc 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/Card.java +++ b/src/main/java/io/zipcoder/casino/CardGames/Card.java @@ -1,5 +1,7 @@ package io.zipcoder.casino.CardGames; +import java.util.Collections; + public class Card { private Suit suit; @@ -25,8 +27,6 @@ public Rank getRank() { public String toString() { - return String.format("%s of %s \n", rank, suit).replace(",", ""); + return String.format("%s of %s \n\n", rank, suit); } - - } diff --git a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java index d00f20b48..b1ead63af 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java +++ b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java @@ -1,6 +1,7 @@ package io.zipcoder.casino.CardGames; import java.util.ArrayList; +import java.util.Comparator; public class CardHand { @@ -14,7 +15,10 @@ public CardHand(ArrayList dealtCards){ public String displayHand() { - return userHand.toString(); + userHand.sort(Comparator.comparing(Card::getRank)); + + return userHand.toString().replace(",", "") + .replace("[", " ").replace("]", ""); } } diff --git a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java index b24121a34..288530663 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java +++ b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java @@ -4,13 +4,12 @@ import io.zipcoder.casino.Player.Player; import io.zipcoder.casino.utilities.Console; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Random; +import java.util.*; public class GoFish implements Game { - Console input = new Console(System.in, System.out); + Console newConsole = new Console(System.in, System.out); + Random random = new Random(); private Player user; private Deck goFishDeck; @@ -22,7 +21,7 @@ public GoFish(Player player) { this.user = player; //initialize deck and shuffle - goFishDeck = new Deck(1); + this.goFishDeck = new Deck(1); goFishDeck.shuffleDeck(); //initialize players' hand and deal cards @@ -32,122 +31,134 @@ public GoFish(Player player) { } - public void startGame() { - System.out.println("\n\nLoading Go Fish....\n\n"); + public void startGame() { + newConsole.println("\n\nLoading Go Fish.... \n\n"); do { - System.out.println("Your turn \n\n"); - + newConsole.println("%s's turn \n\n", this.user.getID()); playerTurn(); - winGame = evaluateHand(playerHand); + //evaluateHand(playerHand); - System.out.println("Computer's Turn"); + newConsole.println("Computer's Turn \n\n"); computerTurn(); + //evaluateHand(computerHand); + } while (!winGame); - } while (winGame == false); + promptLeaveGame(); } public void playerTurn() { - System.out.println(playerHand.displayHand()); + newConsole.println(playerHand.displayHand()); - String userInput = input.getStringInput("Which value would you like to ask for? "); - userInput.toUpperCase(); + String cardWanted = newConsole.getStringInput("Which value would you like to ask for? ").toUpperCase(); - if (haveCard(computerHand, userInput) == true) { + //If Player asked for a card that is in hand + if (haveCard(playerHand, cardWanted)) { - System.out.println("The computer has this card"); - tradeCards(computerHand, userInput, playerHand); + if (haveCard(computerHand, cardWanted)) { + newConsole.println("\nThe computer has this card\n"); + newConsole.println("New Card(s) >> " + tradeCards(computerHand, cardWanted, playerHand).toString() + .replace("[", "").replace("]", "")); + } else { + newConsole.println("\nGo Fish!!!\n"); + newConsole.println("New Card >> " + goFishForCard(playerHand).toString()); + } + + System.out.println(playerHand.displayHand()); - } else { - System.out.println("Go Fish!"); - goFishForCard(playerHand); - } - System.out.println(playerHand.displayHand()); + }else{ + newConsole.println("\n\nYou don't have this card. Try it again.\n\n"); + playerTurn(); + } + newConsole.getStringInput("\nPress Enter to continue\n"); } public void computerTurn() { - System.out.println(computerHand.displayHand()); - String newCard = getCompCard().toString(); - System.out.println("Computer asked for " + newCard); + newConsole.println("\nComputer asked for " + newCard); - if (haveCard(playerHand, newCard) == true) { + newConsole.getStringInput("\nPress Enter to continue\n" ); - System.out.println("You have this card, the computer will take it"); + if (haveCard(playerHand, newCard)) { tradeCards(playerHand, newCard, computerHand); - + newConsole.println("\nYou have this card, the computer will take it\n"); } else { - System.out.println("Go Fish!"); - + newConsole.println("\nGo Fish!!!!\n"); goFishForCard(computerHand); } - System.out.println(computerHand.displayHand()); - + newConsole.getStringInput("\nPress Enter to continue\n" ); } //Tools for Game - public void tradeCards(CardHand tradingHand, String cardToRemove, CardHand receivingHand) { - ArrayList tradingCards = new ArrayList(); + public boolean haveCard(CardHand opponent, String wantedCard) { + for (Card card : opponent.userHand) + if (card.getRank().toString().equals(wantedCard)) + return true; - for (Card card : tradingHand.userHand) { - if (card.toString().contains(cardToRemove)) { - Card temp = card; - tradingHand.userHand.remove(card); - tradingCards.add(temp); - } + return false; + } - } + public ArrayList tradeCards(CardHand givingHand, String wantedCard, CardHand receivingHand){ - receivingHand.userHand.addAll(tradingCards); + ArrayList tradingCards = new ArrayList<>(); - } + for (Card card : givingHand.userHand) { + if (card.getRank().toString().equals(wantedCard)) + tradingCards.add(card); + } - public boolean haveCard(CardHand opponent, String wantedCard) { + givingHand.userHand.removeAll(tradingCards); + receivingHand.userHand.addAll(tradingCards); - for (Card card : opponent.userHand) { - if (card.toString().contains(wantedCard)) - return true; - } + return tradingCards; - return false; } - public void goFishForCard(CardHand hand) { + public Card goFishForCard(CardHand hand) { - hand.userHand.add(goFishDeck.drawCard()); + Card newCard = goFishDeck.drawCard(); + hand.userHand.add(newCard); + + return newCard; } public boolean evaluateHand(CardHand hand) { - int counter = 0; + + ArrayList winnings; + int counter; for (Card checkCard : hand.userHand) { + winnings = new ArrayList<>(); counter = 0; + for (Card card : hand.userHand) { if (checkCard.getRank() == card.getRank()) { + winnings.add(card); counter++; } } - if (counter == 2) { + if (counter == 4) { + hand.userHand.removeAll(winnings); return true; } @@ -157,6 +168,7 @@ public boolean evaluateHand(CardHand hand) { return false; } + public void promptLeaveGame() { } @@ -166,11 +178,10 @@ public void displayResults() { //Computer Play - public Rank getCompCard() { - Random rand = new Random(); - Card newcard = computerHand.userHand.get(rand.nextInt(computerHand.userHand.size())); - return newcard.getRank(); + Card newCard = computerHand.userHand.get(random.nextInt(computerHand.userHand.size())); + return newCard.getRank(); } + } diff --git a/src/main/java/io/zipcoder/casino/Player/Player.java b/src/main/java/io/zipcoder/casino/Player/Player.java index d5d8563ab..65b7f0145 100644 --- a/src/main/java/io/zipcoder/casino/Player/Player.java +++ b/src/main/java/io/zipcoder/casino/Player/Player.java @@ -6,6 +6,15 @@ public class Player { protected String ID; protected String pwd; + + public String getID() { + return ID; + } + + public void setID(String ID) { + this.ID = ID; + } + protected double balance; From aaaa27aae4e9caef6169027e36cc00444b28c1e7 Mon Sep 17 00:00:00 2001 From: mike Date: Wed, 6 Nov 2019 16:13:30 -0500 Subject: [PATCH 125/169] working on calculate hand methods --- .../zipcoder/casino/CardGames/BlackJack.java | 90 ++++++++++--------- .../io/zipcoder/casino/CardGames/Card.java | 23 +++++ .../zipcoder/casino/CardGames/CardHand.java | 3 + .../io/zipcoder/casino/CardGames/Rank.java | 9 +- 4 files changed, 83 insertions(+), 42 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index 77268a2e2..890174cce 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -1,16 +1,11 @@ package io.zipcoder.casino.CardGames; -import com.sun.xml.internal.bind.v2.TODO; -import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput; import io.zipcoder.casino.Interfaces.GamblingGame; import io.zipcoder.casino.Player.GamblingPlayer; import io.zipcoder.casino.Player.Player; import io.zipcoder.casino.utilities.Console; -import org.w3c.dom.ls.LSOutput; -import java.sql.SQLOutput; -//import javax.smartcardio.Card; public class BlackJack implements GamblingGame { @@ -94,20 +89,30 @@ public Card getCard() { public void setCard(Card card) { this.card = card; } + public void startGame() { + playBlackJack(); + } public void playBlackJack() { initializeBlackJackHands(); - checkScore(checkHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)); - checkScore(checkHandValue(computerHand), checkHandForAces(computerHand)); + checkHandValue(gamblingPlayerHand); + checkHandForAces(gamblingPlayerHand); + refactorAndCalculateHandValue(checkHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)); + checkHandValue(computerHand); + checkHandForAces(computerHand); + refactorAndCalculateHandValue(checkHandValue(computerHand), checkHandForAces(computerHand)); + displayHandsAndCurrentScore() + + do { displayHandsAndCurrentScore(); promptHitOrStay(); hitOrStayAction(gamblingPlayerHand, promptHitOrStay()); - checkScore(checkHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)); + refactorAndCalculateHandValue(checkHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)); } - while (checkScore(checkHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)) < 21 || promptHitOrStay() == 0); + while (refactorAndCalculateHandValue(checkHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)) < 21 || promptHitOrStay() == 0); } @@ -131,28 +136,15 @@ public void initializeBlackJackHands() { } - //takes arrayList of cards from hand and separates them by card so translateBlackJackValueFromRank can assign a value to each card. Then calculates value of hand without considering + //takes arrayList of cards from hand and separates them by card and totals point based on default Ace value of 11. public Integer checkHandValue(CardHand hand) { - Integer handValue = 0; + Integer handValueForDefaultAce11 = 0; for (int i = 0; i < hand.userHand.size(); i++) { - handValue = handValue + translateBlackJackValueFromRank(hand.userHand.get(i)); - } - return handValue; - } - //takes cards passed from checkHandValue and sets a value based on card rank. Aces are defaulted to 11 points. - public Integer translateBlackJackValueFromRank(Card card) { - Integer blackJackHandValueofAceIs11Points = null; - if (card.getRank() == Rank.JACK || card.getRank() == Rank.QUEEN || card.getRank() == Rank.KING) { - blackJackHandValueofAceIs11Points = 10; - } else if (card.getRank() == Rank.ACE) { - blackJackHandValueofAceIs11Points = 11; - } else { - blackJackHandValueofAceIs11Points = Integer.valueOf(card.getRank().toString()); + handValueForDefaultAce11 += card.blackJackCardRank.get(i); } - return blackJackHandValueofAceIs11Points; + return handValueForDefaultAce11; } - //counts the number of Aces in cardHand. public Integer checkHandForAces(CardHand hand) { Integer aceCounter = 0; @@ -164,29 +156,45 @@ public Integer checkHandForAces(CardHand hand) { return aceCounter; } - //evaluates score of blackjack hand and determines whether or not the value of each Ace should remain at 11 points or be reassigned to 1 point. Returns - public Integer checkScore(Integer blackJackHandValue, Integer numberOfAces) { - if (numberOfAces == 1 && blackJackHandValue > 21) { - blackJackHandValue = blackJackHandValue - 10; - } else if (numberOfAces == 2 && blackJackHandValue > 21) { - if (blackJackHandValue - 10 <= 21) { - blackJackHandValue = blackJackHandValue - 10; + //evaluates score of blackjack hand and determines whether or not the value of each Ace should remain at 11 points or be reassigned to 1 point. Returns new hand value. + public Integer refactorAndCalculateHandValue(Integer handValueForDefaultAce11, Integer numberOfAces) { + Integer refactoredHandValue = handValueForDefaultAce11; //default set to no changes. + if (numberOfAces == 1 && handValueForDefaultAce11 > 21) { + refactoredHandValue = handValueForDefaultAce11 - 10; //one Ace value changed to 1 point. + } else if (numberOfAces == 2 && handValueForDefaultAce11 > 21) { + if (handValueForDefaultAce11 - 10 <= 21) { + refactoredHandValue = handValueForDefaultAce11 - 10; //one Ace value changed to 1 point. } else { - blackJackHandValue = blackJackHandValue - 20; + refactoredHandValue = handValueForDefaultAce11 - 20; //two Ace values changed to 1 point. } - } else if (numberOfAces == 3 && blackJackHandValue > 21) { - if (blackJackHandValue - 20 <= 21) { - blackJackHandValue = blackJackHandValue - 20; + } else if (numberOfAces == 3 && handValueForDefaultAce11 > 21) { + if (handValueForDefaultAce11 - 20 <= 21) { + refactoredHandValue = handValueForDefaultAce11 - 20; } else { - blackJackHandValue = blackJackHandValue - 30; + refactoredHandValue = handValueForDefaultAce11 - 30; //three Ace values change to 1 point. } } - return blackJackHandValue; + return refactoredHandValue; + } + + public void checkForBlackJackAndDisplayScore() { + if(refactorAndCalculateHandValue(checkHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)) == 21 + && (refactorAndCalculateHandValue(checkHandValue(computerHand), checkHandForAces(computerHand))) == 21) { + input.print(" You and Dealer both got BlackJack!\n" + + "Your hand: " + gamblingPlayerHand.toString() + "\n" + + "Dealer hand: " + computerHand.toString() + "\n"); + } else if(refactorAndCalculateHandValue(checkHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)) == 21 + && (refactorAndCalculateHandValue(checkHandValue(computerHand), checkHandForAces(computerHand))) != 21) { + input.print(" You got BlackJack!\n" + + "Your hand: " + gamblingPlayerHand.toString() + "\n" + + "Dealer hand: " + computerHand.toString() + "\n"); + } + } public void displayHandsAndCurrentScore() { - input.print(gamblingPlayerHand.toString() + "Your score is " + checkScore(checkHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)), - computerHand.toString() + "Dealer score is " + checkScore(checkHandValue(computerHand), checkHandForAces(computerHand))); + input.print(gamblingPlayerHand.toString() + "Your score is " + refactorAndCalculateHandValue(checkHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand))), + computerHand.toString() + "Dealer score is " + refactorAndCalculateHandValue(checkHandValue(computerHand), checkHandForAces(computerHand))); } diff --git a/src/main/java/io/zipcoder/casino/CardGames/Card.java b/src/main/java/io/zipcoder/casino/CardGames/Card.java index 299e5c42f..8a6ea1474 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/Card.java +++ b/src/main/java/io/zipcoder/casino/CardGames/Card.java @@ -1,5 +1,7 @@ package io.zipcoder.casino.CardGames; +import java.util.HashMap; + public class Card { private Suit suit; @@ -28,5 +30,26 @@ public String toString() { return String.format("%s of %s \n", rank, suit).replace(",", ""); } + public HashMap blackJackCardRank = new HashMap() {{ + + put(Rank.TWO, 2); + put(Rank.THREE, 3); + put(Rank.FOUR, 4); + put(Rank.FIVE, 5); + put(Rank.SIX, 6); + put(Rank.SEVEN, 7); + put(Rank.EIGHT, 8); + put(Rank.NINE, 9); + put(Rank.TEN, 10); + put(Rank.ACE, 11); + put(Rank.JACK, 10); + put(Rank.QUEEN, 10); + put(Rank.KING, 10); + }}; + + + + + } diff --git a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java index d00f20b48..1cd3605fa 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/CardHand.java +++ b/src/main/java/io/zipcoder/casino/CardGames/CardHand.java @@ -1,6 +1,7 @@ package io.zipcoder.casino.CardGames; import java.util.ArrayList; +import java.util.HashMap; public class CardHand { @@ -17,4 +18,6 @@ public String displayHand() { return userHand.toString(); } + + } diff --git a/src/main/java/io/zipcoder/casino/CardGames/Rank.java b/src/main/java/io/zipcoder/casino/CardGames/Rank.java index 552fcba4b..08da165be 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/Rank.java +++ b/src/main/java/io/zipcoder/casino/CardGames/Rank.java @@ -1,8 +1,10 @@ package io.zipcoder.casino.CardGames; +import java.util.HashMap; + public enum Rank { - ACE, + TWO, THREE, FOUR, @@ -12,8 +14,13 @@ public enum Rank { EIGHT, NINE, TEN, + ACE, JACK, QUEEN, KING; + + + + } From ae1847a57f3782786864fa62bd0ea6e697f60b01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kwam=C3=A8=20Warrick?= Date: Wed, 6 Nov 2019 17:24:49 -0500 Subject: [PATCH 126/169] Craps is Done --- .../io/zipcoder/casino/DiceGames/Craps.java | 31 +++++++++++++------ .../casino/Player/GamblingPlayer.java | 4 +++ 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java index 9ec47ba7e..c9e266aa9 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java @@ -16,7 +16,7 @@ public class Craps implements GamblingGame { private boolean winGame; private Integer turn; private Integer targetScore; - + private int sum; //------------- Constructor---------------------------- public Craps(Player player) { this.crapsPlayer = new GamblingPlayer(player); @@ -25,6 +25,7 @@ public Craps(Player player) { this.continuePlay = true; this.turn = 0; + } //------------------------------------------------------ @@ -39,8 +40,10 @@ public Dice[] createDice() { public void startGame() { console.println("Welcome to Craps!"); + promptUserForWagerAmount(); + turn = 0; + continuePlay = true; do { - promptUserForWagerAmount(); createDice(); crapsRoll(); evaluateRoll(); @@ -53,15 +56,16 @@ public void startGame() { public void crapsRoll() { + console.getStringInput("Press enter to roll."); for (Dice s : this.crapsDice) { - console.getStringInput("Press enter to roll."); s.rollDice(); - } + sum = crapsDice[0].getValue() + crapsDice[1].getValue(); + console.println("You rolled a " + sum); } public void evaluateRoll() { - int sum = crapsDice[0].getValue() + crapsDice[1].getValue(); + if (turn == 0) { if (sum == 7 || sum == 11) { crapsPlayer.getWinnings(); @@ -74,17 +78,19 @@ public void evaluateRoll() { } else { targetScore = sum; - console.println("You've rolled a " + sum); + console.println( "Your Target Score is " + targetScore); + } } else { if (sum == 7) { console.println("You've Crapped out!!"); continuePlay = false; } else if (sum == targetScore) { - console.println("Your Last Roll Was " + sum + "\nYour Target Score is " + targetScore); + crapsPlayer.getWinnings(); console.println("Winner Winner, Chicken Dinner! " ); + console.println("Congratulations, your payout is $" + crapsPlayer.getPot()); continuePlay = false; } @@ -95,7 +101,8 @@ public void evaluateRoll() { public void promptUserForWagerAmount() { - double userWagerAmount = console.getDoubleInput("How much would you like to wager?"); + + double userWagerAmount = console.getDoubleInput("Your balance is now $ " + crapsPlayer.getBalance()+ "\nHow much would you like to wager?"); boolean wagerAmountSuccessful = crapsPlayer.placeWager(userWagerAmount); while (!wagerAmountSuccessful) { userWagerAmount = console.getDoubleInput("Wager exceeds your balance. Please wage a smaller amount."); @@ -105,11 +112,15 @@ public void promptUserForWagerAmount() { public void promptLeaveGame() { - console.println("Do you want to play again?"); - } + int userInput = console.getIntegerInput("Your balance is " + crapsPlayer.getBalance() + "\nDo you want to play again? \n" + + "1. Yes\n" + "2. No"); + if (userInput == 1) { + startGame(); + } + } public void displayResults() { diff --git a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java index 972e27c4b..c6ddc7053 100644 --- a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java +++ b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java @@ -11,6 +11,10 @@ public GamblingPlayer(Player user) { this.gambler = user; } + public Double getPot() { + return pot; + } + public Boolean placeWager(double wagerAmount) { if (gambler.balance < wagerAmount) { return false; From ec9e88b86a6f0b872ab0769c57f05db20e991f9b Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Wed, 6 Nov 2019 17:38:44 -0500 Subject: [PATCH 127/169] fix menu for craps --- src/main/java/io/zipcoder/casino/App.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/io/zipcoder/casino/App.java b/src/main/java/io/zipcoder/casino/App.java index fc5ea3aba..92bcf1cb7 100644 --- a/src/main/java/io/zipcoder/casino/App.java +++ b/src/main/java/io/zipcoder/casino/App.java @@ -125,6 +125,7 @@ private void selectGameToPlayActions(Integer gameSelected){ Craps newCraps = new Craps(this.newPlayer); addMoney(); newCraps.startGame(); + break; case 5: mainMenu(); break; From ffcbc30a5e8d016d8964ccbc83cf84e0241a8bda Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Wed, 6 Nov 2019 17:55:20 -0500 Subject: [PATCH 128/169] Updated ASCII art for Yahtzee Class --- .../io/zipcoder/casino/DiceGames/Dice.java | 9 ++ .../io/zipcoder/casino/DiceGames/Yahtzee.java | 129 +++++++++--------- 2 files changed, 74 insertions(+), 64 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Dice.java b/src/main/java/io/zipcoder/casino/DiceGames/Dice.java index e5e8ba6e3..a6eb6e5ab 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Dice.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Dice.java @@ -52,6 +52,15 @@ public String toString(){ return String.format(this.value + " : " + "Re-roll"); } } + public String toString2(){ + if(this.isKept()){ + return "Keep"; + } + else{ + return "Re-roll"; + } + } + public static ArrayList playerDice = new ArrayList(5); diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index 3a166313a..d6412a4d2 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -132,9 +132,8 @@ public void roll5Dice(){ public void chooseToKeep(){ String keepthis = ""; while(!keepthis.toLowerCase().equals("roll")) { - for(int i = 0; i < myDice.length; i++){ - console.print(this.getDiceArt(myDice[i],i + 1)); - } + + console.print(this.getDiceArt(myDice)); keepthis = console.getStringInput("\nType the corresponding number of the dice and press enter to "+ "switch it between keeping and re-rolling.\n" + "Type 'continue' when finished\n"); @@ -160,9 +159,8 @@ public int chooseEvaluation(){ int choice = 0; boolean goodChoice = false; - for(int i = 0; i < myDice.length; i++){ - console.print(this.getDiceArt(myDice[i],i + 1)); - } + console.print(this.getDiceArt(myDice)); + console.println("\n"); for(int i = 1; i < availableOptions.length; i++) { console.println((i) + ". " + availableOptions[i]); } @@ -343,67 +341,70 @@ public void setPoints(int points) { //------------------------------------------------------------------------------------------------------------------ // Method for getting ASCII dice art-------------------------------------------------------------------------------- - public String getDiceArt(Dice dice, int index){ + public String getDiceArt(Dice[] dice){ - String keepOrReRoll; - if(dice.isKept()){ - keepOrReRoll = "Keep"; - } - else{ - keepOrReRoll = "Re-roll"; - } - String d1 = " "; - String d2 = " "; - String d3 = " "; - String d4 = " "; - String d5 = " "; - String d6 = " "; - String d7 = " "; - - switch (dice.getValue()){ - case 1: - d4 = "0"; - break; - case 2: - d1 = "0"; - d7 = "0"; - break; - case 3: - d1 = "0"; - d4 = "0"; - d7 = "0"; - break; - case 4: - d1 = "0"; - d2 = "0"; - d6 = "0"; - d7 = "0"; - break; - case 5: - d1 = "0"; - d2 = "0"; - d4 = "0"; - d6 = "0"; - d7 = "0"; - break; - case 6: - d1 = "0"; - d2 = "0"; - d3 = "0"; - d5 = "0"; - d6 = "0"; - d7 = "0"; - break; + String[][] a = {{" ", " ", " ", " ", " ", " ", " "}, + {" ", " ", " ", " ", " ", " ", " "}, + {" ", " ", " ", " ", " ", " ", " "}, + {" ", " ", " ", " ", " ", " ", " "}, + {" ", " ", " ", " ", " ", " ", " "}}; + + for(int i = 0; i < dice.length; i++){ + switch(dice[i].getValue()){ + case 1: + a[i][3] = "0"; + break; + case 2: + a[i][0] = "0"; + a[i][6] = "0"; + break; + case 3: + a[i][0] = "0"; + a[i][3] = "0"; + a[i][6] = "0"; + break; + case 4: + a[i][0] = "0"; + a[i][1] = "0"; + a[i][5] = "0"; + a[i][6] = "0"; + break; + case 5: + a[i][0] = "0"; + a[i][1] = "0"; + a[i][3] = "0"; + a[i][5] = "0"; + a[i][6] = "0"; + break; + case 6: + a[i][0] = "0"; + a[i][1] = "0"; + a[i][2] = "0"; + a[i][4] = "0"; + a[i][5] = "0"; + a[i][6] = "0"; + break; + } } return String.format( - " ###############\n"+ - " # %s       %s #\n"+ - " #        #\n"+ - index + ". #  %s %s %s # "+ keepOrReRoll + "\n"+ - " #         #\n"+ - " #  %s     %s #\n"+ - " ###############\n", - d1,d2,d3,d4,d5,d6,d7); + " ############### " + " ############### " + " ############### " + " ############### " + " ###############\n" + + " # %s      %s # " + " # %s      %s # " + " # %s      %s # " + " # %s       %s # " + " # %s       %s #\n" + + " #       # " + " #       # " + " #       # " + " #       # " + " #       #\n" + + " # %s  %s   %s # " + " # %s  %s   %s # " + " # %s  %s   %s # " + " # %s  %s   %s # " + " # %s  %s   %s #\n"+ + " #       # " + " #       # " + " #       # " + " #       # " + " #       #\n" + + " # %s      %s # " + " # %s      %s # " + " # %s      %s # " + " # %s       %s # " + " # %s       %s #\n" + + " ############### " + " ############### " + " ############### " + " ############### " + " ###############\n\n", + a[0][0],a[0][1], a[1][0],a[1][1], a[2][0],a[2][1], a[3][0],a[3][1], a[4][0],a[4][1], + a[0][2],a[0][3],a[0][4], a[1][2],a[1][3],a[1][4], a[2][2],a[2][3],a[2][4], a[3][2],a[3][3],a[3][4], a[4][2],a[4][3],a[4][4], + a[0][5],a[0][6], a[1][5],a[1][6], a[2][5],a[2][6], a[3][5],a[3][6], a[4][5],a[4][6]) + + + String.format("%18s %17s %17s %17s %17s", + "1. " + myDice[0].toString2() + " ", + "2. " + myDice[1].toString2() + " ", + "3. " + myDice[2].toString2() + " ", + "4. " + myDice[3].toString2() + " ", + "5. " + myDice[4].toString2() + " \n"); } + } \ No newline at end of file From 489fd3be99734fe252ee106f97aecf3d6e5dc14c Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Wed, 6 Nov 2019 18:03:02 -0500 Subject: [PATCH 129/169] Updated ASCII art for Yahtzee Class --- .../java/io/zipcoder/casino/DiceGames/Yahtzee.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index d6412a4d2..eccd52397 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -46,11 +46,9 @@ public void startGame(){ console.println("First roll results:"); roll5Dice(); chooseToKeep(); - console.getStringInput("Press enter to make your second roll."); console.println("Second roll results:"); roll5Dice(); chooseToKeep(); - console.getStringInput("Press enter to make your final roll."); console.println("Final roll results:"); roll5Dice(); int pointsAdded = checkForEvaluation(chooseEvaluation(), getDiceValues()); @@ -133,7 +131,7 @@ public void chooseToKeep(){ String keepthis = ""; while(!keepthis.toLowerCase().equals("roll")) { - console.print(this.getDiceArt(myDice)); + console.print(this.getDiceArt()); keepthis = console.getStringInput("\nType the corresponding number of the dice and press enter to "+ "switch it between keeping and re-rolling.\n" + "Type 'continue' when finished\n"); @@ -159,7 +157,7 @@ public int chooseEvaluation(){ int choice = 0; boolean goodChoice = false; - console.print(this.getDiceArt(myDice)); + console.print(this.getDiceArt()); console.println("\n"); for(int i = 1; i < availableOptions.length; i++) { console.println((i) + ". " + availableOptions[i]); } @@ -341,7 +339,7 @@ public void setPoints(int points) { //------------------------------------------------------------------------------------------------------------------ // Method for getting ASCII dice art-------------------------------------------------------------------------------- - public String getDiceArt(Dice[] dice){ + public String getDiceArt(){ String[][] a = {{" ", " ", " ", " ", " ", " ", " "}, {" ", " ", " ", " ", " ", " ", " "}, @@ -349,8 +347,8 @@ public String getDiceArt(Dice[] dice){ {" ", " ", " ", " ", " ", " ", " "}, {" ", " ", " ", " ", " ", " ", " "}}; - for(int i = 0; i < dice.length; i++){ - switch(dice[i].getValue()){ + for(int i = 0; i < myDice.length; i++){ + switch(myDice[i].getValue()){ case 1: a[i][3] = "0"; break; @@ -405,6 +403,7 @@ public String getDiceArt(Dice[] dice){ "3. " + myDice[2].toString2() + " ", "4. " + myDice[3].toString2() + " ", "5. " + myDice[4].toString2() + " \n"); + } } \ No newline at end of file From ec1e367b1705b61b434071e4ddfc0b6e761610c6 Mon Sep 17 00:00:00 2001 From: Maira Botelho Date: Wed, 6 Nov 2019 18:03:37 -0500 Subject: [PATCH 130/169] go fish almost finished --- .../io/zipcoder/casino/CardGames/GoFish.java | 58 ++++++++++++------- 1 file changed, 37 insertions(+), 21 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java index 288530663..9bb0fb008 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java +++ b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java @@ -11,43 +11,56 @@ public class GoFish implements Game { Console newConsole = new Console(System.in, System.out); Random random = new Random(); - private Player user; + private Player player; private Deck goFishDeck; private CardHand playerHand; private CardHand computerHand; boolean winGame = false; + private ArrayList winnings; + + //Constructor public GoFish(Player player) { - this.user = player; + this.player = player; - //initialize deck and shuffle + //initialize and shuffle deck this.goFishDeck = new Deck(1); goFishDeck.shuffleDeck(); //initialize players' hand and deal cards playerHand = new CardHand(goFishDeck.dealCards(5)); computerHand = new CardHand(goFishDeck.dealCards(5)); - - } public void startGame() { - newConsole.println("\n\nLoading Go Fish.... \n\n"); + newConsole.println("\n\n\n\n\n\n\n"); do { - newConsole.println("%s's turn \n\n", this.user.getID()); + newConsole.println("%s's turn \n\n", this.player.getID()); + playerTurn(); - //evaluateHand(playerHand); + winGame = checkIfWinner(playerHand); + if (winGame){ + newConsole.println("\n"+ player.getID() + " is the winner with : \n"); + displayResults(); + break; + } newConsole.println("Computer's Turn \n\n"); + computerTurn(); - //evaluateHand(computerHand); + winGame = checkIfWinner(computerHand); + if (winGame){ + newConsole.println("\n Computer is the winner with : \n"); + displayResults(); + break; + } - } while (!winGame); + } while (!false); promptLeaveGame(); @@ -56,26 +69,29 @@ public void startGame() { public void playerTurn() { + newConsole.println("======Your Cards======\n\n"); newConsole.println(playerHand.displayHand()); + newConsole.println("======================"); - String cardWanted = newConsole.getStringInput("Which value would you like to ask for? ").toUpperCase(); + String cardWanted = newConsole.getStringInput("\nWhich value would you like to ask for? ").toUpperCase(); //If Player asked for a card that is in hand if (haveCard(playerHand, cardWanted)) { if (haveCard(computerHand, cardWanted)) { newConsole.println("\nThe computer has this card\n"); - newConsole.println("New Card(s) >> " + tradeCards(computerHand, cardWanted, playerHand).toString() - .replace("[", "").replace("]", "")); + newConsole.println("\nNew Card(s) >> " + tradeCards(computerHand, cardWanted, playerHand).toString() + .replace("[", "").replace("]", "").replace(", ", "")); } else { newConsole.println("\nGo Fish!!!\n"); - newConsole.println("New Card >> " + goFishForCard(playerHand).toString()); + newConsole.println("\nNew Card >> " + goFishForCard(playerHand).toString().replace("[", "") + .replace("]", "")); } - System.out.println(playerHand.displayHand()); - - + newConsole.println("======Your Cards======\n\n"); + newConsole.println(playerHand.displayHand()); + newConsole.println("======================"); }else{ newConsole.println("\n\nYou don't have this card. Try it again.\n\n"); @@ -141,9 +157,7 @@ public Card goFishForCard(CardHand hand) { return newCard; } - public boolean evaluateHand(CardHand hand) { - - ArrayList winnings; + public boolean checkIfWinner(CardHand hand) { int counter; for (Card checkCard : hand.userHand) { @@ -158,7 +172,6 @@ public boolean evaluateHand(CardHand hand) { } if (counter == 4) { - hand.userHand.removeAll(winnings); return true; } @@ -174,6 +187,9 @@ public void promptLeaveGame() { } public void displayResults() { + + newConsole.println(winnings.toString().replace("[", "").replace("]", "") + .replace(", ", "")); } From b4c7bacf6782662e59c6062ea46b56eb61e74ea8 Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Wed, 6 Nov 2019 18:28:34 -0500 Subject: [PATCH 131/169] jazz --- src/main/java/io/zipcoder/casino/App.java | 32 +++++++++++------------ 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/App.java b/src/main/java/io/zipcoder/casino/App.java index 92bcf1cb7..752d89700 100644 --- a/src/main/java/io/zipcoder/casino/App.java +++ b/src/main/java/io/zipcoder/casino/App.java @@ -23,7 +23,7 @@ public void App (){ this.menu = new Console(System.in,System.out); this.menu.print("Welcome to Casino 5! \n\n"); - pause(1000); + consolePrintDelay(1000); mainMenu(); // log in ... } @@ -42,16 +42,16 @@ private void mainMenuActions(Integer userSelection){ // Log in if (authenticatePlayer()) { this.menu.print("Logging in ."); - pause(500); + consolePrintDelay(500); this.menu.print("."); - pause(500); + consolePrintDelay(500); this.menu.print(".\n\n"); - pause(500); + consolePrintDelay(500); selectGameToPlay(); } else { this.menu.print("We could not find this user. Please try again!\n\n"); - pause(500); + consolePrintDelay(500); counter++; this.userId = ""; this.userPassword = ""; @@ -66,11 +66,11 @@ private void mainMenuActions(Integer userSelection){ break; case 2: // Create new account - pause(500); + consolePrintDelay(500); this.menu.println("Creating new account ...\n"); if (authenticatePlayer()){ this.menu.println("This user already exists, please log in.\n"); - pause(1000); + consolePrintDelay(1000); mainMenu(); } else { createPlayer(); @@ -86,7 +86,7 @@ private void mainMenuActions(Integer userSelection){ default: this.menu.print("Error! Please enter another option!\n\n"); - pause(1000); + consolePrintDelay(1000); mainMenu(); } // main menu actions @@ -95,7 +95,7 @@ private void mainMenuActions(Integer userSelection){ private void selectGameToPlay() { int userInput; - pause(500); + consolePrintDelay(500); this.menu.println("You are now logged in - enjoy the ride!\n"); userInput = this.menu.printSelectGame(); @@ -103,10 +103,10 @@ private void selectGameToPlay() { } // select game private void selectGameToPlayActions(Integer gameSelected){ - pause(1000); + consolePrintDelay(1000); this.menu.clearScreen(); this.menu.printGameName(gameSelected); - pause(1000); + consolePrintDelay(1000); switch (gameSelected){ case 1: GoFish newGoFish = new GoFish(this.newPlayer); @@ -118,12 +118,12 @@ private void selectGameToPlayActions(Integer gameSelected){ break; case 3: BlackJack newBlackJack = new BlackJack(this.newPlayer); - addMoney(); + addMoneyToPlayer(); newBlackJack.startGame(); break; case 4: Craps newCraps = new Craps(this.newPlayer); - addMoney(); + addMoneyToPlayer(); newCraps.startGame(); break; case 5: @@ -141,7 +141,7 @@ private void selectGameToPlayActions(Integer gameSelected){ private Boolean authenticatePlayer(){ - pause(1000); + consolePrintDelay(1000); this.userId = this.menu.getStringInput("Enter your ID:"); this.userPassword = this.menu.getStringInput("Enter your password:"); @@ -154,7 +154,7 @@ private void createPlayer(){ this.newPlayer = warehouse.getPlayer(this.userId+this.userPassword); } - private void pause (int miliSeconds){ + private void consolePrintDelay (int miliSeconds){ try { TimeUnit.MILLISECONDS.sleep(miliSeconds); } catch (InterruptedException e){ @@ -162,7 +162,7 @@ private void pause (int miliSeconds){ } } - private void addMoney (){ + private void addMoneyToPlayer (){ double amount; amount = this.menu.getDoubleInput("How much money would you like to add to your account?"); this.newPlayer.addAmount(amount); From eb79d69925f9fded5e8d6bb1e5ea13928871255a Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Wed, 6 Nov 2019 19:11:10 -0500 Subject: [PATCH 132/169] Updated ASCII art for Yatzee Class --- .../io/zipcoder/casino/DiceGames/Yahtzee.java | 75 ++++++++++++------- 1 file changed, 47 insertions(+), 28 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index eccd52397..59a45f209 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -37,7 +37,6 @@ public Yahtzee(Player player){ public void startGame(){ console.println("Welcome to Yahtzee!"); - console.getStringInput("\nPress enter to begin."); while(continuePlay) { for (int i = 0; i < 13; i++) { @@ -57,6 +56,7 @@ public void startGame(){ displayResults(); promptLeaveGame(); if (!this.continuePlay) { return; } + resetGame(); } } @@ -109,6 +109,16 @@ public void promptLeaveGame(){ } } + public void resetGame(){ + this.points = 0; + String[] availableOptionsReset = {" ","1s", "2s", "3s", "4s", "5s", "6s", "3 of a kind", "4 of a kind", + "Small Straight", "Large Straight", "Full House", "Yahtzee", "Chance"}; + for(int i = 0; i < this.availableOptions.length; i++ ){ + this.availableOptions[i] = availableOptionsReset[i]; + } + + } + //------------------------------------------------------------------------------------------------------------------ // Following methods are for rolling dice and choosing which ones to keep------------------------------------------- @@ -131,10 +141,10 @@ public void chooseToKeep(){ String keepthis = ""; while(!keepthis.toLowerCase().equals("roll")) { - console.print(this.getDiceArt()); + console.print(this.printScreen()); keepthis = console.getStringInput("\nType the corresponding number of the dice and press enter to "+ "switch it between keeping and re-rolling.\n" + - "Type 'continue' when finished\n"); + "Type 'continue' when finished"); if(keepthis.equals("")){ keepthis = " "; } switch (keepthis.charAt(0)){ @@ -157,10 +167,7 @@ public int chooseEvaluation(){ int choice = 0; boolean goodChoice = false; - console.print(this.getDiceArt()); - console.println("\n"); - - for(int i = 1; i < availableOptions.length; i++) { console.println((i) + ". " + availableOptions[i]); } + console.print(this.printScreen()); while(!goodChoice){ try{ @@ -337,9 +344,9 @@ public void setPoints(int points) { //------------------------------------------------------------------------------------------------------------------ - // Method for getting ASCII dice art-------------------------------------------------------------------------------- + // Method for getting ASCII screen art-------------------------------------------------------------------------------- - public String getDiceArt(){ + public String printScreen(){ String[][] a = {{" ", " ", " ", " ", " ", " ", " "}, {" ", " ", " ", " ", " ", " ", " "}, @@ -366,7 +373,6 @@ public String getDiceArt(){ a[i][1] = "0"; a[i][5] = "0"; a[i][6] = "0"; - break; case 5: a[i][0] = "0"; @@ -385,25 +391,38 @@ public String getDiceArt(){ break; } } - return String.format( - " ############### " + " ############### " + " ############### " + " ############### " + " ###############\n" + - " # %s      %s # " + " # %s      %s # " + " # %s      %s # " + " # %s       %s # " + " # %s       %s #\n" + - " #       # " + " #       # " + " #       # " + " #       # " + " #       #\n" + - " # %s  %s   %s # " + " # %s  %s   %s # " + " # %s  %s   %s # " + " # %s  %s   %s # " + " # %s  %s   %s #\n"+ - " #       # " + " #       # " + " #       # " + " #       # " + " #       #\n" + - " # %s      %s # " + " # %s      %s # " + " # %s      %s # " + " # %s       %s # " + " # %s       %s #\n" + - " ############### " + " ############### " + " ############### " + " ############### " + " ###############\n\n", - a[0][0],a[0][1], a[1][0],a[1][1], a[2][0],a[2][1], a[3][0],a[3][1], a[4][0],a[4][1], - a[0][2],a[0][3],a[0][4], a[1][2],a[1][3],a[1][4], a[2][2],a[2][3],a[2][4], a[3][2],a[3][3],a[3][4], a[4][2],a[4][3],a[4][4], - a[0][5],a[0][6], a[1][5],a[1][6], a[2][5],a[2][6], a[3][5],a[3][6], a[4][5],a[4][6]) + - - String.format("%18s %17s %17s %17s %17s", - "1. " + myDice[0].toString2() + " ", - "2. " + myDice[1].toString2() + " ", - "3. " + myDice[2].toString2() + " ", - "4. " + myDice[3].toString2() + " ", - "5. " + myDice[4].toString2() + " \n"); + String diceArt = String.format("-----------------------------------------------------------------------------------------------------------\n"+ + " ------------- " + " ------------- " + " ------------- " + " ------------- " + " ------------- \n" + + " | %s      %s | " + " | %s      %s | " + " | %s      %s | " + " | %s       %s | " + " | %s       %s |\n" + + " |       | " + " |       | " + " |       | " + " |       | " + " |       |\n" + + " | %s  %s   %s | " + " | %s  %s   %s | " + " | %s  %s   %s | " + " | %s  %s   %s | " + " | %s  %s   %s |\n"+ + " |       | " + " |       | " + " |       | " + " |       | " + " |       |\n" + + " | %s      %s | " + " | %s      %s | " + " | %s      %s | " + " | %s       %s | " + " | %s       %s |\n" + + " ------------- " + " ------------- " + " ------------- " + " ------------- " + " ------------- \n\n", + a[0][0], a[0][1], a[1][0], a[1][1], a[2][0], a[2][1], a[3][0], a[3][1], a[4][0], a[4][1], + a[0][2],a[0][3],a[0][4], a[1][2],a[1][3],a[1][4], a[2][2],a[2][3],a[2][4], a[3][2],a[3][3],a[3][4], a[4][2],a[4][3],a[4][4], + a[0][5], a[0][6], a[1][5], a[1][6], a[2][5], a[2][6], a[3][5], a[3][6], a[4][5], a[4][6]); + + + String numAndKeepArt = String.format(" %-17s %-17s %-17s %-17s %-17s", + "1. " + myDice[0].toString2(), + "2. " + myDice[1].toString2(), + "3. " + myDice[2].toString2(), + "4. " + myDice[3].toString2(), + "5. " + myDice[4].toString2()) + "\n\n"; + + + String options = ""; + for(int i = 1; i < availableOptions.length - 7; i++) { + options += String.format("%-25s",(i) + ". " + availableOptions[i]); + options += String.format((i + 6) + ". " + availableOptions[i+6]); + } + options += String.format("%25s13. %s\n","",availableOptions[13]); + + String currentPoints = "Current score: " + this.points; + + return diceArt + numAndKeepArt + options + currentPoints; } } \ No newline at end of file From 9c86085b7d86a4f64f539971209be1b67c14ac9c Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Wed, 6 Nov 2019 19:11:56 -0500 Subject: [PATCH 133/169] Add test for have card --- .../zipcoder/casino/CardGames/GoFishTest.java | 39 +++++++++++++++---- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java b/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java index 62175051f..ef9d9c398 100644 --- a/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java +++ b/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java @@ -2,20 +2,16 @@ import io.zipcoder.casino.Player.Player; import org.junit.After; +import org.junit.Assert; import org.junit.Before; import org.junit.Test; +import java.util.ArrayList; + import static org.junit.Assert.*; public class GoFishTest { - @Before - public void setUp() { - } - - @After - public void tearDown() { - } @Test public void game() { @@ -26,4 +22,33 @@ public void game() { } + @Test + public void haveCard() { + boolean result = false; + Player testPlayer = new Player("V","B"); + GoFish testHaveCard = new GoFish(testPlayer); + Card newCard = new Card(Suit.HEARTS,Rank.KING); + ArrayList cards = new ArrayList<>(); + cards.add(newCard); + CardHand testHand = new CardHand(cards); + result = testHaveCard.haveCard(testHand,"KING"); + + Assert.assertTrue(result); + } + + @Test + public void tradeCards() { + } + + @Test + public void goFishForCard() { + } + + @Test + public void checkIfWinner() { + } + + @Test + public void getCompCard() { + } } \ No newline at end of file From c719ceea4905959c5bfde2287fb6c3c5134f1f14 Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Wed, 6 Nov 2019 19:13:01 -0500 Subject: [PATCH 134/169] Updated ASCII art for Yatzee Class --- src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index 59a45f209..e444dcfef 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -418,9 +418,9 @@ public String printScreen(){ options += String.format("%-25s",(i) + ". " + availableOptions[i]); options += String.format((i + 6) + ". " + availableOptions[i+6]); } - options += String.format("%25s13. %s\n","",availableOptions[13]); + options += String.format("%25s13. %s","",availableOptions[13]); - String currentPoints = "Current score: " + this.points; + String currentPoints = "Current score: " + this.points + "\n"; return diceArt + numAndKeepArt + options + currentPoints; } From baaada12e13f7f6ecec7cdf61ae4443a36f843fe Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Wed, 6 Nov 2019 19:24:54 -0500 Subject: [PATCH 135/169] More ASCII art updates for Yahtzee and added resetGame() method --- .../io/zipcoder/casino/DiceGames/Yahtzee.java | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index e444dcfef..e618c3791 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -322,26 +322,14 @@ public Player getUser() { return user; } - public void setUser(Player user) { - this.user = user; - } - public Dice[] getMyDice() { return myDice; } - public void setMyDice(Dice[] myDice) { - this.myDice = myDice; - } - public int getPoints() { return points; } - public void setPoints(int points) { - this.points = points; - } - //------------------------------------------------------------------------------------------------------------------ // Method for getting ASCII screen art-------------------------------------------------------------------------------- @@ -416,13 +404,12 @@ public String printScreen(){ String options = ""; for(int i = 1; i < availableOptions.length - 7; i++) { options += String.format("%-25s",(i) + ". " + availableOptions[i]); - options += String.format((i + 6) + ". " + availableOptions[i+6]); + options += String.format((i + 6) + ". " + availableOptions[i+6]+ "\n"); } - options += String.format("%25s13. %s","",availableOptions[13]); + options += String.format("%25s13. %s","",availableOptions[13] + "\n"); String currentPoints = "Current score: " + this.points + "\n"; return diceArt + numAndKeepArt + options + currentPoints; } - } \ No newline at end of file From 0f013b9c04d7f2615c2e43b476bc1049d1d633a3 Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Wed, 6 Nov 2019 19:54:56 -0500 Subject: [PATCH 136/169] Add test for trade cards --- .../zipcoder/casino/CardGames/GoFishTest.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java b/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java index ef9d9c398..ec1e106d3 100644 --- a/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java +++ b/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java @@ -38,6 +38,33 @@ public void haveCard() { @Test public void tradeCards() { + boolean result = false; + Player testPlayer = new Player("V","G"); + GoFish testGame = new GoFish(testPlayer); + + Card firstCard = new Card(Suit.CLUBS,Rank.KING); + Card secondCard = new Card(Suit.CLUBS,Rank.ACE); + + ArrayList giveHand = new ArrayList<>(); + giveHand.add(firstCard); + giveHand.add(secondCard); + CardHand handOne = new CardHand(giveHand); + +// ************ + + Card cardThree = new Card(Suit.CLUBS,Rank.JACK); + Card cardFour = new Card(Suit.CLUBS,Rank.QUEEN); + + ArrayList receiveHand = new ArrayList<>(); + receiveHand.add(cardThree); + receiveHand.add(cardFour); + CardHand handTwo = new CardHand(receiveHand); + + result = testGame.tradeCards(handOne,"KING",handTwo).size() > 0; + Assert.assertTrue(result); + + result = testGame.tradeCards(handOne,"TEN",handTwo).size() > 0; + Assert.assertFalse(result); } @Test From d529e41ea3e6c7a3a42b0756df49f1ab27283607 Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Wed, 6 Nov 2019 19:59:16 -0500 Subject: [PATCH 137/169] update --- .../YahtzeeTests/DiceRollTest.java | 10 ++-------- .../YahtzeeTests/EvaluationTest.java | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java index fbdba4818..6a347f229 100644 --- a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java +++ b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java @@ -3,7 +3,7 @@ import io.zipcoder.casino.DiceGames.Dice; import io.zipcoder.casino.DiceGames.Yahtzee; import io.zipcoder.casino.Player.Player; -import org.junit.After; + import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -22,7 +22,6 @@ public void doThisFirst(){ @Test public void diceRollTest(){ roller.roll5Dice(); - roller.getMyDice(); Integer[] diceValues = roller.getDiceValues(); for(Integer s: diceValues){ @@ -44,7 +43,7 @@ public void checkForKeepsTest(){ } @Test - public void resetTest(){ + public void resetDiceTest(){ roller.roll5Dice(); Dice[] dice = roller.getMyDice(); @@ -59,9 +58,4 @@ public void resetTest(){ Assert.assertFalse(dice[i].isKept()); } } - - @After - public void doThisLast(){ - - } } diff --git a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java index af46c9713..f2406f508 100644 --- a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java +++ b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/EvaluationTest.java @@ -143,4 +143,23 @@ public void getChanceValueTest2(){ int expected2 = 20; Assert.assertEquals(expected2,actual2); } + + @Test + public void checkForEvaluationTest(){ + Integer[] thisIsMyDice = {1,5,3,5,5}; + int actual = detect.checkForEvaluation(3, thisIsMyDice); + Assert.assertEquals(3,actual); + actual = detect.checkForEvaluation(5, thisIsMyDice); + Assert.assertEquals(15,actual); + } + + @Test + public void checkForEvaluationTest2(){ + Integer[] thisIsMyDice = {5,5,5,5,5}; + int actual = detect.checkForEvaluation(12, thisIsMyDice); + Assert.assertEquals(50,actual); + actual = detect.checkForEvaluation(9, thisIsMyDice); + Assert.assertEquals(0,actual); + } + } From 5abc6ed03b506582138a692f4a4aef8dad25cd25 Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Wed, 6 Nov 2019 20:09:21 -0500 Subject: [PATCH 138/169] update --- .../io/zipcoder/casino/DiceGames/Yahtzee.java | 20 +++++++++---------- .../YahtzeeTests/DiceRollTest.java | 8 ++++---- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index e618c3791..3a44814ee 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -50,7 +50,7 @@ public void startGame(){ chooseToKeep(); console.println("Final roll results:"); roll5Dice(); - int pointsAdded = checkForEvaluation(chooseEvaluation(), getDiceValues()); + int pointsAdded = checkForEvaluation(chooseEvaluation(),getMyDice2()); updateScore(pointsAdded); } displayResults(); @@ -193,7 +193,7 @@ else if(this.availableOptions[choice].equals(" ")){ return choice; } - public int checkForEvaluation(int choice,Integer[] diceValues){ + public int checkForEvaluation(int choice, Integer[] diceValues){ switch (choice){ case 1: return checkForFaces(diceValues, 1); @@ -310,14 +310,6 @@ public int checkForYahtzee(Integer[] diceValues){ //------------------------------------------------------------------------------------------------------------------ // getters and setters---------------------------------------------------------------------------------------------- - public Integer[] getDiceValues(){ - Integer[] values = new Integer[5]; - for(int i = 0; i < this.myDice.length; i++){ - values[i] = this.myDice[i].getValue(); - } - return values; - } - public Player getUser() { return user; } @@ -326,6 +318,14 @@ public Dice[] getMyDice() { return myDice; } + public Integer[] getMyDice2(){ + Integer[] diceValues = new Integer[5]; + for(int i = 0; i < this.myDice.length; i++){ + diceValues[i] = this.myDice[i].getValue(); + } + return diceValues; + } + public int getPoints() { return points; } diff --git a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java index 6a347f229..f770639e7 100644 --- a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java +++ b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java @@ -22,11 +22,11 @@ public void doThisFirst(){ @Test public void diceRollTest(){ roller.roll5Dice(); - Integer[] diceValues = roller.getDiceValues(); + Dice[] diceValues = roller.getMyDice(); - for(Integer s: diceValues){ - Assert.assertTrue(s < 7); - Assert.assertTrue(s > 0); + for(int i = 0; i < diceValues.length; i++){ + Assert.assertTrue(diceValues[i].getValue() < 7); + Assert.assertTrue(diceValues[i].getValue() > 0); } } From dd46732fcae5d38794e12547cad320ac3e4ae6f6 Mon Sep 17 00:00:00 2001 From: mike Date: Wed, 6 Nov 2019 20:09:22 -0500 Subject: [PATCH 139/169] lots of stuff. who know what --- .../zipcoder/casino/CardGames/BlackJack.java | 94 ++++++++++++------- 1 file changed, 60 insertions(+), 34 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index 890174cce..64e11849f 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -95,25 +95,12 @@ public void startGame() { public void playBlackJack() { initializeBlackJackHands(); - checkHandValue(gamblingPlayerHand); + checkInitialHandValue(gamblingPlayerHand); checkHandForAces(gamblingPlayerHand); - refactorAndCalculateHandValue(checkHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)); - checkHandValue(computerHand); + refactorAndCalculateHandValue(checkInitialHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)); + checkInitialHandValue(computerHand); checkHandForAces(computerHand); - refactorAndCalculateHandValue(checkHandValue(computerHand), checkHandForAces(computerHand)); - displayHandsAndCurrentScore() - - - - do { - displayHandsAndCurrentScore(); - promptHitOrStay(); - hitOrStayAction(gamblingPlayerHand, promptHitOrStay()); - refactorAndCalculateHandValue(checkHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)); - - } - while (refactorAndCalculateHandValue(checkHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)) < 21 || promptHitOrStay() == 0); - + refactorAndCalculateHandValue(checkInitialHandValue(computerHand), checkHandForAces(computerHand)); } @@ -136,8 +123,9 @@ public void initializeBlackJackHands() { } + //takes arrayList of cards from hand and separates them by card and totals point based on default Ace value of 11. - public Integer checkHandValue(CardHand hand) { + public Integer checkInitialHandValue(CardHand hand) { Integer handValueForDefaultAce11 = 0; for (int i = 0; i < hand.userHand.size(); i++) { handValueForDefaultAce11 += card.blackJackCardRank.get(i); @@ -156,6 +144,7 @@ public Integer checkHandForAces(CardHand hand) { return aceCounter; } + //evaluates score of blackjack hand and determines whether or not the value of each Ace should remain at 11 points or be reassigned to 1 point. Returns new hand value. public Integer refactorAndCalculateHandValue(Integer handValueForDefaultAce11, Integer numberOfAces) { Integer refactoredHandValue = handValueForDefaultAce11; //default set to no changes. @@ -177,24 +166,61 @@ public Integer refactorAndCalculateHandValue(Integer handValueForDefaultAce11, I return refactoredHandValue; } - public void checkForBlackJackAndDisplayScore() { - if(refactorAndCalculateHandValue(checkHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)) == 21 - && (refactorAndCalculateHandValue(checkHandValue(computerHand), checkHandForAces(computerHand))) == 21) { - input.print(" You and Dealer both got BlackJack!\n" + - "Your hand: " + gamblingPlayerHand.toString() + "\n" + - "Dealer hand: " + computerHand.toString() + "\n"); - } else if(refactorAndCalculateHandValue(checkHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)) == 21 - && (refactorAndCalculateHandValue(checkHandValue(computerHand), checkHandForAces(computerHand))) != 21) { - input.print(" You got BlackJack!\n" + - "Your hand: " + gamblingPlayerHand.toString() + "\n" + - "Dealer hand: " + computerHand.toString() + "\n"); + public Integer playerRefactoredHandValue = refactorAndCalculateHandValue(checkInitialHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)); + public Integer dealerRefactoredHandValue = refactorAndCalculateHandValue(checkInitialHandValue(computerHand), checkHandForAces(computerHand)); + + public boolean playerHasBlackJack = playerRefactoredHandValue == 21; + public boolean dealerHasBlackJack = dealerRefactoredHandValue == 21; + public boolean playerAndDealerHaveBlackJack = playerHasBlackJack && dealerHasBlackJack; + public boolean playerBust = playerRefactoredHandValue > 21; + public boolean dealerBust = dealerRefactoredHandValue > 21; + public boolean playerWin = !playerBust && playerRefactoredHandValue > dealerRefactoredHandValue; + public boolean dealerWin = !dealerBust && dealerRefactoredHandValue > playerRefactoredHandValue; + public boolean playerDealerPush = playerBust && dealerBust || playerRefactoredHandValue == dealerRefactoredHandValue; + + + + + +// public void displayPostInitialFlopWinner() { +// if(playerHasBlackJack && !dealerHasBlackJack) { +// input.getIntegerInput(); +// +// } + + + + + public Integer displayScore() { + if (playerAndDealerHaveBlackJack) { + return displayPlayerNDealerPushWithBlackJack(); + } else if (playerHasBlackJack && !dealerHasBlackJack) { + return displayPlayerWinsWithBlackJack(" You got BlackJack!\n", "Your hand: ", "Press 1 to play again or 2 to quit.\n"); + } else if(dealerHasBlackJack && !playerHasBlackJack) { + return dealerWinsWithBlackJack(" Dealer got BlackJack!\n", "Your hand: ", "Press 1 to play again or 2 to quit.\n"); + } else { + return displayPlayerNDealerPush("Push!\n", "Your hand: "); } } - public void displayHandsAndCurrentScore() { - input.print(gamblingPlayerHand.toString() + "Your score is " + refactorAndCalculateHandValue(checkHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand))), - computerHand.toString() + "Dealer score is " + refactorAndCalculateHandValue(checkHandValue(computerHand), checkHandForAces(computerHand))); + private Integer displayPlayerWinsWithBlackJack(String s, String s2, String s3) { + return input.getIntegerInput(s + + s2 + gamblingPlayerHand.toString() + "\n" + + "Dealer hand: " + computerHand.toString() + "\n" + + s3); + } + + private Integer dealerWinsWithBlackJack(String s, String s2, String s3) { + return displayPlayerWinsWithBlackJack(s, s2, s3); + } + + private Integer displayPlayerNDealerPush(String s, String s2) { + return dealerWinsWithBlackJack(s, s2, "Press 1 to play again or 2 to quit.\n"); + } + + private Integer displayPlayerNDealerPushWithBlackJack() { + return displayPlayerNDealerPush(" You and Dealer both got BlackJack!\n", "Your hand: "); } @@ -231,8 +257,8 @@ public void getWinner(CardHand dealer, CardHand player) { public void promptLeaveGame() { } - public void displayResults() { + } -} + From 0cf4570d48cd3289b9ada23406460be087ff5da1 Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Wed, 6 Nov 2019 20:11:58 -0500 Subject: [PATCH 140/169] Add test for fish for card --- .../io/zipcoder/casino/CardGames/GoFishTest.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java b/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java index ec1e106d3..fe48686e4 100644 --- a/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java +++ b/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java @@ -69,6 +69,21 @@ public void tradeCards() { @Test public void goFishForCard() { + boolean result = false; + Player testPlayer = new Player("V","G"); + GoFish testGame = new GoFish(testPlayer); + + Card firstCard = new Card(Suit.CLUBS,Rank.KING); + Card testCard; + ArrayList giveHand = new ArrayList<>(); + giveHand.add(firstCard); + CardHand handOne = new CardHand(giveHand); + + testCard = testGame.goFishForCard(handOne); + giveHand.add(testCard); + result = giveHand.size()>1; + + Assert.assertTrue(result); } @Test From 07d48fbc51cfb6970be109ba9e9fe63de0683f91 Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Thu, 7 Nov 2019 13:42:16 -0500 Subject: [PATCH 141/169] Add test for check winner --- .../zipcoder/casino/CardGames/GoFishTest.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java b/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java index fe48686e4..682987704 100644 --- a/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java +++ b/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java @@ -88,6 +88,33 @@ public void goFishForCard() { @Test public void checkIfWinner() { + boolean result = false; + Player testPlayer = new Player("V","B"); + GoFish testWinner = new GoFish(testPlayer); + Card cardOne = new Card(Suit.HEARTS,Rank.KING); + Card cardTwo = new Card(Suit.CLUBS,Rank.KING); + Card cardThree = new Card(Suit.DIAMONDS,Rank.KING); + Card cardFour = new Card(Suit.SPADES,Rank.KING); + ArrayList cards = new ArrayList<>(); + cards.add(cardOne); + cards.add(cardTwo); + cards.add(cardThree); + cards.add(cardFour); + CardHand testHand = new CardHand(cards); + + result = testWinner.checkIfWinner(testHand); + Assert.assertTrue(result); + + // ************ + + cards.remove(0); + + cardOne = new Card(Suit.HEARTS, Rank.FIVE); + cards.add(cardOne); + testHand = new CardHand(cards); + result = testWinner.checkIfWinner(testHand); + + Assert.assertFalse(result); } @Test From fa7d2184eb18dfbf991050c030e40960dcc491c5 Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Thu, 7 Nov 2019 14:08:27 -0500 Subject: [PATCH 142/169] Created YahtzeeDiceTest and ScoreAndSettingsTest classes --- .../io/zipcoder/casino/DiceGames/Yahtzee.java | 11 ++++- .../YahtzeeTests/ScoreAndSettingsTest.java | 48 +++++++++++++++++++ ...DiceRollTest.java => YahtzeeDiceTest.java} | 2 +- 3 files changed, 58 insertions(+), 3 deletions(-) create mode 100644 src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/ScoreAndSettingsTest.java rename src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/{DiceRollTest.java => YahtzeeDiceTest.java} (97%) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java index 3a44814ee..ef8373226 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Yahtzee.java @@ -16,6 +16,7 @@ public class Yahtzee implements Game { private static Console console = new Console(System.in, System.out); private Dice[] myDice; private int points; + private String[] availableOptions = {" ","1s", "2s", "3s", "4s", "5s", "6s", "3 of a kind", "4 of a kind", "Small Straight", "Large Straight", "Full House", "Yahtzee", "Chance"}; private boolean continuePlay; @@ -72,7 +73,7 @@ public Dice[] createDice(){ return dice; } - private void updateScore(int pointsAdded) { + public void updateScore(int pointsAdded) { console.println("points added: " + pointsAdded); this.points += pointsAdded; console.println("Your current score is: " + this.points); @@ -116,6 +117,7 @@ public void resetGame(){ for(int i = 0; i < this.availableOptions.length; i++ ){ this.availableOptions[i] = availableOptionsReset[i]; } + resetDice(); } @@ -310,6 +312,7 @@ public int checkForYahtzee(Integer[] diceValues){ //------------------------------------------------------------------------------------------------------------------ // getters and setters---------------------------------------------------------------------------------------------- + public Player getUser() { return user; } @@ -326,13 +329,17 @@ public Integer[] getMyDice2(){ return diceValues; } + public String[] getAvailableOptions() { + return availableOptions; + } + public int getPoints() { return points; } //------------------------------------------------------------------------------------------------------------------ - // Method for getting ASCII screen art-------------------------------------------------------------------------------- + // Method for getting ASCII screen art------------------------------------------------------------------------------ public String printScreen(){ diff --git a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/ScoreAndSettingsTest.java b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/ScoreAndSettingsTest.java new file mode 100644 index 000000000..863beae6a --- /dev/null +++ b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/ScoreAndSettingsTest.java @@ -0,0 +1,48 @@ +package io.zipcoder.casino.DiceGamesTests.YahtzeeTests; + +import io.zipcoder.casino.DiceGames.Yahtzee; +import io.zipcoder.casino.Player.Player; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +public class ScoreAndSettingsTest { + + Yahtzee scoreTester; + + @Before + public void doThisFirst(){ + scoreTester = new Yahtzee(new Player("1234", "password")); + } + + + @Test + public void scoreTest1(){ + Assert.assertEquals(0, scoreTester.getPoints()); + scoreTester.updateScore(10); + Assert.assertEquals(10, scoreTester.getPoints()); + } + + @Test + public void scoreTest2(){ + Assert.assertEquals(0, scoreTester.getPoints()); + scoreTester.updateScore(15); + scoreTester.updateScore(5); + Assert.assertEquals(20, scoreTester.getPoints()); + } + + @Test + public void resetGameTest(){ + scoreTester.updateScore(10); + scoreTester.roll5Dice(); + Assert.assertNotEquals(0, scoreTester.getPoints()); + + scoreTester.resetGame(); + + String[] expectedOptions = {" ","1s", "2s", "3s", "4s", "5s", "6s", "3 of a kind", "4 of a kind", + "Small Straight", "Large Straight", "Full House", "Yahtzee", "Chance"}; + + Assert.assertEquals(0, scoreTester.getPoints()); + Assert.assertArrayEquals(expectedOptions, scoreTester.getAvailableOptions()); + } +} diff --git a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/YahtzeeDiceTest.java similarity index 97% rename from src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java rename to src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/YahtzeeDiceTest.java index f770639e7..462f3a790 100644 --- a/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/DiceRollTest.java +++ b/src/test/java/io/zipcoder/casino/DiceGamesTests/YahtzeeTests/YahtzeeDiceTest.java @@ -8,7 +8,7 @@ import org.junit.Before; import org.junit.Test; -public class DiceRollTest { +public class YahtzeeDiceTest { private Yahtzee roller; private Player user; From e25ee4cae9a3e9a89759507b189265f98b4f8b70 Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Thu, 7 Nov 2019 14:13:37 -0500 Subject: [PATCH 143/169] Add test for get comp card --- .../java/io/zipcoder/casino/CardGames/GoFishTest.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java b/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java index 682987704..c184eedbe 100644 --- a/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java +++ b/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java @@ -1,17 +1,15 @@ package io.zipcoder.casino.CardGames; import io.zipcoder.casino.Player.Player; -import org.junit.After; import org.junit.Assert; -import org.junit.Before; import org.junit.Test; import java.util.ArrayList; - -import static org.junit.Assert.*; +import java.util.logging.Logger; public class GoFishTest { + private static final Logger LOGGER = Logger.getLogger(GoFishTest.class.getName()); @Test public void game() { @@ -119,5 +117,10 @@ public void checkIfWinner() { @Test public void getCompCard() { + Player testPlayer = new Player("V","B"); + GoFish testGame = new GoFish(testPlayer); + + Rank testCard = testGame.getCompCard(); + LOGGER.info("Card drawn: " + testCard.toString()); } } \ No newline at end of file From d67663347fd20270e55ae39087c05f0ce70a6790 Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Thu, 7 Nov 2019 14:31:13 -0500 Subject: [PATCH 144/169] Clear the screen more --- src/main/java/io/zipcoder/casino/utilities/Console.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/io/zipcoder/casino/utilities/Console.java b/src/main/java/io/zipcoder/casino/utilities/Console.java index 88ed89c73..aaaa297db 100644 --- a/src/main/java/io/zipcoder/casino/utilities/Console.java +++ b/src/main/java/io/zipcoder/casino/utilities/Console.java @@ -126,7 +126,7 @@ public void printGameName(Integer game) { } public void clearScreen() { - for (int i = 0; i < 11; i++) { + for (int i = 0; i < 100; i++) { println("\n"); } From 77b492c5b42f67ecbee7612d5d22d5412e54ad21 Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Thu, 7 Nov 2019 14:33:34 -0500 Subject: [PATCH 145/169] clean up --- .../io/zipcoder/casino/DiceGames/Craps.java | 65 ++++++++++--------- .../casino/Player/GamblingPlayer.java | 14 ++-- 2 files changed, 43 insertions(+), 36 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java index c9e266aa9..c6f1d1fdd 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java @@ -13,22 +13,22 @@ public class Craps implements GamblingGame { private GamblingPlayer crapsPlayer; private Console console; private boolean continuePlay; - private boolean winGame; private Integer turn; private Integer targetScore; private int sum; + //------------- Constructor---------------------------- + public Craps(Player player) { + this.crapsPlayer = new GamblingPlayer(player); this.crapsDice = createDice(); this.console = new Console(System.in, System.out); - this.continuePlay = true; - this.turn = 0; - } //------------------------------------------------------ + public Dice[] createDice() { Dice[] crapsDice = new Dice[2]; for (int i = 0; i < crapsDice.length; i++) { @@ -39,18 +39,22 @@ public Dice[] createDice() { public void startGame() { - console.println("Welcome to Craps!"); - promptUserForWagerAmount(); + turn = 0; continuePlay = true; + console.println("Welcome to Craps!"); + promptUserForWagerAmount(); + createDice(); + do { - createDice(); crapsRoll(); - evaluateRoll(); + console.print(evaluateRoll()); turn++; } while (continuePlay == true); + promptLeaveGame(); + } @@ -64,39 +68,44 @@ public void crapsRoll() { console.println("You rolled a " + sum); } - public void evaluateRoll() { + + public String evaluateRoll() { + + String msg = ""; if (turn == 0) { + if (sum == 7 || sum == 11) { crapsPlayer.getWinnings(); - console.println("Winner Winner, Chicken Dinner! " ); + msg = "Winner Winner, Chicken Dinner!\n" + crapsPlayer.getPot(); + //console.println("Winner Winner, Chicken Dinner! " ); continuePlay = false; - } else if (sum == 2 || sum == 3 || sum == 12) { - console.println("You've Crapped out!!"); + msg = "You've Crapped out!!"; + //console.println("You've Crapped out!!"); continuePlay = false; - } else { targetScore = sum; - console.println( "Your Target Score is " + targetScore); - + msg = "Your Target Score is " + targetScore; + //console.println( "Your Target Score is " + targetScore); } + } else { + if (sum == 7) { - console.println("You've Crapped out!!"); + msg = "You've Crapped out!!"; + //console.println("You've Crapped out!!"); continuePlay = false; } else if (sum == targetScore) { - crapsPlayer.getWinnings(); - - console.println("Winner Winner, Chicken Dinner! " ); - console.println("Congratulations, your payout is $" + crapsPlayer.getPot()); - + msg = "Winner Winner, Chicken Dinner!\n" + crapsPlayer.getPot(); + //console.println("Winner Winner, Chicken Dinner! " ); + //console.println("Congratulations, your payout is $" + crapsPlayer.getPot()); continuePlay = false; } - - } + + return msg; } @@ -104,10 +113,12 @@ public void promptUserForWagerAmount() { double userWagerAmount = console.getDoubleInput("Your balance is now $ " + crapsPlayer.getBalance()+ "\nHow much would you like to wager?"); boolean wagerAmountSuccessful = crapsPlayer.placeWager(userWagerAmount); + while (!wagerAmountSuccessful) { userWagerAmount = console.getDoubleInput("Wager exceeds your balance. Please wage a smaller amount."); wagerAmountSuccessful = crapsPlayer.placeWager(userWagerAmount); } + } @@ -115,18 +126,14 @@ public void promptLeaveGame() { int userInput = console.getIntegerInput("Your balance is " + crapsPlayer.getBalance() + "\nDo you want to play again? \n" + "1. Yes\n" + "2. No"); + if (userInput == 1) { startGame(); } } - public void displayResults() { + public void distributeWinnings() { } - } - - - public void distributeWinnings() { - } } diff --git a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java index c6ddc7053..07981e51a 100644 --- a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java +++ b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java @@ -11,14 +11,9 @@ public GamblingPlayer(Player user) { this.gambler = user; } - public Double getPot() { - return pot; - } - public Boolean placeWager(double wagerAmount) { - if (gambler.balance < wagerAmount) { - return false; - } else { + if (gambler.balance < wagerAmount) { return false; } + else { gambler.balance -= wagerAmount; this.pot += wagerAmount; return true; @@ -29,5 +24,10 @@ public void getWinnings() { gambler.balance += pot * 2; } + public String getPot() { + return "Congratulations, your payout is $" + pot * 2; + } + public Double getBalance(){return gambler.balance;} + } From 922f616543bfc35a673345089eff1c68902191ad Mon Sep 17 00:00:00 2001 From: Maira Botelho Date: Thu, 7 Nov 2019 14:33:54 -0500 Subject: [PATCH 146/169] small changes, jazzie changes --- .../io/zipcoder/casino/CardGames/Card.java | 2 +- .../io/zipcoder/casino/CardGames/GoFish.java | 88 +++++++++++++++---- 2 files changed, 70 insertions(+), 20 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/Card.java b/src/main/java/io/zipcoder/casino/CardGames/Card.java index 3398cddcc..e48483d15 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/Card.java +++ b/src/main/java/io/zipcoder/casino/CardGames/Card.java @@ -27,6 +27,6 @@ public Rank getRank() { public String toString() { - return String.format("%s of %s \n\n", rank, suit); + return String.format("%s of %s \n\n", rank, suit.toString().toLowerCase()); } } diff --git a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java index 788d95b8d..9c7fdc511 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java +++ b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java @@ -8,18 +8,23 @@ public class GoFish implements Game { - Console newConsole = new Console(System.in, System.out); - Random random = new Random(); + //------------------------------------------------------------------------------------------------------------------ + // Fields ---------------------------------------------------------------------------------------------------------- + + private Console newConsole = new Console(System.in, System.out); + private Random random = new Random(); private Player player; private Deck goFishDeck; private CardHand playerHand; private CardHand computerHand; - boolean winGame = false; private ArrayList winnings; + boolean winGame = false; - //Constructor + //------------------------------------------------------------------------------------------------------------------ + // Constructor ----------------------------------------------------------------------------------------------------- + public GoFish(Player player) { this.player = player; @@ -33,26 +38,31 @@ public GoFish(Player player) { } + //------------------------------------------------------------------------------------------------------------------ + // Method called to play the game ---------------------------------------------------------------------------------- + public void startGame() { - newConsole.println("\n\n\n\n\n\n\n"); + newConsole.println("Welcome to Go Fish! \n"); + newConsole.getStringInput("\n\n\n\n\n\n\nPress Enter to continue\n\n\n\n\n" ); do { newConsole.println("%s's turn \n\n", this.player.getID()); - playerTurn(); + winGame = checkIfWinner(playerHand); if (winGame){ - newConsole.println("\n"+ player.getID() + " is the winner with : \n"); + newConsole.println("\n" + player.getID() + " is the winner with : \n"); displayResults(); break; } - newConsole.println("Computer's Turn \n\n"); + newConsole.println("Computer's Turn \n\n"); computerTurn(); + winGame = checkIfWinner(computerHand); if (winGame){ newConsole.println("\n Computer is the winner with : \n"); @@ -62,11 +72,13 @@ public void startGame() { } while (!false); - promptLeaveGame(); } + //------------------------------------------------------------------------------------------------------------------ + // Player's and Computers turn ------------------------------------------------------------------------------------- + public void playerTurn() { newConsole.println("======Your Cards======\n\n"); @@ -122,7 +134,8 @@ public void computerTurn() { } - //Tools for Game + //------------------------------------------------------------------------------------------------------------------ + // Check if other play has card and trading ------------------------------------------------------------------------ public boolean haveCard(CardHand opponent, String wantedCard) { @@ -135,7 +148,7 @@ public boolean haveCard(CardHand opponent, String wantedCard) { public ArrayList tradeCards(CardHand givingHand, String wantedCard, CardHand receivingHand){ - ArrayList tradingCards = new ArrayList<>(); + ArrayList tradingCards = new ArrayList(); for (Card card : givingHand.userHand) { if (card.getRank().toString().equals(wantedCard)) @@ -149,6 +162,10 @@ public ArrayList tradeCards(CardHand givingHand, String wantedCard, CardHand rec } + + //------------------------------------------------------------------------------------------------------------------ + // Getting card from deck ------------------------------------------------------------------------------------------ + public Card goFishForCard(CardHand hand) { Card newCard = goFishDeck.drawCard(); @@ -157,6 +174,10 @@ public Card goFishForCard(CardHand hand) { return newCard; } + + //------------------------------------------------------------------------------------------------------------------ + // Check if player's hand is winner -------------------------------------------------------------------------------- + public boolean checkIfWinner(CardHand hand) { int counter; @@ -182,24 +203,53 @@ public boolean checkIfWinner(CardHand hand) { } - public void promptLeaveGame() { + //------------------------------------------------------------------------------------------------------------------ + // Gets a random rank from computer's hand ------------------------------------------------------------------------- + public Rank getCompCard() { + + Card newCard = computerHand.userHand.get(random.nextInt(computerHand.userHand.size())); + return newCard.getRank(); } - public void displayResults() { + //------------------------------------------------------------------------------------------------------------------ + // + + + public void promptLeaveGame() { + String exitOrNo; + boolean c = false; + while (!c) { + + exitOrNo = newConsole.getStringInput("Would you like to play again?\n1. Play again\n2. Exit"); + + if(exitOrNo.equals("")){ + exitOrNo = " "; + } + + switch (exitOrNo.charAt(0)) { + case '1': + startGame(); + c = true; + break; + case '2': + break; + default: + newConsole.println("Please choose one of the options."); + break; + } + } - newConsole.println(winnings.toString().replace("[", "").replace("]", "") - .replace(", ", "")); } + public void displayResults() { - //Computer Play - public Rank getCompCard() { - Card newCard = computerHand.userHand.get(random.nextInt(computerHand.userHand.size())); - return newCard.getRank(); + newConsole.println(winnings.toString().replace("[", "").replace("]", "") + .replace(", ", "")); + } } From 1ec0a6f8c104e9fdbf43326ffe6c7bb17c96e28a Mon Sep 17 00:00:00 2001 From: Maira Botelho Date: Thu, 7 Nov 2019 14:36:22 -0500 Subject: [PATCH 147/169] lower case for Valentin --- .../io/zipcoder/casino/CardGames/Card.java | 2 +- .../io/zipcoder/casino/CardGames/GoFish.java | 107 +++++++++++++----- 2 files changed, 80 insertions(+), 29 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/Card.java b/src/main/java/io/zipcoder/casino/CardGames/Card.java index 3398cddcc..e48483d15 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/Card.java +++ b/src/main/java/io/zipcoder/casino/CardGames/Card.java @@ -27,6 +27,6 @@ public Rank getRank() { public String toString() { - return String.format("%s of %s \n\n", rank, suit); + return String.format("%s of %s \n\n", rank, suit.toString().toLowerCase()); } } diff --git a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java index 788d95b8d..9cb8cd06d 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java +++ b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java @@ -8,18 +8,23 @@ public class GoFish implements Game { - Console newConsole = new Console(System.in, System.out); - Random random = new Random(); + //------------------------------------------------------------------------------------------------------------------ + // Fields ---------------------------------------------------------------------------------------------------------- + + private Console newConsole = new Console(System.in, System.out); + private Random random = new Random(); private Player player; private Deck goFishDeck; private CardHand playerHand; private CardHand computerHand; - boolean winGame = false; private ArrayList winnings; + boolean winGame = false; - //Constructor + //------------------------------------------------------------------------------------------------------------------ + // Constructor ----------------------------------------------------------------------------------------------------- + public GoFish(Player player) { this.player = player; @@ -33,40 +38,47 @@ public GoFish(Player player) { } + //------------------------------------------------------------------------------------------------------------------ + // Method called to play the game ---------------------------------------------------------------------------------- + public void startGame() { - newConsole.println("\n\n\n\n\n\n\n"); + newConsole.println("Welcome to Go Fish! \n"); + newConsole.getStringInput("\n\n\n\n\n\n\nPress Enter to continue\n\n\n\n\n" ); do { newConsole.println("%s's turn \n\n", this.player.getID()); - playerTurn(); + winGame = checkIfWinner(playerHand); - if (winGame){ - newConsole.println("\n"+ player.getID() + " is the winner with : \n"); - displayResults(); - break; - } + if (winGame){ + newConsole.println("\n" + player.getID() + " is the winner with : \n"); + displayResults(); + break; + } - newConsole.println("Computer's Turn \n\n"); + newConsole.println("Computer's Turn \n\n"); computerTurn(); + winGame = checkIfWinner(computerHand); - if (winGame){ - newConsole.println("\n Computer is the winner with : \n"); - displayResults(); - break; - } + if (winGame){ + newConsole.println("\n Computer is the winner with : \n"); + displayResults(); + break; + } } while (!false); - promptLeaveGame(); } + //------------------------------------------------------------------------------------------------------------------ + // Player's and Computers turn ------------------------------------------------------------------------------------- + public void playerTurn() { newConsole.println("======Your Cards======\n\n"); @@ -122,7 +134,8 @@ public void computerTurn() { } - //Tools for Game + //------------------------------------------------------------------------------------------------------------------ + // Check if other play has card and trading ------------------------------------------------------------------------ public boolean haveCard(CardHand opponent, String wantedCard) { @@ -135,7 +148,7 @@ public boolean haveCard(CardHand opponent, String wantedCard) { public ArrayList tradeCards(CardHand givingHand, String wantedCard, CardHand receivingHand){ - ArrayList tradingCards = new ArrayList<>(); + ArrayList tradingCards = new ArrayList(); for (Card card : givingHand.userHand) { if (card.getRank().toString().equals(wantedCard)) @@ -149,6 +162,10 @@ public ArrayList tradeCards(CardHand givingHand, String wantedCard, CardHand rec } + + //------------------------------------------------------------------------------------------------------------------ + // Getting card from deck ------------------------------------------------------------------------------------------ + public Card goFishForCard(CardHand hand) { Card newCard = goFishDeck.drawCard(); @@ -157,6 +174,10 @@ public Card goFishForCard(CardHand hand) { return newCard; } + + //------------------------------------------------------------------------------------------------------------------ + // Check if player's hand is winner -------------------------------------------------------------------------------- + public boolean checkIfWinner(CardHand hand) { int counter; @@ -182,24 +203,54 @@ public boolean checkIfWinner(CardHand hand) { } - public void promptLeaveGame() { + //------------------------------------------------------------------------------------------------------------------ + // Gets a random rank from computer's hand ------------------------------------------------------------------------- + + public Rank getCompCard() { + Card newCard = computerHand.userHand.get(random.nextInt(computerHand.userHand.size())); + return newCard.getRank(); } - public void displayResults() { + //------------------------------------------------------------------------------------------------------------------ + // + + + public void promptLeaveGame() { + String exitOrNo; + boolean c = false; + while (!c) { + + exitOrNo = newConsole.getStringInput("Would you like to play again?\n1. Play again\n2. Exit"); + + if(exitOrNo.equals("")){ + exitOrNo = " "; + } + + switch (exitOrNo.charAt(0)) { + case '1': + startGame(); + c = true; + break; + case '2': + break; + default: + newConsole.println("Please choose one of the options."); + break; + } + } - newConsole.println(winnings.toString().replace("[", "").replace("]", "") - .replace(", ", "")); } + public void displayResults() { + - //Computer Play - public Rank getCompCard() { + newConsole.println(winnings.toString().replace("[", "").replace("]", "") + .replace(", ", "")); - Card newCard = computerHand.userHand.get(random.nextInt(computerHand.userHand.size())); - return newCard.getRank(); } } + From d6a200fb880d379b78d5b6af12bee1df520967e9 Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Thu, 7 Nov 2019 14:58:08 -0500 Subject: [PATCH 148/169] added resetpot --- .../io/zipcoder/casino/DiceGames/Craps.java | 6 ++++-- .../io/zipcoder/casino/DiceGames/Dice.java | 18 ------------------ .../zipcoder/casino/Player/GamblingPlayer.java | 10 ++++------ 3 files changed, 8 insertions(+), 26 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java index c6f1d1fdd..da50cbce1 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java @@ -53,19 +53,21 @@ public void startGame() { } while (continuePlay == true); + crapsPlayer.resetPot(); promptLeaveGame(); } - public void crapsRoll() { + public String crapsRoll() { console.getStringInput("Press enter to roll."); for (Dice s : this.crapsDice) { s.rollDice(); } sum = crapsDice[0].getValue() + crapsDice[1].getValue(); - console.println("You rolled a " + sum); + + return "You rolled a " + sum; } diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Dice.java b/src/main/java/io/zipcoder/casino/DiceGames/Dice.java index a6eb6e5ab..e16ca3d78 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Dice.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Dice.java @@ -61,23 +61,5 @@ public String toString2(){ } } - - public static ArrayList playerDice = new ArrayList(5); - - public static Integer numOfDice = 0; - - public Dice(int numOfDice){} - - - - public int diceValue(){return 0;} - - public static void roll(int[]numberOfDice){ - - } - - public void distributeWinnings(){ - - } } diff --git a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java index 07981e51a..4d1f74e3d 100644 --- a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java +++ b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java @@ -20,13 +20,11 @@ public Boolean placeWager(double wagerAmount) { } } - public void getWinnings() { - gambler.balance += pot * 2; - } + public void getWinnings() { gambler.balance += pot * 2; } - public String getPot() { - return "Congratulations, your payout is $" + pot * 2; - } + public String getPot() { return "Congratulations, your payout is $" + pot * 2; } + + public void resetPot() { pot = 0.0;} public Double getBalance(){return gambler.balance;} From c9999c6551e61144f9de51f5bfd87e6b912be861 Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Thu, 7 Nov 2019 15:10:34 -0500 Subject: [PATCH 149/169] stuff --- src/main/java/io/zipcoder/casino/Player/Player.java | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/Player/Player.java b/src/main/java/io/zipcoder/casino/Player/Player.java index b69a359ac..a6a853bff 100644 --- a/src/main/java/io/zipcoder/casino/Player/Player.java +++ b/src/main/java/io/zipcoder/casino/Player/Player.java @@ -5,15 +5,6 @@ public class Player { protected String ID; protected String pwd; - - public String getID() { - return ID; - } - - public void setID(String ID) { - this.ID = ID; - } - protected double balance; public Player(String ID, String password){ @@ -22,6 +13,10 @@ public Player(String ID, String password){ this.balance = 0.0; } + public String getID() { + return ID; + } + public void addAmount(double balance) { this.balance += balance; } From b8920852ab2901079d872d5abd9e34dc638670c2 Mon Sep 17 00:00:00 2001 From: Maira Botelho Date: Thu, 7 Nov 2019 16:56:41 -0500 Subject: [PATCH 150/169] finished go fish --- .../io/zipcoder/casino/CardGames/Card.java | 16 +++++++- .../io/zipcoder/casino/CardGames/GoFish.java | 37 +++++++++++-------- .../io/zipcoder/casino/CardGames/Rank.java | 3 +- 3 files changed, 37 insertions(+), 19 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/Card.java b/src/main/java/io/zipcoder/casino/CardGames/Card.java index dfd090217..6dd032a50 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/Card.java +++ b/src/main/java/io/zipcoder/casino/CardGames/Card.java @@ -29,7 +29,21 @@ public Rank getRank() { public String toString() { - return String.format("%s of %s \n\n", rank, suit.toString().toLowerCase()); + String suitCard = ""; + + //return String.format("%s of %s \n\n", rank, suit.toString().toLowerCase()); + + if(suit.toString() == "HEARTS") + suitCard = "♡"; + else if(suit.toString() == "SPADES") + suitCard = "♠"; + else if(suit.toString() == "CLUBS") + suitCard = "♣"; + else + suitCard = "♢"; + + + return String.format("%s %s \n", rank, suitCard); } public HashMap blackJackCardRank = new HashMap() {{ diff --git a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java index de1317e9a..6451a19b9 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java +++ b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java @@ -23,11 +23,15 @@ public class GoFish implements Game { //------------------------------------------------------------------------------------------------------------------ - // Constructor ----------------------------------------------------------------------------------------------------- + // Constructor and Initializing game ------------------------------------------------------------------------------ public GoFish(Player player) { this.player = player; + } + + public void initializeGame(){ + //initialize and shuffle deck this.goFishDeck = new Deck(1); goFishDeck.shuffleDeck(); @@ -35,20 +39,21 @@ public GoFish(Player player) { //initialize players' hand and deal cards playerHand = new CardHand(goFishDeck.dealCards(5)); computerHand = new CardHand(goFishDeck.dealCards(5)); - } + } //------------------------------------------------------------------------------------------------------------------ // Method called to play the game ---------------------------------------------------------------------------------- public void startGame() { - newConsole.println("Welcome to Go Fish! \n"); - newConsole.getStringInput("\n\n\n\n\n\n\nPress Enter to continue\n\n\n\n\n" ); + initializeGame(); + + newConsole.getStringInput("\n\n\n\n\nPress Enter to start the game\n\n\n\n\n\n" ); do { - newConsole.println("%s's turn \n\n", this.player.getID()); + newConsole.println("\n>>>>>> %s's turn <<<<<<\n\n", this.player.getID()); playerTurn(); winGame = checkIfWinner(playerHand); @@ -59,7 +64,7 @@ public void startGame() { break; } - newConsole.println("Computer's Turn \n\n"); + newConsole.println("\n>>>>>> Computer's Turn <<<<<<\n"); computerTurn(); winGame = checkIfWinner(computerHand); @@ -80,32 +85,32 @@ public void startGame() { public void playerTurn() { - newConsole.println("======Your Cards======\n\n"); + newConsole.println("--- Your Cards ---\n\n"); newConsole.println(playerHand.displayHand()); - newConsole.println("======================"); + newConsole.println("------------------"); - String cardWanted = newConsole.getStringInput("\nWhich value would you like to ask for? ").toUpperCase(); + String cardWanted = newConsole.getStringInput("\nWhich value would you like to ask for? \n ").toUpperCase(); //If Player asked for a card that is in hand if (haveCard(playerHand, cardWanted)) { if (haveCard(computerHand, cardWanted)) { newConsole.println("\nThe computer has this card\n"); - newConsole.println("\nNew Card(s) >> " + tradeCards(computerHand, cardWanted, playerHand).toString() + newConsole.println("\nNEW CARD(S) ADDED >>> " + tradeCards(computerHand, cardWanted, playerHand).toString() .replace("[", "").replace("]", "").replace(", ", "")); } else { newConsole.println("\nGo Fish!!!\n"); - newConsole.println("\nNew Card >> " + goFishForCard(playerHand).toString().replace("[", "") + newConsole.println("\nNEW CARD ADDED >>> " + goFishForCard(playerHand).toString().replace("[", "") .replace("]", "")); } - newConsole.println("======Your Cards======\n\n"); + newConsole.println("--- Your Cards ---\n\n"); newConsole.println(playerHand.displayHand()); - newConsole.println("======================"); + newConsole.println("------------------\n"); }else{ - newConsole.println("\n\nYou don't have this card. Try it again.\n\n"); + newConsole.println("\n\nYou don't have this card. Try a different card.\n\n"); playerTurn(); } @@ -121,10 +126,10 @@ public void computerTurn() { if (haveCard(playerHand, newCard)) { tradeCards(playerHand, newCard, computerHand); - newConsole.println("\nYou have this card, the computer will take it\n"); + newConsole.println("\nYou have this card, the computer will take it"); } else { - newConsole.println("\nGo Fish!!!!\n"); + newConsole.println("\nGo Fish!!!!"); goFishForCard(computerHand); } diff --git a/src/main/java/io/zipcoder/casino/CardGames/Rank.java b/src/main/java/io/zipcoder/casino/CardGames/Rank.java index 08da165be..eb606fc39 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/Rank.java +++ b/src/main/java/io/zipcoder/casino/CardGames/Rank.java @@ -4,7 +4,7 @@ public enum Rank { - + ACE, TWO, THREE, FOUR, @@ -14,7 +14,6 @@ public enum Rank { EIGHT, NINE, TEN, - ACE, JACK, QUEEN, KING; From 3885c0f5d18f96fdae86d7779018a0d851d6082f Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Thu, 7 Nov 2019 17:05:32 -0500 Subject: [PATCH 151/169] console fixed --- src/main/java/io/zipcoder/casino/DiceGames/Craps.java | 4 ++-- src/main/java/io/zipcoder/casino/Interfaces/GamblingGame.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java index da50cbce1..897188fe9 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java @@ -47,8 +47,8 @@ public void startGame() { createDice(); do { - crapsRoll(); - console.print(evaluateRoll()); + console.println(crapsRoll()); + console.println(evaluateRoll()); turn++; } while (continuePlay == true); diff --git a/src/main/java/io/zipcoder/casino/Interfaces/GamblingGame.java b/src/main/java/io/zipcoder/casino/Interfaces/GamblingGame.java index 30f2e0619..cea4b6afd 100644 --- a/src/main/java/io/zipcoder/casino/Interfaces/GamblingGame.java +++ b/src/main/java/io/zipcoder/casino/Interfaces/GamblingGame.java @@ -2,5 +2,5 @@ public interface GamblingGame { - void distributeWinnings(); + void promptUserForWagerAmount(); } From 1814a47e39c12377138c7d114be9fe3c7b0344e3 Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Thu, 7 Nov 2019 17:21:47 -0500 Subject: [PATCH 152/169] more string changes --- src/main/java/io/zipcoder/casino/DiceGames/Craps.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java index 897188fe9..e96830f1c 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java @@ -61,13 +61,16 @@ public void startGame() { public String crapsRoll() { + console.getStringInput("Press enter to roll."); - for (Dice s : this.crapsDice) { - s.rollDice(); - } + + for (Dice s : this.crapsDice) { s.rollDice(); } sum = crapsDice[0].getValue() + crapsDice[1].getValue(); - return "You rolled a " + sum; + String roll = "You rolled a " + sum; + String target =" Target Roll: " + targetScore; + + return (turn == 0) ? roll : roll + target; } From e68419c482b26f3ab603acd161ee5858323439e4 Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Thu, 7 Nov 2019 17:55:09 -0500 Subject: [PATCH 153/169] checkForChips added --- .../java/io/zipcoder/casino/CardGames/BlackJack.java | 10 ++++++++-- src/main/java/io/zipcoder/casino/DiceGames/Craps.java | 8 ++++++-- .../io/zipcoder/casino/Interfaces/GamblingGame.java | 2 ++ .../java/io/zipcoder/casino/Player/GamblingPlayer.java | 1 + 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index 64e11849f..dc12a828c 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -90,9 +90,15 @@ public void setCard(Card card) { this.card = card; } public void startGame() { + input.println(checkForChips()); playBlackJack(); } + public String checkForChips(){ + if (gamblingPlayer.getBalance() < 10){return "You need at least $10.00 to play";} + else {return "Welcome to BlackJack!";} + } + public void playBlackJack() { initializeBlackJackHands(); checkInitialHandValue(gamblingPlayerHand); @@ -106,6 +112,7 @@ public void playBlackJack() { public void promptUserForWagerAmount() { + double userWagerAmount = input.getDoubleInput("How much would you like to wager?"); boolean wagerAmountSuccessful = gamblingPlayer.placeWager(userWagerAmount); while (!wagerAmountSuccessful) { @@ -245,8 +252,7 @@ public void hitOrStayAction(CardHand hand, Integer hitOrStayUserInput) { public void stay() { } - public void distributeWinnings() { - } + public void checkCardValue(Card firstCard, Card secondCard) { } diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java index e96830f1c..8ffa048a5 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java @@ -42,7 +42,7 @@ public void startGame() { turn = 0; continuePlay = true; - console.println("Welcome to Craps!"); + console.println(checkForChips()); promptUserForWagerAmount(); createDice(); @@ -58,6 +58,11 @@ public void startGame() { } + public String checkForChips(){ + if (crapsPlayer.getBalance() < 10){return "You need at least $10.00 to play";} + else {return "Welcome to Craps!";} + } + public String crapsRoll() { @@ -139,6 +144,5 @@ public void promptLeaveGame() { } - public void distributeWinnings() { } } diff --git a/src/main/java/io/zipcoder/casino/Interfaces/GamblingGame.java b/src/main/java/io/zipcoder/casino/Interfaces/GamblingGame.java index cea4b6afd..0c8a7f630 100644 --- a/src/main/java/io/zipcoder/casino/Interfaces/GamblingGame.java +++ b/src/main/java/io/zipcoder/casino/Interfaces/GamblingGame.java @@ -3,4 +3,6 @@ public interface GamblingGame { void promptUserForWagerAmount(); + String checkForChips(); + } diff --git a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java index 4d1f74e3d..9bdb0ce62 100644 --- a/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java +++ b/src/main/java/io/zipcoder/casino/Player/GamblingPlayer.java @@ -13,6 +13,7 @@ public GamblingPlayer(Player user) { public Boolean placeWager(double wagerAmount) { if (gambler.balance < wagerAmount) { return false; } + else if ( wagerAmount < 0 ) { return false;} else { gambler.balance -= wagerAmount; this.pot += wagerAmount; From 98d93a25933172d7f4405288960ce9778ea2ba1c Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Thu, 7 Nov 2019 18:02:11 -0500 Subject: [PATCH 154/169] working on bj --- .../zipcoder/casino/CardGames/BlackJack.java | 147 +++++++----------- .../io/zipcoder/casino/CardGames/Card.java | 32 ++-- 2 files changed, 73 insertions(+), 106 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index 64e11849f..c7e1fc8d1 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -5,7 +5,7 @@ import io.zipcoder.casino.Player.Player; import io.zipcoder.casino.utilities.Console; - +import java.util.HashMap; public class BlackJack implements GamblingGame { @@ -21,74 +21,24 @@ public class BlackJack implements GamblingGame { private int wageBucket; private Card card; + public Integer playerRefactoredHandValue; + public Integer dealerRefactoredHandValue; - public BlackJack(Player user) { - this.gamblingPlayer = new GamblingPlayer(user); - } + public boolean playerHasBlackJack; + public boolean dealerHasBlackJack; + public boolean playerAndDealerHaveBlackJack; + public boolean playerBust; + public boolean dealerBust; + public boolean playerWin; + public boolean dealerWin; + public boolean playerDealerPush; - public GamblingPlayer getGamblingPlayer() { - return gamblingPlayer; - } - - public void setGamblingPlayer(GamblingPlayer gamblingPlayer) { - this.gamblingPlayer = gamblingPlayer; - } - - public CardHand getGamblingPlayerHand() { - return gamblingPlayerHand; - } - - public void setGamblingPlayerHand(CardHand gamblingPlayerHand) { - this.gamblingPlayerHand = gamblingPlayerHand; - } - - public Deck getBlackJackDeck() { - return blackJackDeck; - } - - public void setBlackJackDeck(Deck blackJackDeck) { - this.blackJackDeck = blackJackDeck; - } - - public CardHand getComputerHand() { - return computerHand; - } - - public void setComputerHand(CardHand computerHand) { - this.computerHand = computerHand; - } - - public boolean isWinGame() { - return winGame; - } - - public void setWinGame(boolean winGame) { - this.winGame = winGame; - } - - public Player getUser() { - return user; - } - public void setUser(Player user) { - this.user = user; - } - - public int getWageBucket() { - return wageBucket; - } - - public void setWageBucket(int wageBucket) { - this.wageBucket = wageBucket; + public BlackJack(Player user) { + this.gamblingPlayer = new GamblingPlayer(user); } - public Card getCard() { - return card; - } - public void setCard(Card card) { - this.card = card; - } public void startGame() { playBlackJack(); } @@ -97,6 +47,11 @@ public void playBlackJack() { initializeBlackJackHands(); checkInitialHandValue(gamblingPlayerHand); checkHandForAces(gamblingPlayerHand); + +// playerHasBlackJack = (playerRefactoredHandValue == 21); +// dealerHasBlackJack = (dealerRefactoredHandValue == 21); +// playerAndDealerHaveBlackJack = (playerHasBlackJack && dealerHasBlackJack); + refactorAndCalculateHandValue(checkInitialHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)); checkInitialHandValue(computerHand); checkHandForAces(computerHand); @@ -123,20 +78,21 @@ public void initializeBlackJackHands() { } - //takes arrayList of cards from hand and separates them by card and totals point based on default Ace value of 11. public Integer checkInitialHandValue(CardHand hand) { Integer handValueForDefaultAce11 = 0; - for (int i = 0; i < hand.userHand.size(); i++) { - handValueForDefaultAce11 += card.blackJackCardRank.get(i); + + for( Card card : hand.userHand) { + Rank rank = card.getRank(); + handValueForDefaultAce11 += (Integer) blackJackCardRank.get(rank); } return handValueForDefaultAce11; } - //counts the number of Aces in cardHand. + //counts the number of Aces in cardHand. public Integer checkHandForAces(CardHand hand) { Integer aceCounter = 0; - for (int i = 0; i < hand.userHand.size(); i++) { + for (Card card : hand.userHand){ if (card.getRank() == Rank.ACE) { aceCounter++; } @@ -145,7 +101,7 @@ public Integer checkHandForAces(CardHand hand) { } - //evaluates score of blackjack hand and determines whether or not the value of each Ace should remain at 11 points or be reassigned to 1 point. Returns new hand value. + //evaluates score of blackjack hand and determines whether or not the value of each Ace should remain at 11 points or be reassigned to 1 point. Returns new hand value. public Integer refactorAndCalculateHandValue(Integer handValueForDefaultAce11, Integer numberOfAces) { Integer refactoredHandValue = handValueForDefaultAce11; //default set to no changes. if (numberOfAces == 1 && handValueForDefaultAce11 > 21) { @@ -166,20 +122,17 @@ public Integer refactorAndCalculateHandValue(Integer handValueForDefaultAce11, I return refactoredHandValue; } - public Integer playerRefactoredHandValue = refactorAndCalculateHandValue(checkInitialHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)); - public Integer dealerRefactoredHandValue = refactorAndCalculateHandValue(checkInitialHandValue(computerHand), checkHandForAces(computerHand)); - - public boolean playerHasBlackJack = playerRefactoredHandValue == 21; - public boolean dealerHasBlackJack = dealerRefactoredHandValue == 21; - public boolean playerAndDealerHaveBlackJack = playerHasBlackJack && dealerHasBlackJack; - public boolean playerBust = playerRefactoredHandValue > 21; - public boolean dealerBust = dealerRefactoredHandValue > 21; - public boolean playerWin = !playerBust && playerRefactoredHandValue > dealerRefactoredHandValue; - public boolean dealerWin = !dealerBust && dealerRefactoredHandValue > playerRefactoredHandValue; - public boolean playerDealerPush = playerBust && dealerBust || playerRefactoredHandValue == dealerRefactoredHandValue; - - - +// public Integer playerRefactoredHandValue = refactorAndCalculateHandValue(checkInitialHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)); +// public Integer dealerRefactoredHandValue = refactorAndCalculateHandValue(checkInitialHandValue(computerHand), checkHandForAces(computerHand)); +// +// public boolean playerHasBlackJack = playerRefactoredHandValue == 21; +// public boolean dealerHasBlackJack = dealerRefactoredHandValue == 21; +// public boolean playerAndDealerHaveBlackJack = playerHasBlackJack && dealerHasBlackJack; +// public boolean playerBust = playerRefactoredHandValue > 21; +// public boolean dealerBust = dealerRefactoredHandValue > 21; +// public boolean playerWin = !playerBust && playerRefactoredHandValue > dealerRefactoredHandValue; +// public boolean dealerWin = !dealerBust && dealerRefactoredHandValue > playerRefactoredHandValue; +// public boolean playerDealerPush = playerBust && dealerBust || playerRefactoredHandValue == dealerRefactoredHandValue; // public void displayPostInitialFlopWinner() { @@ -189,16 +142,14 @@ public Integer refactorAndCalculateHandValue(Integer handValueForDefaultAce11, I // } - - public Integer displayScore() { if (playerAndDealerHaveBlackJack) { return displayPlayerNDealerPushWithBlackJack(); - } else if (playerHasBlackJack && !dealerHasBlackJack) { + } else if (playerHasBlackJack && !dealerHasBlackJack) { return displayPlayerWinsWithBlackJack(" You got BlackJack!\n", "Your hand: ", "Press 1 to play again or 2 to quit.\n"); - } else if(dealerHasBlackJack && !playerHasBlackJack) { + } else if (dealerHasBlackJack && !playerHasBlackJack) { return dealerWinsWithBlackJack(" Dealer got BlackJack!\n", "Your hand: ", "Press 1 to play again or 2 to quit.\n"); - } else { + } else { return displayPlayerNDealerPush("Push!\n", "Your hand: "); } @@ -224,7 +175,6 @@ private Integer displayPlayerNDealerPushWithBlackJack() { } - public Integer promptHitOrStay() { Integer hitOrStayUserInput = input.getIntegerInput("Press 1 to hit or 2 to stay."); while (hitOrStayUserInput != 1 || hitOrStayUserInput != 0) { @@ -257,8 +207,25 @@ public void getWinner(CardHand dealer, CardHand player) { public void promptLeaveGame() { } + private HashMap blackJackCardRank = new HashMap() {{ - } + put(Rank.TWO, 2); + put(Rank.THREE, 3); + put(Rank.FOUR, 4); + put(Rank.FIVE, 5); + put(Rank.SIX, 6); + put(Rank.SEVEN, 7); + put(Rank.EIGHT, 8); + put(Rank.NINE, 9); + put(Rank.TEN, 10); + put(Rank.ACE, 11); + put(Rank.JACK, 10); + put(Rank.QUEEN, 10); + put(Rank.KING, 10); + }}; + + +} diff --git a/src/main/java/io/zipcoder/casino/CardGames/Card.java b/src/main/java/io/zipcoder/casino/CardGames/Card.java index dfd090217..f084a485a 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/Card.java +++ b/src/main/java/io/zipcoder/casino/CardGames/Card.java @@ -32,22 +32,22 @@ public String toString() { return String.format("%s of %s \n\n", rank, suit.toString().toLowerCase()); } - public HashMap blackJackCardRank = new HashMap() {{ - - put(Rank.TWO, 2); - put(Rank.THREE, 3); - put(Rank.FOUR, 4); - put(Rank.FIVE, 5); - put(Rank.SIX, 6); - put(Rank.SEVEN, 7); - put(Rank.EIGHT, 8); - put(Rank.NINE, 9); - put(Rank.TEN, 10); - put(Rank.ACE, 11); - put(Rank.JACK, 10); - put(Rank.QUEEN, 10); - put(Rank.KING, 10); - }}; +// public HashMap blackJackCardRank = new HashMap() {{ +// +// put(Rank.TWO, 2); +// put(Rank.THREE, 3); +// put(Rank.FOUR, 4); +// put(Rank.FIVE, 5); +// put(Rank.SIX, 6); +// put(Rank.SEVEN, 7); +// put(Rank.EIGHT, 8); +// put(Rank.NINE, 9); +// put(Rank.TEN, 10); +// put(Rank.ACE, 11); +// put(Rank.JACK, 10); +// put(Rank.QUEEN, 10); +// put(Rank.KING, 10); +// }}; } From 05efd1c569dc6de0d2cd25e0e5140985e6d76198 Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Thu, 7 Nov 2019 18:15:15 -0500 Subject: [PATCH 155/169] logic added --- src/main/java/io/zipcoder/casino/CardGames/BlackJack.java | 1 + src/main/java/io/zipcoder/casino/DiceGames/Craps.java | 1 + 2 files changed, 2 insertions(+) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index dc12a828c..7f7d814b4 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -91,6 +91,7 @@ public void setCard(Card card) { } public void startGame() { input.println(checkForChips()); + if (gamblingPlayer.getBalance() < 10) { return; } playBlackJack(); } diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java index 8ffa048a5..35b03e176 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java @@ -43,6 +43,7 @@ public void startGame() { turn = 0; continuePlay = true; console.println(checkForChips()); + if (crapsPlayer.getBalance() < 10) { return; } promptUserForWagerAmount(); createDice(); From 5da2371f98e866b540ad72c807fb0e028fa285b2 Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Thu, 7 Nov 2019 18:15:35 -0500 Subject: [PATCH 156/169] more logic --- .../zipcoder/casino/CardGames/BlackJack.java | 45 +++++++++---------- 1 file changed, 20 insertions(+), 25 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index 449274c47..ef50e4598 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -50,18 +50,17 @@ public String checkForChips(){ } public void playBlackJack() { + promptUserForWagerAmount(); initializeBlackJackHands(); checkInitialHandValue(gamblingPlayerHand); checkHandForAces(gamblingPlayerHand); -// playerHasBlackJack = (playerRefactoredHandValue == 21); -// dealerHasBlackJack = (dealerRefactoredHandValue == 21); -// playerAndDealerHaveBlackJack = (playerHasBlackJack && dealerHasBlackJack); - - refactorAndCalculateHandValue(checkInitialHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)); + playerRefactoredHandValue = refactorAndCalculateHandValue(checkInitialHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)); checkInitialHandValue(computerHand); checkHandForAces(computerHand); - refactorAndCalculateHandValue(checkInitialHandValue(computerHand), checkHandForAces(computerHand)); + dealerRefactoredHandValue = refactorAndCalculateHandValue(checkInitialHandValue(computerHand), checkHandForAces(computerHand)); + + input.println(gamblingPlayerHand.displayHand()); } @@ -129,25 +128,6 @@ public Integer refactorAndCalculateHandValue(Integer handValueForDefaultAce11, I return refactoredHandValue; } -// public Integer playerRefactoredHandValue = refactorAndCalculateHandValue(checkInitialHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)); -// public Integer dealerRefactoredHandValue = refactorAndCalculateHandValue(checkInitialHandValue(computerHand), checkHandForAces(computerHand)); -// -// public boolean playerHasBlackJack = playerRefactoredHandValue == 21; -// public boolean dealerHasBlackJack = dealerRefactoredHandValue == 21; -// public boolean playerAndDealerHaveBlackJack = playerHasBlackJack && dealerHasBlackJack; -// public boolean playerBust = playerRefactoredHandValue > 21; -// public boolean dealerBust = dealerRefactoredHandValue > 21; -// public boolean playerWin = !playerBust && playerRefactoredHandValue > dealerRefactoredHandValue; -// public boolean dealerWin = !dealerBust && dealerRefactoredHandValue > playerRefactoredHandValue; -// public boolean playerDealerPush = playerBust && dealerBust || playerRefactoredHandValue == dealerRefactoredHandValue; - - -// public void displayPostInitialFlopWinner() { -// if(playerHasBlackJack && !dealerHasBlackJack) { -// input.getIntegerInput(); -// -// } - public Integer displayScore() { if (playerAndDealerHaveBlackJack) { @@ -231,6 +211,21 @@ public void promptLeaveGame() { }}; +// public boolean playerHasBlackJack = playerRefactoredHandValue == 21; +// public boolean dealerHasBlackJack = dealerRefactoredHandValue == 21; +// public boolean playerAndDealerHaveBlackJack = playerHasBlackJack && dealerHasBlackJack; +// public boolean playerBust = playerRefactoredHandValue > 21; +// public boolean dealerBust = dealerRefactoredHandValue > 21; +// public boolean playerWin = !playerBust && playerRefactoredHandValue > dealerRefactoredHandValue; +// public boolean dealerWin = !dealerBust && dealerRefactoredHandValue > playerRefactoredHandValue; +// public boolean playerDealerPush = playerBust && dealerBust || playerRefactoredHandValue == dealerRefactoredHandValue; + + +// public void displayPostInitialFlopWinner() { +// if(playerHasBlackJack && !dealerHasBlackJack) { +// input.getIntegerInput(); +// +// } } From 64e8edf64c4d74a78cebf1e85615641539041bb8 Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Thu, 7 Nov 2019 18:26:04 -0500 Subject: [PATCH 157/169] cleanup --- .../io/zipcoder/casino/CardGames/BlackJack.java | 2 +- .../java/io/zipcoder/casino/DiceGames/Craps.java | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index 7f7d814b4..168ae9062 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -96,7 +96,7 @@ public void startGame() { } public String checkForChips(){ - if (gamblingPlayer.getBalance() < 10){return "You need at least $10.00 to play";} + if (gamblingPlayer.getBalance() < 10){return "You need at least $10.00 to play\n";} else {return "Welcome to BlackJack!";} } diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java index 35b03e176..9becfbfad 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java @@ -60,7 +60,7 @@ public void startGame() { } public String checkForChips(){ - if (crapsPlayer.getBalance() < 10){return "You need at least $10.00 to play";} + if (crapsPlayer.getBalance() < 10){return "You need at least $10.00 to play\n";} else {return "Welcome to Craps!";} } @@ -73,8 +73,8 @@ public String crapsRoll() { for (Dice s : this.crapsDice) { s.rollDice(); } sum = crapsDice[0].getValue() + crapsDice[1].getValue(); - String roll = "You rolled a " + sum; - String target =" Target Roll: " + targetScore; + String roll = "You rolled a " + sum + "\n"; + String target =" | Target Roll: " + targetScore; return (turn == 0) ? roll : roll + target; } @@ -88,16 +88,16 @@ public String evaluateRoll() { if (sum == 7 || sum == 11) { crapsPlayer.getWinnings(); - msg = "Winner Winner, Chicken Dinner!\n" + crapsPlayer.getPot(); + msg = "Winner Winner, Chicken Dinner!\n" + crapsPlayer.getPot() + "\n"; //console.println("Winner Winner, Chicken Dinner! " ); continuePlay = false; } else if (sum == 2 || sum == 3 || sum == 12) { - msg = "You've Crapped out!!"; + msg = "You've Crapped out!!" + "\n"; //console.println("You've Crapped out!!"); continuePlay = false; } else { targetScore = sum; - msg = "Your Target Score is " + targetScore; + msg = "Your Target Score is " + targetScore + "\n"; //console.println( "Your Target Score is " + targetScore); } @@ -109,7 +109,7 @@ public String evaluateRoll() { continuePlay = false; } else if (sum == targetScore) { crapsPlayer.getWinnings(); - msg = "Winner Winner, Chicken Dinner!\n" + crapsPlayer.getPot(); + msg = "Winner Winner, Chicken Dinner!\n" + crapsPlayer.getPot() + "\n"; //console.println("Winner Winner, Chicken Dinner! " ); //console.println("Congratulations, your payout is $" + crapsPlayer.getPot()); continuePlay = false; @@ -135,7 +135,7 @@ public void promptUserForWagerAmount() { public void promptLeaveGame() { - int userInput = console.getIntegerInput("Your balance is " + crapsPlayer.getBalance() + "\nDo you want to play again? \n" + + int userInput = console.getIntegerInput("Your balance is " + crapsPlayer.getBalance() + "\n\nDo you want to play again? \n" + "1. Yes\n" + "2. No"); if (userInput == 1) { From 4189c5129cbe1053670800f439b9db744bcb34de Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Thu, 7 Nov 2019 20:05:23 -0500 Subject: [PATCH 158/169] not crashing but need more logic --- .../zipcoder/casino/CardGames/BlackJack.java | 152 +++++++++++------- 1 file changed, 97 insertions(+), 55 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index ef50e4598..8bd849180 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -32,9 +32,11 @@ public class BlackJack implements GamblingGame { public boolean playerWin; public boolean dealerWin; public boolean playerDealerPush; + private boolean continuePlay; public BlackJack(Player user) { + this.continuePlay = true; this.gamblingPlayer = new GamblingPlayer(user); } @@ -44,24 +46,30 @@ public void startGame() { playBlackJack(); } - public String checkForChips(){ - if (gamblingPlayer.getBalance() < 10){return "You need at least $10.00 to play";} - else {return "Welcome to BlackJack!";} + public String checkForChips() { + if (gamblingPlayer.getBalance() < 10) { + return "You need at least $10.00 to play"; + } else { + return "Welcome to BlackJack!"; + } } public void playBlackJack() { - promptUserForWagerAmount(); - initializeBlackJackHands(); - checkInitialHandValue(gamblingPlayerHand); - checkHandForAces(gamblingPlayerHand); - - playerRefactoredHandValue = refactorAndCalculateHandValue(checkInitialHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)); - checkInitialHandValue(computerHand); - checkHandForAces(computerHand); - dealerRefactoredHandValue = refactorAndCalculateHandValue(checkInitialHandValue(computerHand), checkHandForAces(computerHand)); - - input.println(gamblingPlayerHand.displayHand()); - + while (continuePlay) { + promptUserForWagerAmount(); + initializeBlackJackHands(); + checkInitialHandValue(gamblingPlayerHand); + checkHandForAces(gamblingPlayerHand); + + playerRefactoredHandValue = refactorAndCalculateHandValue(checkInitialHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)); + checkInitialHandValue(computerHand); + checkHandForAces(computerHand); + dealerRefactoredHandValue = refactorAndCalculateHandValue(checkInitialHandValue(computerHand), checkHandForAces(computerHand)); + + input.println(gamblingPlayerHand.displayHand()); + hitOrStayAction(gamblingPlayerHand, promptHitOrStay()); + evaluateHands(); + } } @@ -88,7 +96,7 @@ public void initializeBlackJackHands() { public Integer checkInitialHandValue(CardHand hand) { Integer handValueForDefaultAce11 = 0; - for( Card card : hand.userHand) { + for (Card card : hand.userHand) { Rank rank = card.getRank(); handValueForDefaultAce11 += (Integer) blackJackCardRank.get(rank); } @@ -98,7 +106,7 @@ public Integer checkInitialHandValue(CardHand hand) { //counts the number of Aces in cardHand. public Integer checkHandForAces(CardHand hand) { Integer aceCounter = 0; - for (Card card : hand.userHand){ + for (Card card : hand.userHand) { if (card.getRank() == Rank.ACE) { aceCounter++; } @@ -128,69 +136,105 @@ public Integer refactorAndCalculateHandValue(Integer handValueForDefaultAce11, I return refactoredHandValue; } + public Integer promptHitOrStay() { + Integer hitOrStayUserInput = input.getIntegerInput("Press 1 to hit or 2 to stay."); - public Integer displayScore() { - if (playerAndDealerHaveBlackJack) { - return displayPlayerNDealerPushWithBlackJack(); - } else if (playerHasBlackJack && !dealerHasBlackJack) { - return displayPlayerWinsWithBlackJack(" You got BlackJack!\n", "Your hand: ", "Press 1 to play again or 2 to quit.\n"); - } else if (dealerHasBlackJack && !playerHasBlackJack) { - return dealerWinsWithBlackJack(" Dealer got BlackJack!\n", "Your hand: ", "Press 1 to play again or 2 to quit.\n"); - } else { - return displayPlayerNDealerPush("Push!\n", "Your hand: "); + switch (hitOrStayUserInput) { + case 1: + hitOrStayAction(gamblingPlayerHand,hitOrStayUserInput); + break; + case 2: + stay(); + break; + + default: + hitOrStayUserInput = input.getIntegerInput("Invalid key, press 1 to hit or 2 to stay."); + break; } + return hitOrStayUserInput; } - private Integer displayPlayerWinsWithBlackJack(String s, String s2, String s3) { - return input.getIntegerInput(s + - s2 + gamblingPlayerHand.toString() + "\n" + - "Dealer hand: " + computerHand.toString() + "\n" + - s3); - } + public void hitOrStayAction(CardHand hand, Integer hitOrStayUserInput) { + if (hitOrStayUserInput == 1) { + hand.userHand.add(blackJackDeck.drawCard()); + hit(); + } else { + stay(); + } - private Integer dealerWinsWithBlackJack(String s, String s2, String s3) { - return displayPlayerWinsWithBlackJack(s, s2, s3); } - private Integer displayPlayerNDealerPush(String s, String s2) { - return dealerWinsWithBlackJack(s, s2, "Press 1 to play again or 2 to quit.\n"); + public void stay() { + evaluateHands(); + input.println(String.valueOf(playerRefactoredHandValue)); + if (displayScore() == 1) startGame(); + // check against the dealer } - private Integer displayPlayerNDealerPushWithBlackJack() { - return displayPlayerNDealerPush(" You and Dealer both got BlackJack!\n", "Your hand: "); + public void hit() { + checkInitialHandValue(gamblingPlayerHand); + checkHandForAces(gamblingPlayerHand); + playerRefactoredHandValue = refactorAndCalculateHandValue(checkInitialHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)); + input.println(gamblingPlayerHand.displayHand()); + evaluateHands(); } + public void evaluateHands() { + // TODO if both are over 21 or both under 21 but stay + playerHasBlackJack = (playerRefactoredHandValue == 21); + dealerHasBlackJack = (dealerRefactoredHandValue == 21); + playerAndDealerHaveBlackJack = (playerHasBlackJack && dealerHasBlackJack); - public Integer promptHitOrStay() { - Integer hitOrStayUserInput = input.getIntegerInput("Press 1 to hit or 2 to stay."); - while (hitOrStayUserInput != 1 || hitOrStayUserInput != 0) { - hitOrStayUserInput = input.getIntegerInput("Invalid key, press 1 to hit or 2 to stay."); + if (playerRefactoredHandValue > 21 || dealerRefactoredHandValue > 21) { + if (displayScore() == 2) promptLeaveGame(); } - return hitOrStayUserInput; - } - public void hitOrStayAction(CardHand hand, Integer hitOrStayUserInput) { - if (hitOrStayUserInput == 1) { - hand.userHand.add(blackJackDeck.drawCard()); - } else { + if (dealerRefactoredHandValue > playerRefactoredHandValue){ } + } + + public void getWinner(CardHand dealer, CardHand player) { } - public void stay() { + public void promptLeaveGame() { + continuePlay = false; } + public Integer displayScore() { + if (playerAndDealerHaveBlackJack) { + return displayPlayerNDealerPushWithBlackJack(); + } else if (playerHasBlackJack && !dealerHasBlackJack) { + return displayPlayerWinsWithBlackJack(" You got BlackJack!\n", "Your hand: \n", "Press 1 to play again or 2 to quit.\n"); + } else if (dealerHasBlackJack && !playerHasBlackJack) { + return dealerWinsWithBlackJack(" Dealer got BlackJack!\n", "Your hand: \n", "Press 1 to play again or 2 to quit.\n"); + } else if (playerRefactoredHandValue == dealerRefactoredHandValue){ + return displayPlayerNDealerPush("Push!\n", "Your hand: \n"); + } else { + return displayPlayerNDealerPush("Push!\n", "Your hand: \n"); // TODO if both are over 21 or both under 21 but stay + } + + } + private Integer displayPlayerWinsWithBlackJack(String s, String s2, String s3) { + return input.getIntegerInput(s + + s2 + gamblingPlayerHand.displayHand() + "\n" + + "Dealer hand: \n" + computerHand.displayHand() + "\n" + + s3); + } - public void checkCardValue(Card firstCard, Card secondCard) { + private Integer dealerWinsWithBlackJack(String s, String s2, String s3) { + return displayPlayerWinsWithBlackJack(s, s2, s3); } - public void getWinner(CardHand dealer, CardHand player) { + private Integer displayPlayerNDealerPush(String s, String s2) { + return dealerWinsWithBlackJack(s, s2, "Press 1 to play again or 2 to quit.\n"); } - public void promptLeaveGame() { + private Integer displayPlayerNDealerPushWithBlackJack() { + return displayPlayerNDealerPush(" You and Dealer both got BlackJack!\n", "Your hand: \n"); } private HashMap blackJackCardRank = new HashMap() {{ @@ -211,9 +255,7 @@ public void promptLeaveGame() { }}; -// public boolean playerHasBlackJack = playerRefactoredHandValue == 21; -// public boolean dealerHasBlackJack = dealerRefactoredHandValue == 21; -// public boolean playerAndDealerHaveBlackJack = playerHasBlackJack && dealerHasBlackJack; + // public boolean playerBust = playerRefactoredHandValue > 21; // public boolean dealerBust = dealerRefactoredHandValue > 21; // public boolean playerWin = !playerBust && playerRefactoredHandValue > dealerRefactoredHandValue; From 6be5668564c3a4eac63c470e76c210bed33a6777 Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Thu, 7 Nov 2019 20:26:41 -0500 Subject: [PATCH 159/169] craps tests added --- .../io/zipcoder/casino/DiceGames/Craps.java | 12 +--- .../zipcoder/casino/DiceGames/CrapsTest.java | 55 +++++++++++++++++++ 2 files changed, 58 insertions(+), 9 deletions(-) create mode 100644 src/test/java/io/zipcoder/casino/DiceGames/CrapsTest.java diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java index 9becfbfad..6a5ce33cd 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java @@ -13,7 +13,7 @@ public class Craps implements GamblingGame { private GamblingPlayer crapsPlayer; private Console console; private boolean continuePlay; - private Integer turn; + private Integer turn = 0; private Integer targetScore; private int sum; @@ -68,10 +68,10 @@ public String checkForChips(){ public String crapsRoll() { - console.getStringInput("Press enter to roll."); + //console.getStringInput("Press enter to roll."); for (Dice s : this.crapsDice) { s.rollDice(); } - sum = crapsDice[0].getValue() + crapsDice[1].getValue(); + //sum = crapsDice[0].getValue() + crapsDice[1].getValue(); String roll = "You rolled a " + sum + "\n"; String target =" | Target Roll: " + targetScore; @@ -89,29 +89,23 @@ public String evaluateRoll() { if (sum == 7 || sum == 11) { crapsPlayer.getWinnings(); msg = "Winner Winner, Chicken Dinner!\n" + crapsPlayer.getPot() + "\n"; - //console.println("Winner Winner, Chicken Dinner! " ); continuePlay = false; } else if (sum == 2 || sum == 3 || sum == 12) { msg = "You've Crapped out!!" + "\n"; - //console.println("You've Crapped out!!"); continuePlay = false; } else { targetScore = sum; msg = "Your Target Score is " + targetScore + "\n"; - //console.println( "Your Target Score is " + targetScore); } } else { if (sum == 7) { msg = "You've Crapped out!!"; - //console.println("You've Crapped out!!"); continuePlay = false; } else if (sum == targetScore) { crapsPlayer.getWinnings(); msg = "Winner Winner, Chicken Dinner!\n" + crapsPlayer.getPot() + "\n"; - //console.println("Winner Winner, Chicken Dinner! " ); - //console.println("Congratulations, your payout is $" + crapsPlayer.getPot()); continuePlay = false; } } diff --git a/src/test/java/io/zipcoder/casino/DiceGames/CrapsTest.java b/src/test/java/io/zipcoder/casino/DiceGames/CrapsTest.java new file mode 100644 index 000000000..73c8e7e4a --- /dev/null +++ b/src/test/java/io/zipcoder/casino/DiceGames/CrapsTest.java @@ -0,0 +1,55 @@ +package io.zipcoder.casino.DiceGames; + +import io.zipcoder.casino.Player.Player; +import org.junit.Assert; +import org.junit.Test; + +import static org.junit.Assert.*; + +public class CrapsTest { + + Player testPlayer = new Player("bogus","bogus"); + Craps testGame = new Craps (testPlayer); + + @Test + public void createDiceTest() { + Dice[] testDice = testGame.createDice(); + Assert.assertEquals(2,testDice.length); + } + + @Test + public void checkForChipsNegativeTest() { + String unexpected = "Welcome to Craps!"; + String actual = testGame.checkForChips(); + Assert.assertNotEquals(unexpected,actual); + } + + @Test + public void checkForChipsPositiveTest() { + String unexpected = "You need at least $10.00 to play\n"; + String actual = testGame.checkForChips(); + Assert.assertEquals(unexpected,actual); + + } + + @Test + public void crapsRoll_Turn_0_roll__Test() { + //Commented out sum assignment and user input from method to perform test + int sum = 0; + + String expected = "You rolled a " + sum + "\n"; + String actual = testGame.crapsRoll(); + Assert.assertEquals(expected, actual); + + } + + @Test + public void evaluateRoll() { + String expected = "Your Target Score is " + 0 + "\n"; + String actual = testGame.evaluateRoll(); + Assert.assertEquals(expected, actual); + + } + + +} \ No newline at end of file From 5b083c422f213916aecd9660b67c1d5567f5f364 Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Fri, 8 Nov 2019 09:05:27 -0500 Subject: [PATCH 160/169] fri 9am --- src/main/java/io/zipcoder/casino/DiceGames/Craps.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java index 6a5ce33cd..f988fc099 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java @@ -42,7 +42,7 @@ public void startGame() { turn = 0; continuePlay = true; - console.println(checkForChips()); + if (crapsPlayer.getBalance() < 10) { return; } promptUserForWagerAmount(); createDice(); From dc23ede115e048894c014b735fa4934bb93e07ef Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Fri, 8 Nov 2019 09:14:55 -0500 Subject: [PATCH 161/169] repaired craps --- src/main/java/io/zipcoder/casino/DiceGames/Craps.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java index f988fc099..c2f9be24f 100644 --- a/src/main/java/io/zipcoder/casino/DiceGames/Craps.java +++ b/src/main/java/io/zipcoder/casino/DiceGames/Craps.java @@ -42,7 +42,7 @@ public void startGame() { turn = 0; continuePlay = true; - + console.println(checkForChips()); if (crapsPlayer.getBalance() < 10) { return; } promptUserForWagerAmount(); createDice(); @@ -68,12 +68,12 @@ public String checkForChips(){ public String crapsRoll() { - //console.getStringInput("Press enter to roll."); + console.getStringInput("Press enter to roll."); for (Dice s : this.crapsDice) { s.rollDice(); } - //sum = crapsDice[0].getValue() + crapsDice[1].getValue(); + sum = crapsDice[0].getValue() + crapsDice[1].getValue(); - String roll = "You rolled a " + sum + "\n"; + String roll = "You rolled a " + sum; String target =" | Target Roll: " + targetScore; return (turn == 0) ? roll : roll + target; From e338f26ec026b45f75c92011b8afd38c344ba46e Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Fri, 8 Nov 2019 09:17:52 -0500 Subject: [PATCH 162/169] fixed tests --- .../io/zipcoder/casino/CardGames/GoFishTest.java | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java b/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java index c184eedbe..72702b642 100644 --- a/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java +++ b/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java @@ -11,14 +11,6 @@ public class GoFishTest { private static final Logger LOGGER = Logger.getLogger(GoFishTest.class.getName()); - @Test - public void game() { - - GoFish newgame = new GoFish(new Player("John", "007")); - - newgame.startGame(); - - } @Test public void haveCard() { @@ -70,7 +62,7 @@ public void goFishForCard() { boolean result = false; Player testPlayer = new Player("V","G"); GoFish testGame = new GoFish(testPlayer); - + testGame.initializeGame(); Card firstCard = new Card(Suit.CLUBS,Rank.KING); Card testCard; ArrayList giveHand = new ArrayList<>(); @@ -119,7 +111,7 @@ public void checkIfWinner() { public void getCompCard() { Player testPlayer = new Player("V","B"); GoFish testGame = new GoFish(testPlayer); - + testGame.initializeGame(); Rank testCard = testGame.getCompCard(); LOGGER.info("Card drawn: " + testCard.toString()); } From 054918531036322f4192f7301f9c83b3994957ad Mon Sep 17 00:00:00 2001 From: Maira Botelho Date: Fri, 8 Nov 2019 09:26:15 -0500 Subject: [PATCH 163/169] CardHand test fixed --- .../io/zipcoder/casino/CardGames/CardHandTest.java | 2 +- .../java/io/zipcoder/casino/CardGames/GoFishTest.java | 10 ++-------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/src/test/java/io/zipcoder/casino/CardGames/CardHandTest.java b/src/test/java/io/zipcoder/casino/CardGames/CardHandTest.java index 6b756c476..26aa43082 100644 --- a/src/test/java/io/zipcoder/casino/CardGames/CardHandTest.java +++ b/src/test/java/io/zipcoder/casino/CardGames/CardHandTest.java @@ -34,7 +34,7 @@ public void testDisplayHand() { CardHand testCardHand = new CardHand(dealtCards); String actual = testCardHand.displayHand(); - String expected = "[KING of DIAMONDS \n, QUEEN of DIAMONDS \n]"; + String expected = " QUEEN ♢ \n KING ♢ \n"; Assert.assertEquals(expected,actual); } diff --git a/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java b/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java index c184eedbe..62e068981 100644 --- a/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java +++ b/src/test/java/io/zipcoder/casino/CardGames/GoFishTest.java @@ -11,14 +11,6 @@ public class GoFishTest { private static final Logger LOGGER = Logger.getLogger(GoFishTest.class.getName()); - @Test - public void game() { - - GoFish newgame = new GoFish(new Player("John", "007")); - - newgame.startGame(); - - } @Test public void haveCard() { @@ -70,6 +62,7 @@ public void goFishForCard() { boolean result = false; Player testPlayer = new Player("V","G"); GoFish testGame = new GoFish(testPlayer); + testGame.initializeGame(); Card firstCard = new Card(Suit.CLUBS,Rank.KING); Card testCard; @@ -119,6 +112,7 @@ public void checkIfWinner() { public void getCompCard() { Player testPlayer = new Player("V","B"); GoFish testGame = new GoFish(testPlayer); + testGame.initializeGame(); Rank testCard = testGame.getCompCard(); LOGGER.info("Card drawn: " + testCard.toString()); From ad1fe61f5ec0fe8a9dfe8e748aedb2c0d3f0f033 Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Fri, 8 Nov 2019 09:35:54 -0500 Subject: [PATCH 164/169] beautify --- src/main/java/io/zipcoder/casino/App.java | 2 +- .../io/zipcoder/casino/utilities/Console.java | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/zipcoder/casino/App.java b/src/main/java/io/zipcoder/casino/App.java index 752d89700..8944053ad 100644 --- a/src/main/java/io/zipcoder/casino/App.java +++ b/src/main/java/io/zipcoder/casino/App.java @@ -22,7 +22,7 @@ public class App { public void App (){ this.menu = new Console(System.in,System.out); - this.menu.print("Welcome to Casino 5! \n\n"); + this.menu.printWelcome(); consolePrintDelay(1000); mainMenu(); // log in ... diff --git a/src/main/java/io/zipcoder/casino/utilities/Console.java b/src/main/java/io/zipcoder/casino/utilities/Console.java index aaaa297db..ec1e72cff 100644 --- a/src/main/java/io/zipcoder/casino/utilities/Console.java +++ b/src/main/java/io/zipcoder/casino/utilities/Console.java @@ -74,6 +74,22 @@ public Integer printSelectGame() { "5.) Go to Main Menu"); } + public void printWelcome(){ + String temp = " \n" + + " ,ad8888ba, 88 8888888888 88 \n" + + " d8\"' `\"8b \"\" 88 88 \n" + + "d8' 88 ____ 88 \n" + + "88 ,adPPYYba, ,adPPYba, 88 8b,dPPYba, ,adPPYba, 88a8PPPP8b, 88 \n" + + "88 \"\" `Y8 I8[ \"\" 88 88P' `\"8a a8\" \"8a PP\" `8b 88 \n" + + "Y8, ,adPPPPP88 `\"Y8ba, 88 88 88 8b d8 d8 \"\" \n" + + " Y8a. .a8P 88, ,88 aa ]8I 88 88 88 \"8a, ,a8\" Y8a a8P aa \n" + + " `\"Y8888Y\"' `\"8bbdP\"Y8 `\"YbbdP\"' 88 88 88 `\"YbbdP\"' \"Y88888P\" 88 \n" + + " \n" + + " "; + + println(temp); + } + public void printGameName(Integer game) { String gameName = ""; From a56081c61fc8da638229d349dbf8b20b25adaa5e Mon Sep 17 00:00:00 2001 From: MannyMonocle Date: Fri, 8 Nov 2019 09:53:49 -0500 Subject: [PATCH 165/169] final merge --- src/test/java/io/zipcoder/casino/DiceGames/CrapsTest.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/test/java/io/zipcoder/casino/DiceGames/CrapsTest.java b/src/test/java/io/zipcoder/casino/DiceGames/CrapsTest.java index 73c8e7e4a..d21716754 100644 --- a/src/test/java/io/zipcoder/casino/DiceGames/CrapsTest.java +++ b/src/test/java/io/zipcoder/casino/DiceGames/CrapsTest.java @@ -44,7 +44,7 @@ public void crapsRoll_Turn_0_roll__Test() { } @Test - public void evaluateRoll() { + public void evaluateRollTest() { String expected = "Your Target Score is " + 0 + "\n"; String actual = testGame.evaluateRoll(); Assert.assertEquals(expected, actual); @@ -52,4 +52,10 @@ public void evaluateRoll() { } + @Test + public void promptLeaveGameTest() { + //Tester must enter 2 + testGame.promptLeaveGame(); + + } } \ No newline at end of file From c4efbbb88da2e77f9cb0d71f9abe30e960529438 Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Fri, 8 Nov 2019 09:53:55 -0500 Subject: [PATCH 166/169] Working on Blackjack --- .../zipcoder/casino/CardGames/BlackJack.java | 58 ++++++++++--------- 1 file changed, 31 insertions(+), 27 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index 7d6e6cfd6..88564383d 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -58,16 +58,17 @@ public void playBlackJack() { while (continuePlay) { promptUserForWagerAmount(); initializeBlackJackHands(); + checkInitialHandValue(gamblingPlayerHand); checkHandForAces(gamblingPlayerHand); - playerRefactoredHandValue = refactorAndCalculateHandValue(checkInitialHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)); + checkInitialHandValue(computerHand); checkHandForAces(computerHand); dealerRefactoredHandValue = refactorAndCalculateHandValue(checkInitialHandValue(computerHand), checkHandForAces(computerHand)); input.println(gamblingPlayerHand.displayHand()); - hitOrStayAction(gamblingPlayerHand, promptHitOrStay()); + promptHitOrStay(); evaluateHands(); } } @@ -139,31 +140,33 @@ public Integer refactorAndCalculateHandValue(Integer handValueForDefaultAce11, I public Integer promptHitOrStay() { Integer hitOrStayUserInput = input.getIntegerInput("Press 1 to hit or 2 to stay."); - switch (hitOrStayUserInput) { - case 1: - hitOrStayAction(gamblingPlayerHand,hitOrStayUserInput); - break; - case 2: - stay(); - break; - - default: - hitOrStayUserInput = input.getIntegerInput("Invalid key, press 1 to hit or 2 to stay."); - break; + while(hitOrStayUserInput != 1 || hitOrStayUserInput != 2) { + switch (hitOrStayUserInput) { + case 1: + hit(); + hitOrStayUserInput = 1; + break; + case 2: + stay(); + hitOrStayUserInput = 2; + break; + default: + hitOrStayUserInput = input.getIntegerInput("Invalid key, press 1 to hit or 2 to stay."); + break; + } } - return hitOrStayUserInput; } - public void hitOrStayAction(CardHand hand, Integer hitOrStayUserInput) { - if (hitOrStayUserInput == 1) { - hand.userHand.add(blackJackDeck.drawCard()); - hit(); - } else { - stay(); - } - - } +// public void hitOrStayAction(CardHand hand, Integer hitOrStayUserInput) { +// if (hitOrStayUserInput == 1) { +// hand.userHand.add(blackJackDeck.drawCard()); +// hit(); +// } else { +// stay(); +// } +// +// } public void stay() { evaluateHands(); @@ -173,10 +176,11 @@ public void stay() { } public void hit() { - checkInitialHandValue(gamblingPlayerHand); - checkHandForAces(gamblingPlayerHand); - playerRefactoredHandValue = refactorAndCalculateHandValue(checkInitialHandValue(gamblingPlayerHand), checkHandForAces(gamblingPlayerHand)); - input.println(gamblingPlayerHand.displayHand()); + this.gamblingPlayerHand.userHand.add(blackJackDeck.drawCard()); + checkInitialHandValue(this.gamblingPlayerHand); + checkHandForAces(this.gamblingPlayerHand); + playerRefactoredHandValue = refactorAndCalculateHandValue(checkInitialHandValue(this.gamblingPlayerHand), checkHandForAces(this.gamblingPlayerHand)); + input.println(this.gamblingPlayerHand.displayHand()); evaluateHands(); } From 47fb2fa6abd9d7d12151323de47bd2315f069fe8 Mon Sep 17 00:00:00 2001 From: jeanvalentin51 Date: Fri, 8 Nov 2019 11:31:55 -0500 Subject: [PATCH 167/169] remove test for user input --- .../io/zipcoder/casino/DiceGames/CrapsTest.java | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/src/test/java/io/zipcoder/casino/DiceGames/CrapsTest.java b/src/test/java/io/zipcoder/casino/DiceGames/CrapsTest.java index d21716754..25023f7ba 100644 --- a/src/test/java/io/zipcoder/casino/DiceGames/CrapsTest.java +++ b/src/test/java/io/zipcoder/casino/DiceGames/CrapsTest.java @@ -32,16 +32,7 @@ public void checkForChipsPositiveTest() { } - @Test - public void crapsRoll_Turn_0_roll__Test() { - //Commented out sum assignment and user input from method to perform test - int sum = 0; - - String expected = "You rolled a " + sum + "\n"; - String actual = testGame.crapsRoll(); - Assert.assertEquals(expected, actual); - } @Test public void evaluateRollTest() { @@ -52,10 +43,5 @@ public void evaluateRollTest() { } - @Test - public void promptLeaveGameTest() { - //Tester must enter 2 - testGame.promptLeaveGame(); - } } \ No newline at end of file From 710a89fcf257bffc4a24ef63ea4557fd99e29f5d Mon Sep 17 00:00:00 2001 From: Maira Botelho Date: Fri, 8 Nov 2019 12:00:56 -0500 Subject: [PATCH 168/169] s --- .../io/zipcoder/casino/CardGames/GoFish.java | 115 +++++++++--------- 1 file changed, 59 insertions(+), 56 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java index 6451a19b9..1ae11e428 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/GoFish.java +++ b/src/main/java/io/zipcoder/casino/CardGames/GoFish.java @@ -19,7 +19,6 @@ public class GoFish implements Game { private CardHand playerHand; private CardHand computerHand; private ArrayList winnings; - boolean winGame = false; //------------------------------------------------------------------------------------------------------------------ @@ -49,26 +48,25 @@ public void startGame() { initializeGame(); - newConsole.getStringInput("\n\n\n\n\nPress Enter to start the game\n\n\n\n\n\n" ); + newConsole.getStringInput("\n\n\n\n\n Press Enter to start the game! \n\n\n\n\n\n" ); do { - newConsole.println("\n>>>>>> %s's turn <<<<<<\n\n", this.player.getID()); + newConsole.println("\n >>>>>> %s's turn <<<<<< \n\n", this.player.getID()); playerTurn(); - winGame = checkIfWinner(playerHand); - - if (winGame){ + //Check if player has 4 of a kind + if (checkIfWinner(playerHand)){ newConsole.println("\n" + player.getID() + " is the winner with : \n"); displayResults(); break; } - newConsole.println("\n>>>>>> Computer's Turn <<<<<<\n"); + newConsole.println("\n >>>>>> Computer's Turn <<<<<< \n"); computerTurn(); - winGame = checkIfWinner(computerHand); - if (winGame){ + //Check if computer has 4 of a kind + if (checkIfWinner(computerHand)){ newConsole.println("\n Computer is the winner with : \n"); displayResults(); break; @@ -81,59 +79,56 @@ public void startGame() { //------------------------------------------------------------------------------------------------------------------ - // Player's and Computers turn ------------------------------------------------------------------------------------- + // Player's and Computer's turn ------------------------------------------------------------------------------------- public void playerTurn() { - newConsole.println("--- Your Cards ---\n\n"); - newConsole.println(playerHand.displayHand()); - newConsole.println("------------------"); + displayPlayerHand(); - String cardWanted = newConsole.getStringInput("\nWhich value would you like to ask for? \n ").toUpperCase(); + String cardWanted = newConsole.getStringInput("\n Which value would you like to ask for? \n ").toUpperCase(); - //If Player asked for a card that is in hand + //If Player has the card asked in their hand if (haveCard(playerHand, cardWanted)) { if (haveCard(computerHand, cardWanted)) { - newConsole.println("\nThe computer has this card\n"); - newConsole.println("\nNEW CARD(S) ADDED >>> " + tradeCards(computerHand, cardWanted, playerHand).toString() - .replace("[", "").replace("]", "").replace(", ", "")); + newConsole.println("\n The computer has this card, you can take it! \n"); + newConsole.println("\n NEW CARD(S) ADDED >>> \n"); + + printCards(tradeCards(computerHand, cardWanted, playerHand).toString()); } else { - newConsole.println("\nGo Fish!!!\n"); - newConsole.println("\nNEW CARD ADDED >>> " + goFishForCard(playerHand).toString().replace("[", "") - .replace("]", "")); + newConsole.println("\n GO FISH!!! \n"); + newConsole.println("\n NEW CARD ADDED >>> \n" ); + printCards(goFishForCard(playerHand).toString()); } - newConsole.println("--- Your Cards ---\n\n"); - newConsole.println(playerHand.displayHand()); - newConsole.println("------------------\n"); + displayPlayerHand(); }else{ - newConsole.println("\n\nYou don't have this card. Try a different card.\n\n"); + newConsole.println("\n\n You don't have this card. Try a different card. \n\n"); playerTurn(); } - newConsole.getStringInput("\nPress Enter to continue\n"); + newConsole.getStringInput("\n Press Enter to continue... \n"); } public void computerTurn() { String newCard = getCompCard().toString(); - newConsole.println("\nComputer asked for " + newCard); + newConsole.println("\n Computer is asking for " + newCard); - newConsole.getStringInput("\nPress Enter to continue\n" ); + newConsole.getStringInput("\n Press Enter to continue... \n" ); if (haveCard(playerHand, newCard)) { tradeCards(playerHand, newCard, computerHand); - newConsole.println("\nYou have this card, the computer will take it"); + newConsole.println("\n You have this card, the computer will take it! "); } else { - newConsole.println("\nGo Fish!!!!"); + newConsole.println("\n GO FISH!!!!"); goFishForCard(computerHand); } - newConsole.getStringInput("\nPress Enter to continue\n" ); + newConsole.getStringInput("\n Press Enter to continue... \n" ); } @@ -180,7 +175,7 @@ public Card goFishForCard(CardHand hand) { //------------------------------------------------------------------------------------------------------------------ - // Check if player's hand is winner -------------------------------------------------------------------------------- + // Check if a hand has 4 of a kind -------------------------------------------------------------------------------- public boolean checkIfWinner(CardHand hand) { int counter; @@ -218,41 +213,49 @@ public Rank getCompCard() { //------------------------------------------------------------------------------------------------------------------ - // + //Printing Tools --------------------------------------------------------------------------------------------------- - public void promptLeaveGame() { - String exitOrNo; - boolean c = false; - while (!c) { + @Override + public void displayResults() { - exitOrNo = newConsole.getStringInput("Would you like to play again?\n1. Play again\n2. Exit"); + printCards(winnings.toString()); + } - if(exitOrNo.equals("")){ - exitOrNo = " "; - } + public void printCards(String printString) { - switch (exitOrNo.charAt(0)) { - case '1': - startGame(); - c = true; - break; - case '2': - break; - default: - newConsole.println("Please choose one of the options."); - break; - } - } + newConsole.println(printString.replace("[", "").replace("]", "") + .replace(", ", "")); } - public void displayResults() { + public void displayPlayerHand(){ - newConsole.println(winnings.toString().replace("[", "").replace("]", "") - .replace(", ", "")); + newConsole.println("--- Your Cards ---\n\n"); + newConsole.println(playerHand.displayHand()); + newConsole.println("------------------"); + } + + + + public void promptLeaveGame() { + String exitOrNo; + exitOrNo = newConsole.getStringInput("Would you like to play again?\n" + + "1. Play again\n" + + "2. Exit"); + + switch (exitOrNo.charAt(0)) { + case '1': + startGame(); + break; + case '2': + break; + default: + newConsole.println("Please choose one of the options."); + break; + } } } From 828528a44c76fa4ccd6c88d0e2c98618e786cd39 Mon Sep 17 00:00:00 2001 From: MikeGray31 Date: Fri, 8 Nov 2019 12:54:53 -0500 Subject: [PATCH 169/169] Updated Blackjack --- .../zipcoder/casino/CardGames/BlackJack.java | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java index 88564383d..1c24602de 100644 --- a/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java +++ b/src/main/java/io/zipcoder/casino/CardGames/BlackJack.java @@ -43,7 +43,10 @@ public BlackJack(Player user) { public void startGame() { input.println(checkForChips()); - playBlackJack(); + while (continuePlay) { + playBlackJack(); + if(!continuePlay){return;} + } } public String checkForChips() { @@ -55,7 +58,7 @@ public String checkForChips() { } public void playBlackJack() { - while (continuePlay) { + promptUserForWagerAmount(); initializeBlackJackHands(); @@ -70,7 +73,8 @@ public void playBlackJack() { input.println(gamblingPlayerHand.displayHand()); promptHitOrStay(); evaluateHands(); - } + if(!continuePlay){return;} + } @@ -140,7 +144,7 @@ public Integer refactorAndCalculateHandValue(Integer handValueForDefaultAce11, I public Integer promptHitOrStay() { Integer hitOrStayUserInput = input.getIntegerInput("Press 1 to hit or 2 to stay."); - while(hitOrStayUserInput != 1 || hitOrStayUserInput != 2) { + while(hitOrStayUserInput != 2 && hitOrStayUserInput != 1) { switch (hitOrStayUserInput) { case 1: hit(); @@ -171,7 +175,6 @@ public Integer promptHitOrStay() { public void stay() { evaluateHands(); input.println(String.valueOf(playerRefactoredHandValue)); - if (displayScore() == 1) startGame(); // check against the dealer } @@ -191,12 +194,13 @@ public void evaluateHands() { playerAndDealerHaveBlackJack = (playerHasBlackJack && dealerHasBlackJack); if (playerRefactoredHandValue > 21 || dealerRefactoredHandValue > 21) { - if (displayScore() == 2) promptLeaveGame(); - } + } if (dealerRefactoredHandValue > playerRefactoredHandValue){ } + if (displayScore() == 2) promptLeaveGame(); + } @@ -204,7 +208,7 @@ public void getWinner(CardHand dealer, CardHand player) { } public void promptLeaveGame() { - continuePlay = false; + this.continuePlay = false; } public Integer displayScore() {