1This is an implementation of the sets game. 2 3This code was written by David Ashley dashxdr@gmail.com 4http://www.xdr.com/dash 5http://www.linuxmotors.com 6 7This code is released under the terms of the GPL, whatever the latest version 8is. 9 10Build under linux by just doing 11 12make 13 14You need the SDL library to be installed. 15http://www.libsdl.org 16 17Under mac OSX you can build by doing 18make -f Makefile.osx 19 20You need to have the SDL sdl framework installed. 21 22*********************************************************** 23 24There are 81 cards in the game. 12 cards are shown at a time. The object 25is to identify the sets. The upper left corner of the window shows how 26many sets have been discovered out of how many that exist. 27 28Hitting the spacebar redeals 12 cards. The deck is shuffled after every "hand". 29It's not so much like the real game, it's just a one player version to let 30you practice finding the sets. Hitting the return key will expose all the 31undiscovered sets. 32 33Hitting escape exits the game. 34 35Clicking on cards selects them, if 3 cards are highlighted that are a valid 36undiscovered set, they'll get marked. The marking appears as digits that 37show up on each card. The first set found will have 1's, the next set will 38have 2's, etc. 39 40RULES OF THE GAME 41 42Each card has 4 characteristics: 43COLOR: Either RED, GREEN or BLUE 44NUMBER: Either ONE, TWO OR THREE items 45SHAPE: Either CIRCLE, SQUARE or TRIANGLE 46TEXTURE: Either EMPTY, SOLID or LINED 47 48Since there are 4 characteristics, each with 3 possibilities, there are 493*3*3*3 or 81 possible combinations. 50 51A "set" is 3 cards together where each characteristic is either the same 52for all 3 cards, or different for all three cards. For example: 53 54RED, ONE, CIRCLE, SOLID 55RED, TWO, CIRCLE, SOLID 56RED, THREE, CIRCLE, SOLID 57 58Forms a set. The color is all the same, the shape is all the same, the 59texture is all the same, and the number is different. 60 61All you have to do is identify the sets. Click on each of the 3 cards in a 62new set and it'll be marked. 63 64Enjoy! 65 66-Dave 67