"Set" is a card game in which players attempt to find a group of cards that satisfy a particular criterion. It is a speed game: 12 cards are dealt face-up, and the players try to be the first to make a set from the visible cards. For a complete description of the game see the Wikipedia entry.
Implement this game in Ruby. Your game can be text-based (i.e., using the console). The basic, required, functionality of your game is to deal the appropriate number of cards, verify the correctness of player-identified sets, replace the identified cards with new ones, and keep track of score to identify a winner.
Optional functionality is anything that makes the game more interesting and enjoyable to play. Some examples of such functionality are:
This is not an exhaustive list of possibilities. Feel free to add whatever functionality would make your game the most interesting for people to actually play.
(If you decide to make use of a 3rd-party library for this project, see this reference for how to manage gems.)
Coordinate with your project team members to select a technical area from the following choices:
HTML/CSS
JavaScript
Ruby
Additionally, select a secondary interest.
Each team member should have a primary and secondary choice with no more than two team members sharing the same primary choice.
Submit this lab by pushing a git tag to your central repository as described on the main Labs page.
Each group should send ONE email to the grader/instructor with the members and their selected technology areas.