Card Games Hackathon!
Purpose: To fully utilize what we learnt in OOP, let's create a card game based on the two JAVA files that are provided to you. You are given two files - Deck and Card. Both files specify their properties. A Deck has 52 non-repeating cards while a card has a rank and a suit. Feel free to add more methods to the files. You could create a new GAME.java and make use of the classes provided as well. Your card games can be any game! Black Jack, Texas Hold’em, or anything you could think of! Here are some ideas for you.
Level 1: High card
- Computer and player both select a random card from a deck. If your card is bigger than the other one, you win. Otherwise, you lose.
- Requirements:
- Each card can be selected ONCE only.
- If the cards have the same value, the suit will decide who one has a higher value. For instance, Spade 4 is bigger than Heart 4.
- Bonus: You can make the game for more than 1 player.
Level 2: Black Jack
- Create a game for 2 players to play Black Jack.
- Each player is given 2 random cards. If the total value of 2 cards is less than 21, they have the option to hit (draw one more random card) OR to stay (not to draw one more card). If the total value of the cards is greater than 21, it busted and lose. The player can hit more than once.
- Values of J, Q, K are 10. Value of Ace is either 1 or 11 depending your own preference.
- A player can win, lose or tie.
- Requirements:
- Each card can be drawn ONCE only.
- Bonus: You can make the game to Computer Vs Player and set the rules of when the computer should hit and when a computer should stay.
- Bonus: You could play 10 rounds with a base of 20 nuggets and see if you could get more nuggets!
Useful resources: To make the card more fun to play, you could also show the cards as Unicode or in ascii.
- Show the cards in Unicode
- Show the cards in ASCII-
- MORE ASCII RESOURCES: This is the ascii in Python but this site explains very clearly how the ascii shows the playing cards in terminal.