Dept. of Computer Science & Engineering

Project 2: The Game of Set

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.)

Submission

Submit this lab by pushing a git tag to your central repository as described on the main Labs page.