CHINESE CHECKERS

Scope Document


Abstract

This project will implement the ancient Chinese game ‘Chinese Checkers’ as an internet client-server
application.

Game Rules

Chinese Checkers is a two to six player game. The board is configured into a star pattern.Each player has 10 pegs of one color (red, black, green, blue, yellow, and white) at one starting point of the star. The object of the game is to move all your pegs across the board and occupy the star point directly opposite of your start point. The first player to accomplish this wins.

Each player takes a turn making a move. Players' turns rotate counterclockwise. A move consists of placing a peg into one of the adjacent holes or jumping over any other peg into a hole beyond. You may not move into another person's home or goal points. You may jump other pegs of any color and in any direction. Players can make multiple jumps in one turn. No pegs are removed from the board during play.

Regardless of the number of players, the game ends when a player has successfully moved all of his or her pegs to the star point directly across from his or her starting point, or when only one player remains on the board. This player is the winner. A player's pieces are removed from the board if they block another player from winning (by staying in their home point too long), by letting their timer run out, or by resigning. There is always exactly one winner.

Description

The player will log in or register with the Game Server which will validate player's user id and password.

The player then logs into the Main board.The Main Board consist of the following :

  • Table to display current games being played.
  • The Panel of Buttons. A player can either create a game and have others join or join a group that is waiting for additional players.

    When the user creates a game he/she should be specific about the number of players allowed to play i.e. is it a 2 player game or a 4 player game.

    Each game belongs to a group. The groups will be displayed, on the table, with available seats and the names of each member .

    A list will be displayed of users waiting to play.

    Groups may invite users from the waiting list to join a game.

    A description of the rules of the game will be made available during play.

    Players are allowed to join a game if there are seats available.

    Players are allowed to 'watch' a game that is in progress. The watch window feature will allow any player to watch other games during their own game.The watch window will be same as the player window except that play options will be disabled.

    When the game is created or joined , the player enters the Game board.

    The Game board consists of the following :

  • The Panel of Buttons.
  • The Game Applet.

    Players will be assigned positions on the Game Board according to the order in which they entered the game.

    Players are prompted when it's their turn to play.Players must make their move within 2 minutes or else they lose turn.

    Players are given the option to save a game and resume at a later date/time (maximum of 2 days allowed). The number of players and player's id should match.For the game to be paused, all the players have to agree or press pause button.

    Implementation

    Implementation of the project will utilise the following aspects of Internet Programming :

  • GUI Programming: A graphical user interface will be provided on the client side
  • Client/Server Programming: Both a client application and a server application will be developed
  • Concurrent Programming: This will allow the server to handle multiple independent games
  • Database Programming: A database will be used on the server side to maintain win/loss records
  • Project Estimate

    It is estimated that this project will require approximately 10 Use Cases, 25 Classes and 45 Methods. These are subject to change.