Description
For the final project you will be creating an automated version of the classic card game WAR.
- Create the following classes:
- Card
- Fields
- value (contains a value from 2-14 representing cards 2-Ace)
- name (e.g. Ace of Diamonds, or Two of Hearts)
- Methods
- Getters and Setters
- describe (prints out information about a card)
- Deck
- Fields
- cards (List of Card)
- Methods
- shuffle (randomizes the order of the cards)
- draw (removes and returns the top card of the Cards field)
- In the constructor, when a new Deck is instantiated, the Cards field should be
populated with the standard 52 cards.
- Player
- Fields
- hand (List of Card)
- score (set to 0 in the constructor)
- name
- Methods
- describe (prints out information about the player and calls the describe method
for each card in the Hand List)
- flip (removes and returns the top card of the Hand)
- draw (takes a Deck as an argument and calls the draw method on the deck,
adding the returned Card to the hand field)
- incrementScore (adds 1 to the Player’s score field)
Page 2 of 3Intro to Java Week 6 Coding Assignment
- Create a class called App with a main method.
- a) Instantiate a Deck and two Players, call the shuffle method on the deck.
- b) Using a traditional for loop, iterate 52 times calling the Draw method on the other player each
iteration using the Deck you instantiated.
- c) Using a traditional for loop, iterate 26 times and call the flip method for each player.
- d) Compare the value of each card returned by the two player’s flip methods. Call the
incrementScore method on the player whose card has the higher value.
- e) After the loop, compare the final score from each player.
- f) Print the final score of each player and either “Player 1”, “Player 2”, or “Draw” depending on
which score is higher or if they are both the same.
- Tips: Printing out information throughout the game adds value including easier debugging as you progress
and a better user experience.
- a) Using the Card describe() method when each card is flipped illustrates the game play.
- b) Printing the winner of each turn adds interest.
- c) Printing the updated score after each turn shows game progression.
- d) At the end of the game: print the final score of each player and the winner’s name or “Draw” if the
result is a tie.










