##Team ####Name: Vivek Unnikrishnan BUID: U53408550 ####Name: Bhagyasri Kota BUID: U63334155 ####Name: Sahana Subramanya Kowshik BUID: U43929102
#The Arcade This is an arcade program which has 2 games.
- BlackJack: A card game with n players and a dealer.
- TriantaEna: A card game with 7 or 9 players.
###Classes com.bu.cs.component
- Arcade: An arcade class which stores all the games to play.
- Game: Interface that Represents the game as the whole. Contains important functions for any game.
- Player: Represents the player. Stores the name, playerId and the wins for each player.
com.bu.cs.component.cardgame
- CardGame: Abstract class which is used for both the games
- CardGameConfig: Configuration for the card game. This includes player count, win condition and number of decks.
- CardPlayer: Abstract class used for other players
- Dealer: Class with basic dealer functions
com.bu.cs.component.cardgame.card
- Card: Contains the card definition with suit and card value objects
- CardValue: Enum Used to define the value of the card
- Deck: Used to store list of cards
- Decks: Used to store list of decks
- Hand: Used to represent the list of cards with players/Dealers
- Suit: Used to represent the suit of the card
com.bu.cs.component.cardgame.blackJack
- BlackJackDealer: Defines the black jack dealer functions
- BlackJackPlayer: Defines the black jack player functions
- BlackJackGame: Defines the black jack game logic
com.bu.cs.component.cardgame.trianta
- TriantaDealer: Defines the Trianta dealer functions
- TriantaPlayer: Defines the Trianta player functions
- TriantaGame: Defines the Trianta game logic
com.bu.cs.helper
- GameFunctions: Contains the functions that are used to drive the game. This includes getting player turns, printing the board and checking win conditions.
- GameConstants: Contains the constants used in the card games. This includes constants for reset colour and BlackJack win condition.
com.bu.cs.Main: Main program that runs the Arcade.
###How to play
- Once extracted run the follow commands in the extracted directory:
- cd out/production/ticTacToe
- java com.bu.cs.Main
- Select the game by entering the option number
- Black Jack: This is the orginal black jack
- Enter the number of players
- Enter the number of decks for the game
- Enter the details for each player, including money and bet amount
- Cards are dealt and the player can select if he needs to hit,stand,split or double down.
- Once the game is over, a summary is shown and a prompt to play a next game or exit is shown
- Once all the games are done, a prompt is shown for the game exit
- Trianta: This is a variant of black jack
- Enter the number of players
- Enter the starting amount for each player
- Cards are dealt and the player can select if he needs to hit or stand.
- Once the game is over, a summary is shown and a prompt to play a next game or exit is shown
- Once all the games are done, a prompt is shown for the game exit
- Once all the games are done a summary of the session is shown and the program exits
###Bonus Features
- Cards are shown with colored text for diamonds and hearts
- Black jack can be played with any number of players. Limits are defined in Game constants
###Compile and run Extract the zip file into a folder. All the below commands are run in the extracted directory. The code is compiled in a separate directory for cleaner builds and easy recreates
- mkdir out
- cd src
- javac -d ../out/ com/bu/cs/Main.java
- cd ../out/
- java com.bu.cs.Main