For 2 or more players. The cards are shuffled and dealt. Each player holds his cards so that only he can see the top card. The player to the left of the dealer reads out any one of the four specifications on the card i. e. Top speed, weight, etc. The other players read out the same specification from their top cards. The player with the highest value takes the top card from the other players (including his own), and puts them at the bottom of his cards. That winner then reads out a specification from his new top card and the game continues. Should any of the specifications be of the same value the top cards are put to one side, and the winner of the next round takes those in addition to the hand. The game ends when any player has no cards left, the winner is the player with most cards.
-
Select a theme for your card game. A few popular choices are cars, fighter jets, dinosaurs, football teams, actors, etc. Use your imagination!
-
Define your game’s rules. How many players? How many cards dealt per players? Do you want to allow bets?
-
Model your game using interfaces, classes, etc.
-
Use abstraction, inheritance, composition and encapsulation where applicable.
-
Implement the Comparable interface and create and use a Comparator implementation at least once.
-
Implement the hashCode and e quals methods at least on one class.
-
Implement toString on classes where it makes sense to pretty print them to the terminal.
-
Print to the standard output only in a single place in your application (see printStatistics in Step 4).
-
Use the Collections framework for your implementation.
-
Use Git to version your application’s source code - commit frequently and small, well-defined changes.
-
Create a Main class, with a main method.
-
You cannot use static variables or methods (except the main method). Create instances of your classes instead. ##Explanation of CSV Pokemon.csv columns: 1.ID 2.Name 3.Height(cm) 4.Weight(kg) 5.Catch rate 6.Base experience yield(score)