diff --git a/Casino Project b/Casino Project
new file mode 100644
index 00000000..51537e36
--- /dev/null
+++ b/Casino Project
@@ -0,0 +1 @@
+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
\ No newline at end of file
diff --git a/Casino Project Leon Review UML.xml b/Casino Project Leon Review UML.xml
new file mode 100644
index 00000000..7d7d09b9
--- /dev/null
+++ b/Casino Project Leon Review UML.xml
@@ -0,0 +1 @@
+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
\ No newline at end of file
diff --git a/User Stories b/User Stories
new file mode 100644
index 00000000..440e7345
--- /dev/null
+++ b/User Stories
@@ -0,0 +1,62 @@
+Casino User Stories
+
+
+As a player…
+
+Go Fish
+
+I want to receive 5 cards so I can play a hand.
+I want to recognize matches so that I can put down my pairs
+I want to ask other players for cards so I can match with my cards to make pairs
+I want to check my hand for cards that others ask for to give them the matching requested card
+I want to give matching cards to the player that requested the card
+I want to pull a card from the deck to replenish my hand when I failed in my request
+I want to pair and discard all my matches to win the game
+
+Black Jack
+
+I want to place a bet to mark myself as a player
+I want to receive 2 cards in order to play the game
+I want to add the numeric values of my cards to determine my points
+I want to take a hit to get my value closer to 21 without going over
+I want to stay if my cards are close to 21 so that I don’t go over
+I want to immediately show my hand if I have an Ace and a 10,Q,J or K
+
+
+Craps
+I want to place a bet
+I want to roll a “Snake Eyes”, 7 or 11 to win outright
+I want to roll the dice to set my point
+I want to roll the dice try to match the set point
+I don’t want to roll a “Snake Eyes”, 7 or 11 after the point is set
+
+
+As the computer... I want to
+
+Ask the user if they want to play a game
+Ask the user what type of game they want to play (card, dice)
+Ask the user what type of card game they want to play (black jack, go fish)
+Get the number of players playing.
+Get the player names.
+
+Go fish
+Deal five cards to each player
+
+Black jack
+Ask players to place bets
+Deal to cards to each player.
+Ask first player if they want to hit or stay.
+Give card to player that wants to hit.
+Move to next player if previous player wants to stay.
+Count each player total.
+Pay users that beat dealer hand but are under 21.
+Collect bets from players that go over 21.
+Collect bets from players that lose to the dealer.
+
+
+
+
+
+
+
+
diff --git a/pom.xml b/pom.xml
index c6ec0cc8..39b8f5c2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -16,4 +16,17 @@
test
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 1.8
+ 1.8
+
+
+
+
diff --git a/src/.DS_Store b/src/.DS_Store
new file mode 100644
index 00000000..254fc3aa
Binary files /dev/null and b/src/.DS_Store differ
diff --git a/src/main/.DS_Store b/src/main/.DS_Store
new file mode 100644
index 00000000..db523072
Binary files /dev/null and b/src/main/.DS_Store differ
diff --git a/src/main/java/.DS_Store b/src/main/java/.DS_Store
new file mode 100644
index 00000000..dffb47f0
Binary files /dev/null and b/src/main/java/.DS_Store differ
diff --git a/src/main/java/io/.DS_Store b/src/main/java/io/.DS_Store
new file mode 100644
index 00000000..91a4b95a
Binary files /dev/null and b/src/main/java/io/.DS_Store differ
diff --git a/src/main/java/io/zipcoder/.DS_Store b/src/main/java/io/zipcoder/.DS_Store
new file mode 100644
index 00000000..a0bdc27c
Binary files /dev/null and b/src/main/java/io/zipcoder/.DS_Store differ
diff --git a/src/main/java/io/zipcoder/casino/Bank.java b/src/main/java/io/zipcoder/casino/Bank.java
new file mode 100644
index 00000000..3ba17673
--- /dev/null
+++ b/src/main/java/io/zipcoder/casino/Bank.java
@@ -0,0 +1,4 @@
+package io.zipcoder.casino;
+
+public class Bank {
+}
diff --git a/src/main/java/io/zipcoder/casino/BlackJack.java b/src/main/java/io/zipcoder/casino/BlackJack.java
new file mode 100644
index 00000000..03a5c9b2
--- /dev/null
+++ b/src/main/java/io/zipcoder/casino/BlackJack.java
@@ -0,0 +1,63 @@
+package io.zipcoder.casino;
+
+import java.util.ArrayList;
+
+public class BlackJack extends CardGames {
+
+ static ArrayList blackjackPlayers = new ArrayList<>();
+ private static Player activePlayer;
+ //This constant can be used in console/actual game-play if a player/dealer gets blackjack
+ private static final int BLACKJACK = 21;
+ private static Deck deck;
+
+ public BlackJack() {
+ start();
+ }
+
+ public static void createOnePlayer(String name, Double money) {
+ BlackjackPlayer blackjackPlayer = new BlackjackPlayer(name, money);
+ blackjackPlayers.add(blackjackPlayer);
+ }
+
+ static void start() {
+
+ BlackjackPlayer dealer = new BlackjackPlayer("dealer", 500.0);
+ blackjackPlayers.add(dealer);
+ activePlayer = dealer;
+ deck = new Deck();
+ deck.populate();
+ deck.shuffle();
+ giveCardToPlayer();
+ }
+
+ static void giveCardToPlayer() {
+ Card card = deck.dealOneRandomCard();
+ activePlayer.addCardToHand(card);
+ }
+
+ static void endTurn() {
+ for (BlackjackPlayer blackjackPlayer : blackjackPlayers) {
+ if (!activePlayer.equals(blackjackPlayer))
+ activePlayer = blackjackPlayer;
+ }
+ }
+
+ //Below methods used primarily in testing and will be useful in implementation of actual game-play via console
+
+ static ArrayList getPlayers() {
+ return blackjackPlayers;
+ }
+
+ BlackjackPlayer getPlayerAtIndex(int index) {
+ return blackjackPlayers.get(index);
+ }
+
+ void setActivePlayer(BlackjackPlayer blackjackPlayer) {
+ activePlayer = blackjackPlayer;
+ }
+
+ Player getActivePlayer() {
+ return activePlayer;
+ }
+
+}
diff --git a/src/main/java/io/zipcoder/casino/BlackjackPlayer.java b/src/main/java/io/zipcoder/casino/BlackjackPlayer.java
new file mode 100644
index 00000000..4c63b805
--- /dev/null
+++ b/src/main/java/io/zipcoder/casino/BlackjackPlayer.java
@@ -0,0 +1,87 @@
+package io.zipcoder.casino;
+
+import java.util.ArrayList;
+
+public class BlackjackPlayer extends Player implements Comparable, Gamble {
+
+ private String name;
+ private Double money;
+ private static ArrayList cardsInHand;
+
+ BlackjackPlayer(String name, Double money) {
+ this.name = name;
+ this.money = money;
+ cardsInHand = new ArrayList<>();
+
+ }
+
+ static void hitStay(String userAnswer) {
+ if (userAnswer.equalsIgnoreCase("yes")) {
+ BlackJack.endTurn();
+ } else if (userAnswer.equalsIgnoreCase("no")) {
+ BlackJack.giveCardToPlayer();
+ } else {
+ System.out.println("This table is for serious players only, take your money and get out of here!");
+ }
+ }
+
+ //Stubbed this method out b/c may be needed in console/actual game-play integration... delete it if not...
+ public int compareTo(BlackjackPlayer p) {
+
+ return 0;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ Double checkBalance() {
+ return money;
+ }
+
+ public Double bet(Double bet) {
+ money -= bet;
+ return bet;
+ }
+
+ public void addCardToHand(Card newCard) {
+ cardsInHand.add(newCard);
+ }
+
+
+ static int viewHand(BlackjackPlayer blackjackPlayer) {
+ Integer handString = null;
+ for (Card card : cardsInHand) {
+ handString = card.getCardsValue();
+ }
+ return handString;
+ }
+
+ int getHandValue() {
+ int total = 0;
+ int acesCount = 0;
+
+ for (Card card : cardsInHand) {
+ if (card.getCardsValue() == 11)
+ acesCount++;
+ total += card.getCardsValue();
+ }
+
+ if (total > 21) {
+ while (acesCount > 0) {
+ total -= 10;
+ acesCount--;
+ }
+ }
+ return total;
+ }
+
+ ArrayList getHandList() {
+ return cardsInHand;
+ }
+
+ void addWinnings(Double winnings) {
+ money += winnings;
+ }
+
+}
diff --git a/src/main/java/io/zipcoder/casino/Card.java b/src/main/java/io/zipcoder/casino/Card.java
new file mode 100644
index 00000000..2348f94b
--- /dev/null
+++ b/src/main/java/io/zipcoder/casino/Card.java
@@ -0,0 +1,27 @@
+package io.zipcoder.casino;
+
+public class Card {
+
+ private CardValue value;
+ private Suit suit;
+
+ public Card(Suit suit, CardValue value) {
+ this.suit = suit;
+ this.value = value;
+ }
+
+ public String getSuitSymbols() {
+
+ return suit.getSuit();
+ }
+
+ public int getCardsValue() {
+ return value.getValue();
+ }
+
+ //while this method was not originally supposed to be required in this class it is because of the contracts
+ //we have entered due to our arrangement of abstract and interfaces... had to make this empty method to use my
+ //addCardsToHand and cardsInHand for Blackjack
+ public void add(Card newCard) {
+ }
+}
diff --git a/src/main/java/io/zipcoder/casino/CardGames.java b/src/main/java/io/zipcoder/casino/CardGames.java
new file mode 100644
index 00000000..7fdd6d7d
--- /dev/null
+++ b/src/main/java/io/zipcoder/casino/CardGames.java
@@ -0,0 +1,55 @@
+package io.zipcoder.casino;
+
+public class CardGames extends Game {
+
+ private int userInputInt;
+ private String userInputString;
+
+ public void chooseGameType() {
+ do {
+
+ System.out.println(" \n" +
+ " ,--. ,------. ,--. ,--. ,-----. ,--. ,----. ,---. \n" +
+ " / \\ | .---',--. ,--.`--',-' '-. ' .--./ ,--,--.,--.--. ,-| | ' .-./ ,--,--.,--,--,--. ,---. / O \\ ,--.--. ,---. ,--,--. \n" +
+ "| () | | `--, \\ `' / ,--.'-. .-' | | ' ,-. || .--'' .-. | | | .---.' ,-. || || .-. : | .-. || .--'| .-. :' ,-. | \n" +
+ " \\ /.--. | `---. / /. \\ | | | | ' '--'\\\\ '-' || | \\ `-' | ' '--' |\\ '-' || | | |\\ --. | | | || | \\ --.\\ '-' | \n" +
+ " `--' '--' `------''--' '--'`--' `--' `-----' `--`--'`--' `---' `------' `--`--'`--`--`--' `----' `--' `--'`--' `----' `--`--' \n" +
+ " ,--. ,----. ,------.,--. ,--. \n" +
+ "/ | ' .-./ ,---. | .---'`--' ,---. | ,---. \n" +
+ "`| | | | .---.| .-. | | `--, ,--.( .-' | .-. | \n" +
+ " | |.--. ' '--' |' '-' ' | |` | |.-' `)| | | | \n" +
+ " `--''--' `------' `---' `--' `--'`----' `--' `--' \n" +
+ " ,---. ,-----. ,--. ,--. ,--. ,--. \n" +
+ "'.-. \\ | |) /_ | | ,--,--. ,---.| |,-. | | ,--,--. ,---.| |,-. \n" +
+ " .-' .' | .-. \\| |' ,-. || .--'| /,--. | |' ,-. || .--'| / \n" +
+ "/ '-..--. | '--' /| |\\ '-' |\\ `--.| \\ \\| '-' /\\ '-' |\\ `--.| \\ \\ \n" +
+ "'-----''--' `------' `--' `--`--' `---'`--'`--'`-----' `--`--' `---'`--'`--' \n" +
+ " ");
+
+ System.out.println("Thank you for choosing to play a card game.");
+ userInputInt = Console.getUserInputInteger("What type of card game would you like to play?" +
+ "\nPlease enter 1 for go fish and 2 for black jack.");
+
+ switch (userInputInt) {
+ case 0:
+ break;
+ case 1:
+ GameInterface.playGoFish();
+ break;
+ case 2:
+ GameInterface.playBlackjack();
+ break;
+ default:
+ System.out.println("You entered an invalid response :-(\n");
+ }
+
+ userInputString = Console.getUserInputString("Would you like to leave the the card game area?" +
+ "\nPlease enter yes or no.");
+ } while (userInputString.equalsIgnoreCase("no"));
+
+ Game game = new Game();
+ game.chooseGameType();
+ }
+
+}
+
diff --git a/src/main/java/io/zipcoder/casino/CardValue.java b/src/main/java/io/zipcoder/casino/CardValue.java
new file mode 100644
index 00000000..ea6c6918
--- /dev/null
+++ b/src/main/java/io/zipcoder/casino/CardValue.java
@@ -0,0 +1,21 @@
+package io.zipcoder.casino;
+
+enum CardValue {
+
+ Ace(11), Two(2), Three(3), Four(4), Five(4), Six(6), Seven(7), Eight(8), Nine(9), Ten(10), Jack(10), Queen(10), King(10);
+
+ private int CardsValue;
+
+ CardValue(int cardNumber) {
+ this.CardsValue = cardNumber;
+ }
+
+
+ int getValue() {
+ return CardsValue;
+ }
+}
+
+ //I had to remove some stuff from this class and put it elsewhere for proper implementation and proper Blackjack
+ //behavior
+
diff --git a/src/main/java/io/zipcoder/casino/Casino.java b/src/main/java/io/zipcoder/casino/Casino.java
index 74dfdd8c..12cc637b 100644
--- a/src/main/java/io/zipcoder/casino/Casino.java
+++ b/src/main/java/io/zipcoder/casino/Casino.java
@@ -2,4 +2,47 @@
public class Casino {
+
+ public static void main(String[] args) {
+ System.out.println(" \n" +
+ ",-------.,--. ,-----. ,--. ,-----. ,--. \n" +
+ "`--. / `--' ,---. ' .--./ ,---. ,-| | ,---. ' .--./ ,--,--. ,---. `--',--,--, ,---. \n" +
+ " / / ,--.| .-. | | | | .-. |' .-. || .-. : | | ' ,-. |( .-' ,--.| \\| .-. | \n" +
+ " / `--.| || '-' ' ' '--'\\' '-' '\\ `-' |\\ --. ' '--'\\\\ '-' |.-' `)| || || |' '-' ' \n" +
+ "`-------'`--'| |-' `-----' `---' `---' `----' `-----' `--`--'`----' `--'`--''--' `---' \n" +
+ " `--' ");
+
+ String userYesOrNo;
+
+ do {
+ System.out.println("Welcome to Zip Code Casino." +
+ "\nYou are going to have lots of fun while you are here.");
+ userYesOrNo = Console.getUserInputString("Would you like to play a casino game?" +
+ "\nPlease enter yes or no");
+
+ if (userYesOrNo.equalsIgnoreCase("yes")) {
+ Game game = new Game();
+ game.chooseGameType();
+ } else if (userYesOrNo.equalsIgnoreCase("no")) {
+ System.out.println("We currently only have games inside Zip Code Casino." +
+ "\nI'm sorry if there is nothing else to do.");
+ }
+
+ userYesOrNo = Console.getUserInputString("Would you like to leave Zip Code Casino?");
+ } while (!(userYesOrNo.equalsIgnoreCase("yes")));
+
+ System.out.println(" \n" +
+ " ,--------.,--. ,--. ,--. ,--. \n" +
+ " '--. .--'| ,---. ,--,--.,--,--, | |,-. \\ `.' /,---. ,--.,--. \n" +
+ " | | | .-. |' ,-. || \\| / '. /| .-. || || | \n" +
+ " | | | | | |\\ '-' || || || \\ \\ | | ' '-' '' '' ' \n" +
+ " `--' `--' `--' `--`--'`--''--'`--'`--' `--' `---' `----' \n" +
+ ",--. ,--. ,--. ,--.,--. ,------. \n" +
+ "| '--' | ,--,--.,--. ,--.,---. ,--,--. | ,'.| |`--' ,---. ,---. | .-. \\ ,--,--.,--. ,--. \n" +
+ "| .--. |' ,-. | \\ `' /| .-. : ' ,-. | | |' ' |,--.| .--'| .-. : | | \\ :' ,-. | \\ ' / \n" +
+ "| | | |\\ '-' | \\ / \\ --. \\ '-' | | | ` || |\\ `--.\\ --. | '--' /\\ '-' | \\ ' \n" +
+ "`--' `--' `--`--' `--' `----' `--`--' `--' `--'`--' `---' `----' `-------' `--`--'.-' / \n" +
+ " `---' ");
+ }
}
+
diff --git a/src/main/java/io/zipcoder/casino/Console.java b/src/main/java/io/zipcoder/casino/Console.java
new file mode 100644
index 00000000..f613da0a
--- /dev/null
+++ b/src/main/java/io/zipcoder/casino/Console.java
@@ -0,0 +1,58 @@
+package io.zipcoder.casino;
+
+import java.util.InputMismatchException;
+import java.util.Scanner;
+
+public class Console {
+ public static String getUserInputString(String promptUser) {
+ do {
+
+ try {
+ System.out.println(promptUser);
+ String userInput = new Scanner(System.in).nextLine();
+ return userInput;
+ } catch (InputMismatchException ime) {
+ System.out.println("Invalid input, please try again.");
+ continue;
+ }
+ }
+ while (true);
+ }
+
+ public static Double getUserInputDouble(String promptUser) {
+ do {
+ try {
+ return Double.parseDouble(getUserInputString(promptUser));
+ } catch (NumberFormatException nfe) {
+ System.out.println("Invalid response please try again.");
+ continue;
+ }
+ } while (true);
+
+ }
+
+ public static Integer getUserInputInteger(String promptUser) {
+ do {
+ try {
+ return Integer.parseInt(getUserInputString(promptUser));
+ } catch (NumberFormatException nfe) {
+ System.out.println("Invalid response please try again.");
+ continue;
+ }
+ } while (true);
+
+
+ }
+
+// public static double checkForNullPointer(Double toBeChecked){
+// do {
+// try {
+// return toBeChecked;
+// } catch (NullPointerException npe){
+// toBeChecked = CurrencyConverter.getCurrencyRates(getUserInputInteger("Invalid response. Please try again."));
+// continue;
+// }
+// }
+// while (true);
+// }
+}
diff --git a/src/main/java/io/zipcoder/casino/Craps.java b/src/main/java/io/zipcoder/casino/Craps.java
new file mode 100644
index 00000000..c3c4d064
--- /dev/null
+++ b/src/main/java/io/zipcoder/casino/Craps.java
@@ -0,0 +1,125 @@
+package io.zipcoder.casino;
+
+import java.util.ArrayList;
+
+public class Craps extends DiceGames implements Dice {
+
+CrapsPlayer player;
+double pot;
+ ArrayList crapsPlayers = new ArrayList<>();
+
+ public int getDiceRollTotal() {
+ return diceRollTotal;
+ }
+
+ int diceRollTotal;
+
+ public void createOnePlayer(String name) {
+ CrapsPlayer newCrapsPlayer = new CrapsPlayer(name);
+ crapsPlayers.add(newCrapsPlayer);
+ }
+
+// public void createOnePlayer(String name){
+// CrapsPlayer newCrapsPlayer = new CrapsPlayer(name);
+// }
+
+ public void crapPlayerMoney(){
+ //add chips to player player.addChips()
+ CrapsPlayer crapsPlayerBet = new CrapsPlayer() ;
+ }
+
+ public void playersFirstRoll(){
+
+ setDiceRollTotal();
+ player.setPlayerPoint(getDiceRollTotal());
+ }
+
+ //playerBet(Double bet){
+ // pot =return double player.bet(bet)
+ // }
+
+ public Double addWinnings() {
+ Double moMoney = 25.00;
+ for (CrapsPlayer player : createOnePlayer()) {
+ moMoney = player.getCrapPlayerBet() * 2;
+ }
+
+ return moMoney;
+ }
+
+ public void loseBet() {
+ for (CrapsPlayer player : createOnePlayer()) { //for every player in ouyr craps player arraylist... do stuff
+ player.setCrapPlayerBet(0.00);
+ }
+ }
+
+ public void setDiceRollTotal(){
+ diceRollTotal = Dice.rollDice(2);
+ }
+
+
+ public static String gameMessage = " ";
+ public static int gameStatus = 0;
+
+
+
+
+ public String firstRoll(CrapsPlayer player) {
+
+ switch (diceRollTotal) {
+ case 7:
+ case 11:
+ gameMessage = "You rolled a: " + diceRollTotal + "! You win!";
+ gameStatus = 1;
+ addWinnings();
+ break;
+ case 2:
+ case 3:
+ case 12:
+ gameMessage = "You rolled a: " + diceRollTotal + "! You lose!";
+ gameStatus =2;
+
+ loseBet();
+ break;
+ default:
+ player.setPlayerPoint(diceRollTotal);
+ gameMessage = "Your point has be set to: " + diceRollTotal + ". Please roll again.";
+ gameStatus =3;
+ break;
+ }
+ return gameMessage;
+
+ }
+
+ public String nextRoll(CrapsPlayer player) {
+
+ if (diceRollTotal == player.getPlayerPoint()) {
+ gameMessage = "You win!";
+ addWinnings();
+
+ } else {
+ switch (diceRollTotal) {
+ case 7:
+ case 11:
+ gameMessage = "You lose!";
+ loseBet();
+ gameStatus =2;
+ break;
+ case 2:
+ gameMessage = "You win!";
+ addWinnings();
+ gameStatus =1;
+ break;
+ default:
+ gameMessage = "You rolled a: " + diceRollTotal + " you need to roll a " + player.getPlayerPoint() + " Please roll again.";
+ nextRoll(player);
+ gameStatus =3;
+ break;
+ }
+
+
+ }
+ return gameMessage;
+
+
+ }}
\ No newline at end of file
diff --git a/src/main/java/io/zipcoder/casino/CrapsPlayer.java b/src/main/java/io/zipcoder/casino/CrapsPlayer.java
new file mode 100644
index 00000000..9d8fb582
--- /dev/null
+++ b/src/main/java/io/zipcoder/casino/CrapsPlayer.java
@@ -0,0 +1,103 @@
+package io.zipcoder.casino;
+
+public class CrapsPlayer extends Player implements Gamble, Dice {
+
+ private String name;
+ private Double crapPlayerMoney, playerMoney, crapPlayerBet, playerBet;
+
+
+ public CrapsPlayer(String name) {
+ }
+
+ public static void crapPlayerMoney(Double playerMoney){
+
+ }
+
+ public void crapPlayerBet(){
+ System.out.println(Console.getUserInputDouble("How much would you like to bet?"));
+ }
+
+
+
+ public void setCrapPlayerMoney(Double playerMoney){
+ this.crapPlayerMoney = playerMoney;
+ }
+
+ public Double getCrapPlayerMoney(){
+ return playerMoney;
+ }
+
+ public void setCrapPlayerBet(Double playerBet){
+ this.crapPlayerBet = playerBet;
+ }
+
+ public Double getCrapPlayerBet(){
+ return playerBet;
+ }
+
+ public Double crapPlayerMoneyAvailable(){
+ Double moneyAvailable = 0.0;
+ Double getCrapPlayerMoney /*Total money available*/ = getCrapPlayerMoney();
+ Double getCrapPlayerBet = getCrapPlayerBet();
+ moneyAvailable = getCrapPlayerMoney - getCrapPlayerBet;
+ return moneyAvailable;
+ }
+
+ public Double getMoney() {
+ return money;
+ }
+
+ public void setMoney(Double money) {
+ this.money = money;
+ }
+
+ private Double money;
+ private Card cardsInHand;
+ private int playerPoint;
+
+// public Double getPlayerBet() {
+// return playerBet;
+// }
+//
+// public void setPlayerBet(Double playerBet) {
+// this.bet = playerBet;
+// }
+//
+// private Double playerBet;
+
+ CrapsPlayer(String name, Double money) {
+ super(name, money);
+ }
+
+
+ //We won't be using this method of course, since Craps is a dice game, but I HAD to put this Override method here
+ //to fulfill a contract we entered with our arrangement of abstracts and interfaces... it's just one of those
+ //things we didn't anticipate when we were making the UML and now we are stuck with...
+ @Override
+ public void addCardToHand(Card newCard) {
+ cardsInHand.add(newCard);
+ }
+
+ public void getBet(Double bet){
+ this.bet = bet;
+ }
+
+
+ public Double bet(Double money) {
+ money = money - bet;
+ return money;
+ }
+// public Double bet(Double money){
+// playerBet = money;
+// return playerBet;
+// }
+
+ public int getPlayerPoint() {
+ return playerPoint;
+ }
+
+ public void setPlayerPoint(int playerPoint) {
+ this.playerPoint = playerPoint;
+ }
+}
+
diff --git a/src/main/java/io/zipcoder/casino/Deck.java b/src/main/java/io/zipcoder/casino/Deck.java
new file mode 100644
index 00000000..e693ee8d
--- /dev/null
+++ b/src/main/java/io/zipcoder/casino/Deck.java
@@ -0,0 +1,45 @@
+package io.zipcoder.casino;
+
+import java.util.ArrayList;
+import java.util.Collections;
+
+public class Deck {
+
+// ArrayDeque cards = new ArrayDeque<>();
+
+ private ArrayList cards = new ArrayList();
+
+ public void populate() {
+ cards = new ArrayList();
+
+ for (Suit suit : Suit.values()) {
+ for (CardValue cardValue : CardValue.values()) {
+ cards.add(new Card(suit, cardValue));
+ }
+ }
+ }
+
+
+ public Card dealOneRandomCard() {
+ Card topCard = cards.get(0);
+ cards.remove(topCard);
+ return topCard;
+ }
+
+ public void shuffle() {
+ Collections.shuffle(cards);
+ }
+
+ public ArrayList getCards() {
+ return cards;
+ }
+
+ public int getDeckSize() {
+ return cards.size();
+ }
+
+ public Card getCardByIndex(int index) {
+ return cards.get(index);
+ }
+
+}
diff --git a/src/main/java/io/zipcoder/casino/Dice.java b/src/main/java/io/zipcoder/casino/Dice.java
new file mode 100644
index 00000000..50b65f2e
--- /dev/null
+++ b/src/main/java/io/zipcoder/casino/Dice.java
@@ -0,0 +1,24 @@
+package io.zipcoder.casino;
+
+public interface Dice {
+
+ static int rollDice(int diceNeeded){
+ //Dice made to be dynamic to adapt to dice needed per game.
+ int diceTotal =0;
+ int die;
+
+ for (int i = 0; i < diceNeeded; i++) {
+ die= (int)(Math.random()*6) + 1;
+ diceTotal += die;
+
+ }
+
+ return diceTotal;
+ }
+
+// public static void main(String[] args) {
+//
+// System.out.println(Dice.rollDice(2));
+// }
+
+}
diff --git a/src/main/java/io/zipcoder/casino/DiceGames.java b/src/main/java/io/zipcoder/casino/DiceGames.java
new file mode 100644
index 00000000..d87282ff
--- /dev/null
+++ b/src/main/java/io/zipcoder/casino/DiceGames.java
@@ -0,0 +1,11 @@
+package io.zipcoder.casino;
+
+public class DiceGames extends Game {
+ void start() {
+ }
+
+ public void chooseDiceGame() {
+
+ }
+}
+
diff --git a/src/main/java/io/zipcoder/casino/Gamble.java b/src/main/java/io/zipcoder/casino/Gamble.java
new file mode 100644
index 00000000..9fc8d906
--- /dev/null
+++ b/src/main/java/io/zipcoder/casino/Gamble.java
@@ -0,0 +1,8 @@
+package io.zipcoder.casino;
+
+interface Gamble {
+
+ //needed to add parameters to this method since my bet method in Blackjack uses it and needed these parameters
+ Double bet(Double bet);
+
+}
diff --git a/src/main/java/io/zipcoder/casino/Game.java b/src/main/java/io/zipcoder/casino/Game.java
new file mode 100644
index 00000000..34677c6f
--- /dev/null
+++ b/src/main/java/io/zipcoder/casino/Game.java
@@ -0,0 +1,55 @@
+package io.zipcoder.casino;
+
+
+public class Game {
+
+ private int userInputInt;
+ private String userInputString;
+
+ public void chooseGameType() {
+ do {
+
+ System.out.println("\n\nThank you for choosing to play a game here at Zip Code Casino." +
+ "\nWe take pride in knowing that our games are everything that you are looking for.\n\n" +
+ " \n" +
+ " ,--. ,------. ,--. ,--. ,----. ,---. \n" +
+ " / \\ | .---',--. ,--.`--',-' '-. ' .-./ ,--,--.,--,--,--. ,---. / O \\ ,--.--. ,---. ,--,--. \n" +
+ "| () | | `--, \\ `' / ,--.'-. .-' | | .---.' ,-. || || .-. : | .-. || .--'| .-. :' ,-. | \n" +
+ " \\ /.--. | `---. / /. \\ | | | | ' '--' |\\ '-' || | | |\\ --. | | | || | \\ --.\\ '-' | \n" +
+ " `--' '--' `------''--' '--'`--' `--' `------' `--`--'`--`--`--' `----' `--' `--'`--' `----' `--`--' \n" +
+ " ,--. ,-----. ,--. ,----. \n" +
+ "/ | ' .--./ ,--,--.,--.--. ,-| | ' .-./ ,--,--.,--,--,--. ,---. \n" +
+ "`| | | | ' ,-. || .--'' .-. | | | .---.' ,-. || || .-. : \n" +
+ " | |.--. ' '--'\\\\ '-' || | \\ `-' | ' '--' |\\ '-' || | | |\\ --. \n" +
+ " `--''--' `-----' `--`--'`--' `---' `------' `--`--'`--`--`--' `----' \n" +
+ " ,---. ,------. ,--. ,----. \n" +
+ "'.-. \\ | .-. \\ `--' ,---. ,---. ' .-./ ,--,--.,--,--,--. ,---. \n" +
+ " .-' .' | | \\ :,--.| .--'| .-. : | | .---.' ,-. || || .-. : \n" +
+ "/ '-..--. | '--' /| |\\ `--.\\ --. ' '--' |\\ '-' || | | |\\ --. \n" +
+ "'-----''--' `-------' `--' `---' `----' `------' `--`--'`--`--`--' `----' \n" +
+ " ");
+
+ userInputInt = Console.getUserInputInteger("\nWhat type of game would you like to play?" +
+ "\nPlease enter 1 for card game or 2 for dice game");
+
+ switch (userInputInt) {
+ case 0:
+ break;
+ case 1:
+ CardGames cardGames = new CardGames();
+ cardGames.chooseGameType();
+ break;
+ case 2:
+ GameInterface gameInterface = new GameInterface();
+ gameInterface.playCraps();
+ break;
+ default:
+ System.out.println("You entered an invalid choose :-(\n");
+ }
+
+ userInputString = Console.getUserInputString("Would you like to leave the game area?\n" +
+ "Please enter yes or no.");
+
+ } while (userInputString.equalsIgnoreCase("no"));
+ }
+}
diff --git a/src/main/java/io/zipcoder/casino/GameInterface.java b/src/main/java/io/zipcoder/casino/GameInterface.java
new file mode 100644
index 00000000..9b71534c
--- /dev/null
+++ b/src/main/java/io/zipcoder/casino/GameInterface.java
@@ -0,0 +1,200 @@
+package io.zipcoder.casino;
+
+public class GameInterface {
+
+
+ public void playCraps() {
+
+
+ String playAgain;
+
+
+ do {Craps craps = new Craps();
+ // CrapsPlayer player = new CrapsPlayer();
+ System.out.println("Welcome to the craps table.");
+
+
+
+ // int numberOfPlayer = Console.getUserInputInteger("Welcome to the craps table. How many people are playing?");
+ //creates players
+
+ // for(int i = 1; i <= numberOfPlayer; i++){
+ craps.createOnePlayer(Console.getUserInputString("Player name:"));
+ //}
+
+ //get players bets
+// for(int b = 0; b <= numberOfPlayer; b++){
+// System.out.println(craps.crapsPlayers.get(b).getName());
+// Double playerBet = craps.crapsPlayers.get(b).bet(Console.getUserInputDouble(" please place bet"));
+// System.out.println(craps.crapsPlayers.get(b).getName()+" you bet " + playerBet);
+// }
+
+
+ CrapsPlayer.crapPlayerMoney(Console.getUserInputDouble("How many chips would you like to purchase?"));
+
+
+// craps.takePlayerBet(Consol.Input)
+// craps.playersFirstRoll(Console.)
+
+// if()
+//
+//
+// System.out.println(craps.firstRoll(craps.crapsPlayers.get(0)));
+//
+//
+// System.out.println(craps.nextRoll(craps.crapsPlayers.get(0)));
+//
+//
+// do{
+// int firstRol = craps.firstRoll(craps.crapsPlayers.get(0));
+// }while(firstRol != 1 || 2);
+
+
+ playAgain = Console.getUserInputString("Do you want to continue playing?");
+ //first.getName();
+ } while (playAgain.equals("no"));
+
+
+ }
+
+ public static void playBlackjack() {
+
+ String playAgain = "";
+
+ do {
+
+ System.out.println("Welcome to the Blackjack table");
+
+// int numberOfPlayers = Console.getUserInputInteger("How many players are there?");
+// for(int i = 0; i < numberOfPlayers; i++){
+// BlackJack.createOnePlayer(Console.getUserInputString("What is your name?"), Console.getUserInputDouble("How much money do you have?"));
+// }
+
+ BlackjackPlayer blackjackPlayer = new BlackjackPlayer(Console.getUserInputString("What is your name?"),
+ Console.getUserInputDouble("How much money are you bringing to the table?"));
+ BlackJack.blackjackPlayers.add(blackjackPlayer);
+ blackjackPlayer.bet(Console.getUserInputDouble("How much do you want to bet on this game?"));
+ BlackJack.start();
+ System.out.println("The dealer's card was: " + BlackjackPlayer.viewHand(blackjackPlayer));
+ BlackJack.endTurn();
+ String playersTurn = "yes";
+ String dealersTurn = "no";
+
+ while (playersTurn.equals("yes") && dealersTurn.equals("no")) {
+
+ while (playersTurn.equals("yes")) {
+ BlackJack.giveCardToPlayer();
+ BlackJack.giveCardToPlayer();
+ System.out.println("Your hand's total is: " + BlackjackPlayer.viewHand(blackjackPlayer));
+ String hitOrStay = Console.getUserInputString("Do you want to stay? Yes or no...");
+
+ if (hitOrStay.equalsIgnoreCase("yes")) {
+ BlackjackPlayer.hitStay("yes");
+ BlackJack.endTurn();
+ dealersTurn = "yes";
+ playersTurn = "no";
+ break;
+ }
+ while (hitOrStay.equalsIgnoreCase("no")) {
+ BlackjackPlayer.hitStay("no");
+ System.out.println("Your card was: " + BlackjackPlayer.viewHand(blackjackPlayer));
+// if (blackjackPlayer.getHandValue() == 21) {
+// System.out.println("You win!");
+// playAgain = Console.getUserInputString("Do you want to play another game of Blackjack?");
+// }
+// if (blackjackPlayer.getHandValue() > 21) {
+// System.out.println("You busted");
+// playAgain = Console.getUserInputString("Do you want to play another game of Blackjack?");
+// }
+ String hitOrStayAgain = Console.getUserInputString("Do you want to stay? Yes or no...");
+ if (hitOrStayAgain.equalsIgnoreCase("yes")) {
+ BlackJack.endTurn();
+ playersTurn = "no";
+ dealersTurn = "yes";
+ break;
+ }
+ }
+ }
+
+ while (dealersTurn.equals("yes") && playersTurn.equals("no")) {
+
+ while (dealersTurn.equals("yes")) {
+ BlackJack.giveCardToPlayer();
+ System.out.println("The dealer's card was: " + BlackjackPlayer.viewHand(blackjackPlayer));
+ String hitOrStay = Console.getUserInputString("Does the dealer want to stay? Yes or no...");
+// if (blackjackPlayer.getHandValue() == 21) {
+// System.out.println("The dealer won!");
+// playAgain = Console.getUserInputString("Do you want to play another game of Blackjack?");
+// }
+// if (blackjackPlayer.getHandValue() > 21) {
+// System.out.println("The dealer busted");
+//
+ if (hitOrStay.equalsIgnoreCase("yes")) {
+ BlackjackPlayer.hitStay("yes");
+ BlackJack.endTurn();
+ dealersTurn = "no";
+ playersTurn = "yes";
+ break;
+ }
+ while (hitOrStay.equalsIgnoreCase("no")) {
+ BlackjackPlayer.hitStay("no");
+ System.out.println("The dealer's card was: " + BlackjackPlayer.viewHand(blackjackPlayer));
+
+ String hitOrStayAgain = Console.getUserInputString("Does the dealer want to stay? Yes or no...");
+ if (hitOrStayAgain.equalsIgnoreCase("yes")) {
+ BlackJack.endTurn();
+ dealersTurn = "no";
+ playersTurn = "yes";
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ playAgain = Console.getUserInputString("Do you want to play another game of Blackjack?");
+ //the below line to retrieve the same player name from previous game if player wants to continue may fail...
+ //so may need to rewrite, won't know until we test the game-play from console itself
+ blackjackPlayer.getName();
+
+ } while (playAgain.equals("no"));
+ CardGames cardGames = new CardGames();
+ cardGames.chooseGameType();
+
+ }
+
+
+ public static void playGoFish() {
+ GoFish goFish = new GoFish();
+ Deck goFishDeck = new Deck();
+ goFishDeck.populate();
+ goFishDeck.shuffle();
+ String playAgain = null;
+
+ do {
+ System.out.println("Welcome to the Go Fish table!!!");
+
+ for (int i = 0; i <= 1; i++) {
+ goFish.createOnePlayer(Console.getUserInputString("What is your name?"));
+ }
+
+ goFish.goFishPlayers.get(0).dealGoFishHand(goFish.goFishPlayers, goFishDeck);
+
+ goFish.showEverybodysHand();
+
+ goFish.askOtherPlayerForCard();
+
+
+ int cardToAskFor = Console.getUserInputInteger("What card do you want to ask for? \nPlease input the index of the card 1 through " + goFish.goFishPlayers.get(0).getHandList().size() + "!");
+
+ goFish.askFirstPlayerForCard();
+
+ } while (playAgain.equals("no"));
+ CardGames cardGames = new CardGames();
+ cardGames.chooseGameType();
+
+ }
+
+}
+
+
diff --git a/src/main/java/io/zipcoder/casino/GoFish.java b/src/main/java/io/zipcoder/casino/GoFish.java
new file mode 100644
index 00000000..c029bbda
--- /dev/null
+++ b/src/main/java/io/zipcoder/casino/GoFish.java
@@ -0,0 +1,44 @@
+package io.zipcoder.casino;
+
+import java.util.ArrayList;
+import java.util.Scanner;
+
+public class GoFish extends CardGames {
+
+ public ArrayList goFishPlayers = new ArrayList<>();
+ private Deck goFishDeck;
+
+ public void createOnePlayer(String name){
+ GoFishPlayer goFishPlayer = new GoFishPlayer(name);
+ goFishPlayers.add(goFishPlayer);
+ }
+
+ public void showEverybodysHand(){
+ for(GoFishPlayer player: goFishPlayers){
+ System.out.println(player.getName() + " this is your hand.\n");
+ System.out.println(player.viewHand());
+ System.out.println("");
+ }
+ }
+
+ public void askOtherPlayerForCard(){
+ System.out.println(goFishPlayers.get(1).getName()+"\n");
+ System.out.println(goFishPlayers.get(1).viewHand()+"\n");
+ }
+
+ public void askFirstPlayerForCard(){
+ System.out.println(goFishPlayers.get(0).getName()+"\n");
+ System.out.println(goFishPlayers.get(0).viewHand()+"\n");
+
+ }
+
+
+ public ArrayList getPlayers() {
+ return goFishPlayers;
+ }
+
+ public GoFishPlayer getPlayerAtIndex(int index) {
+ return goFishPlayers.get(index);
+ }
+
+}
diff --git a/src/main/java/io/zipcoder/casino/GoFishPlayer.java b/src/main/java/io/zipcoder/casino/GoFishPlayer.java
new file mode 100644
index 00000000..c73a4c63
--- /dev/null
+++ b/src/main/java/io/zipcoder/casino/GoFishPlayer.java
@@ -0,0 +1,59 @@
+package io.zipcoder.casino;
+
+import java.util.ArrayList;
+
+public class GoFishPlayer extends Player implements Comparable {
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ public String name;
+ private ArrayList cardsInHand;
+
+ GoFishPlayer (String name) {
+ this.name = name;
+ this.cardsInHand = new ArrayList<>();
+ }
+
+
+ public void dealGoFishHand(ArrayList players, Deck deck) {
+ for (int i = 1; i <= 5; i++) {
+ for (GoFishPlayer player : players)
+ player.cardsInHand.add(deck.dealOneRandomCard());
+ }
+ }
+
+ public void addCardToHand(Card newCard) {
+ cardsInHand.add(newCard);
+ }
+
+ public ArrayList getHandList() {
+ return cardsInHand;
+ }
+
+ public String viewHand() {
+ String handString = "";
+ for (Card card : cardsInHand) {
+ handString += card.getCardsValue();
+ }
+ return handString;
+ }
+
+ public void goFish(Card card){
+ addCardToHand(card);
+ }
+
+
+ // public Double bet(Double bet) {
+// return null;
+// }
+ //Stubbed this method out b/c may be needed in console/actual game-play integration... delete it if not...
+ @Override
+ public int compareTo(GoFishPlayer o) {
+ return 0;
+ }
+}
+
+
diff --git a/src/main/java/io/zipcoder/casino/Player.java b/src/main/java/io/zipcoder/casino/Player.java
new file mode 100644
index 00000000..18b9c170
--- /dev/null
+++ b/src/main/java/io/zipcoder/casino/Player.java
@@ -0,0 +1,27 @@
+package io.zipcoder.casino;
+
+abstract class Player {
+
+ protected String name;
+ protected Double money;
+ protected double bet;
+
+
+ Player(String name, Double money){
+ this.name = name;
+ this.money = money;
+ }
+
+ Player() {
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ void bet(double bet) {
+ this.bet = bet;
+ }
+
+ public abstract void addCardToHand(Card card);
+}
diff --git a/src/main/java/io/zipcoder/casino/Suit.java b/src/main/java/io/zipcoder/casino/Suit.java
new file mode 100644
index 00000000..6e6f55b8
--- /dev/null
+++ b/src/main/java/io/zipcoder/casino/Suit.java
@@ -0,0 +1,16 @@
+package io.zipcoder.casino;
+
+public enum Suit {
+
+ CLUB("♧"), DIAMOND("♢"), HEART("♡"), SPADE("♤");
+
+ private final String suitSymbols;
+
+ Suit(String symbol) {
+ this.suitSymbols = symbol;
+ }
+
+ public String getSuit() {
+ return suitSymbols;
+ }
+}
diff --git a/src/test/java/io/zipcoder/casino/BlackJackTest.java b/src/test/java/io/zipcoder/casino/BlackJackTest.java
new file mode 100644
index 00000000..01846c3a
--- /dev/null
+++ b/src/test/java/io/zipcoder/casino/BlackJackTest.java
@@ -0,0 +1,58 @@
+package io.zipcoder.casino;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.util.ArrayList;
+
+public class BlackJackTest {
+
+ BlackJack blackjack = new BlackJack();
+
+ @Test
+ public void startTest() {
+ //Have to expect 1 player (dealer) because other player is created at runtime via user-inputted name/money
+ int expected = 1;
+ int actual = blackjack.getPlayers().size();
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void giveCardToPlayerTest() {
+
+ blackjack.start();
+ BlackjackPlayer dealer = blackjack.getPlayerAtIndex(0);
+ blackjack.giveCardToPlayer();
+ ArrayList cards = dealer.getHandList();
+
+ int expected = 2;
+
+ int actual = cards.size();
+
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void setActivePlayerTest() {
+
+ blackjack.start();
+ ArrayList blackjackPlayers = blackjack.getPlayers();
+ blackjack.setActivePlayer(blackjackPlayers.get(1));
+
+ Player expected = blackjackPlayers.get(1);
+
+ Player actual = blackjack.getActivePlayer();
+
+ Assert.assertEquals(expected, actual);
+ }
+
+
+ @Test
+ public void endTurnTest() {
+
+ blackjack.start();
+ blackjack.endTurn();
+
+ }
+
+}
diff --git a/src/test/java/io/zipcoder/casino/BlackjackPlayerTest.java b/src/test/java/io/zipcoder/casino/BlackjackPlayerTest.java
new file mode 100644
index 00000000..1915a047
--- /dev/null
+++ b/src/test/java/io/zipcoder/casino/BlackjackPlayerTest.java
@@ -0,0 +1,78 @@
+package io.zipcoder.casino;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class BlackjackPlayerTest {
+
+ BlackjackPlayer blackjackPlayer = new BlackjackPlayer("Josh", 500.00);
+
+ @Test
+ public void checkBalanceTest() {
+ Double expected = 500.0;
+ Double actual = blackjackPlayer.checkBalance();
+
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void betTest() {
+ Double expected = 10.0;
+
+ Double actual = blackjackPlayer.bet(10.0);
+
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void addCardToHandAndViewHandTest() {
+
+ Card card = new Card(Suit.DIAMOND, CardValue.Two);
+ int expected = card.getCardsValue();
+
+ blackjackPlayer.addCardToHand(card);
+
+ int actual = blackjackPlayer.viewHand(blackjackPlayer);
+
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void checkBalanceAfterBetTest() {
+
+ Double expected = 400.0;
+
+ blackjackPlayer.bet(100.0);
+
+ Double actual = blackjackPlayer.checkBalance();
+
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void getHandValueTest() {
+
+
+ Card card = new Card(Suit.HEART, CardValue.Ten);
+ blackjackPlayer.addCardToHand(card);
+
+ int expected = 10;
+
+ int actual = blackjackPlayer.getHandValue();
+
+
+ Assert.assertEquals(expected, actual);
+
+ }
+
+ @Test
+ public void getWinningsTest() {
+ Double expected = 1100.0;
+
+ blackjackPlayer.addWinnings(600.0);
+ Double actual = blackjackPlayer.checkBalance();
+
+ Assert.assertEquals(expected, actual);
+ }
+}
+
diff --git a/src/test/java/io/zipcoder/casino/CardTest.java b/src/test/java/io/zipcoder/casino/CardTest.java
new file mode 100644
index 00000000..8851dd64
--- /dev/null
+++ b/src/test/java/io/zipcoder/casino/CardTest.java
@@ -0,0 +1,30 @@
+package io.zipcoder.casino;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class CardTest {
+
+ @Test
+ public void getCardsValueTest() {
+
+ Card card = new Card(Suit.CLUB, CardValue.Ace);
+ int expected = 11;
+
+ int actual = card.getCardsValue();
+
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void getSuitSymbolTest() {
+
+ Card card = new Card(Suit.HEART, CardValue.Ace);
+ String expected = "♡";
+
+ String actual = card.getSuitSymbols();
+
+ Assert.assertEquals(expected, actual);
+
+ }
+}
diff --git a/src/test/java/io/zipcoder/casino/CasinoTest.java b/src/test/java/io/zipcoder/casino/CasinoTest.java
index e9286523..aebbb610 100644
--- a/src/test/java/io/zipcoder/casino/CasinoTest.java
+++ b/src/test/java/io/zipcoder/casino/CasinoTest.java
@@ -1,5 +1,12 @@
package io.zipcoder.casino;
+import org.junit.Test;
+
public class CasinoTest {
+
+ @Test
+ public void constructorTest(){
+
+ }
}
diff --git a/src/test/java/io/zipcoder/casino/CrapsTest.java b/src/test/java/io/zipcoder/casino/CrapsTest.java
new file mode 100644
index 00000000..a7a4aba4
--- /dev/null
+++ b/src/test/java/io/zipcoder/casino/CrapsTest.java
@@ -0,0 +1,98 @@
+package io.zipcoder.casino;
+
+import org.junit.Test;
+import org.junit.Assert;
+import org.junit.*;
+
+public class CrapsTest {
+
+ CrapsPlayer jeff = new CrapsPlayer("jeff", 50.00);
+ Craps cPlayer = new Craps();
+
+ @Test
+ public void firstRollForSeven() {
+
+ cPlayer.diceRollTotal = 7;
+
+ String expected = "You rolled a: 7! You win!";
+
+ String actual = cPlayer.firstRoll(jeff);
+
+ Assert.assertEquals(expected,actual);
+ }
+
+ @Test
+ public void firstRollForEleven() {
+
+ cPlayer.diceRollTotal = 11;
+
+ String expected = "You rolled a: 11! You win!";
+
+ String actual = cPlayer.firstRoll(jeff);
+
+ Assert.assertEquals(expected,actual);
+ }
+
+ @Test
+ public void firstRollForTwo() {
+
+ cPlayer.diceRollTotal = 2;
+
+ String expected = "You rolled a: 2! You lose!";
+
+ String actual = cPlayer.firstRoll(jeff);
+
+ Assert.assertEquals(expected,actual);
+ }
+
+ @Test
+ public void firstRollForOther() {
+
+ cPlayer.diceRollTotal = 5;
+ String expected = "Your point has be set to: 5. Please roll again.";
+
+ String actual = cPlayer.firstRoll(jeff);
+
+ Assert.assertEquals(expected,actual);
+ }
+
+ @Test
+ public void setPlayerPointTest() {
+
+ cPlayer.diceRollTotal = 5;
+ cPlayer.firstRoll(jeff);
+ int expected = 5;
+
+ int actual = jeff.getPlayerPoint();
+
+ Assert.assertEquals(expected,actual);
+ }
+
+
+
+ @Test
+ public void nextRoll() {
+ //The roll is based on a random number so testing is iffy.
+ cPlayer.diceRollTotal = 5;
+ jeff.setPlayerPoint(5);
+ cPlayer.nextRoll(jeff);
+ jeff.getPlayerPoint();
+ String expected = "You rolled...";
+
+ String actual = Craps.gameMessage;
+
+ Assert.assertEquals(expected,actual);
+
+ }
+
+
+
+ @Test
+ public void addWinningsTest() {
+ jeff.bet(25.00);
+ Double expected = 50.0;
+ Double actual = cPlayer.addWinnings();
+
+ Assert.assertEquals(expected, actual);
+ }
+}
diff --git a/src/test/java/io/zipcoder/casino/DeckTest.java b/src/test/java/io/zipcoder/casino/DeckTest.java
new file mode 100644
index 00000000..1af11db7
--- /dev/null
+++ b/src/test/java/io/zipcoder/casino/DeckTest.java
@@ -0,0 +1,66 @@
+package io.zipcoder.casino;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class DeckTest {
+
+ Deck deck = new Deck();
+
+ @Test
+ public void populateTest() {
+
+ deck.populate();
+ String expected = "♤";
+ Integer expected2 = CardValue.King.getValue();
+ Integer expected3 = 52;
+
+ String actual = deck.getCardByIndex(51).getSuitSymbols();
+ Integer actual2 = deck.getCardByIndex(51).getCardsValue();
+ Integer actual3 = deck.getDeckSize();
+
+ Assert.assertEquals(expected, actual);
+ Assert.assertEquals(expected2, actual2);
+ Assert.assertEquals(expected3, actual3);
+ }
+
+ @Test
+ public void dealOneRandomCardTest() {
+
+ deck.populate();
+ Card expected = deck.getCardByIndex(0);
+
+ Card actual = deck.dealOneRandomCard();
+
+ Assert.assertEquals(expected, actual);
+
+
+ }
+
+ @Test
+ public void getDeckSizeTest() {
+
+ deck.populate();
+ Integer expected = 52;
+
+ Integer actual = deck.getDeckSize();
+
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void getCardTest() {
+
+ deck.populate();
+ String expected = "♧";
+ Integer expected2 = CardValue.Ace.getValue();
+
+ String actual = deck.getCardByIndex(0).getSuitSymbols();
+ Integer actual2 = deck.getCardByIndex(0).getCardsValue();
+
+
+ Assert.assertEquals(expected, actual);
+ Assert.assertEquals(expected2, actual2);
+
+ }
+}
diff --git a/src/test/java/io/zipcoder/casino/DiceTest.java b/src/test/java/io/zipcoder/casino/DiceTest.java
new file mode 100644
index 00000000..e2bb1676
--- /dev/null
+++ b/src/test/java/io/zipcoder/casino/DiceTest.java
@@ -0,0 +1,20 @@
+package io.zipcoder.casino;
+
+import org.junit.Test;
+import org.junit.Assert;
+
+import static org.junit.Assert.*;
+
+public class DiceTest {
+ @Test
+
+ public void rollDiceTest() {
+
+ Integer actual = Dice.rollDice(2);
+ // System.out.println(actual);
+
+ Assert.assertTrue(actual <13 && actual > 0);
+ }
+
+
+}
\ No newline at end of file
diff --git a/src/test/java/io/zipcoder/casino/GoFishPlayerTest.java b/src/test/java/io/zipcoder/casino/GoFishPlayerTest.java
new file mode 100644
index 00000000..4deea044
--- /dev/null
+++ b/src/test/java/io/zipcoder/casino/GoFishPlayerTest.java
@@ -0,0 +1,28 @@
+package io.zipcoder.casino;
+
+import org.junit.*;
+
+
+public class GoFishPlayerTest {
+
+ GoFishPlayer goFishPlayer = new GoFishPlayer("josh");
+
+
+ @Test
+ public void addCardToHandAndViewHandTest() {
+
+ Card card = new Card(Suit.CLUB, CardValue.Two);
+ int expected = 2;
+
+ goFishPlayer.addCardToHand(card);
+
+ int actual = card.getCardsValue();
+
+ Assert.assertEquals(expected, actual);
+ }
+
+ @Test
+ public void dealGoFishHandTest(){
+
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/io/zipcoder/casino/GoFishTest.java b/src/test/java/io/zipcoder/casino/GoFishTest.java
new file mode 100644
index 00000000..6957fd55
--- /dev/null
+++ b/src/test/java/io/zipcoder/casino/GoFishTest.java
@@ -0,0 +1,10 @@
+package io.zipcoder.casino;
+
+import org.junit.*;
+
+public class GoFishTest {
+
+ //@Test
+
+
+}
\ No newline at end of file