View this PageEdit this PageUploads to this PageVersions of this PageHomeRecent ChangesSearchHelp Guide

SqueakSet

SqueakSource: http://www.squeaksource.com/SqueakSet/

To start the game you need to run the following:
 
server := SetGameServer startWithPlayers: anInteger.
client := SetGameClient newGame.

If you want to try a single player game, use 1 for anInteger.

After you start the server, and the client, you should see the game board come up. To play the game, click the 'Join Game' button and enter the IP address of the server. If this is just a 1 player game and you started the client and the server on the same machine, enter 127.0.0.1. Once you connect to the server, assuming that enough players have joined (depending on the startWithPlayers argument), the game will start.

You should see a bunch of cards on the board. You should now try to find a Set (see the definition for a Set below). To select a Set, choose the three cards that make up the Set by clicking on them (they will turn yellow when you click on them). Then click 'Claim Set'. This will give you a lock on the board. No other players can claim a set for 10 seconds. You now have 10 seconds to make sure the 3 cards you selected really are a Set. Once you convince yourself it is a Set, click the 'Submit Set' button. The three cards you selected will get sent to the Server, and the Server will determine if it is really a Set or not.

If it is a Set, the three cards will be replaced with three new random cards from the Deck, and you will get a point. If it is not a Set, the cards will not be replaced, and you will lose a point.

Our recent screenshot:
Uploaded Image: SetGame2.png

Set is a card-game where the basic objective of the game is to find 'Sets' among the cards currently in play. Each card in the deck has 4 different properties:
  • Color
  • Number of Symbols
  • Shape of Symbols
  • Shading of Symbols

A group of three cards is considered a 'Set' if for each property listed above the three cards are either
  • All the same.. OR
  • All different for that property.

You can read more details about the rules here: http://setgame.com/set/

For our implementation, we will build a multi-player, networked version of this game. The high-level components we plan to implement are:
  • A game server that allows several players to join a game, manages the creation / randomization of the deck ordering, keeps score, and keeps time
  • A client interface that allows a player to select a Set from the 12 cards that are currently in play

The game server will have to do things like:
  • Alert clients when game state has changed
  • Generate / store the game deck for each game session
  • Receive messages from players
  • Keep current game state

The client will have to do things like:
  • Display the currently in-play cards
  • Allow the player to select 3 cards
  • Display the game state to the client
  • Update the display when the game state is changed by other clients.

We currently are not looking for more people to join this project.

Matt Stockton
Lorinc Hever

Links to this Page