Internet Chess ToolKit
v0.2.0

Package ictk.boardgame

The purpose of this package is to supply abstract classes that facilitate the implementation of turn-based boardgames.

See:
          Description

Interface Summary
Board Defines the board the game is played on.
BoardEvent  
BoardListener  
ContinuationList This class facilitiates the branching aspect of the History tree.
Game the abstract Game class is the parent of all types of games that will be supported.
Location this is your standard square, position, or coordinate point on the playing board.
Result this is used to mark the result of a game.
SingleBoardGame this is for use with games that only use one board like scrabble, Go, Chess, & monopoly.
Team this contains information a group of players playing as a team.
 

Class Summary
ContinuationArrayList ContinuationArrayList uses arrays internally to represent the banching structure.
GameInfo GameInfo contains all the information about the players of the game, where the game was played, what where the specific game/rule conditions of the game including time controls.
History the History class is a data structure resembling a tree.
Move A move contains all the necessary components to make a move on the board.
Piece A place holder class for things like Chess pieces, Go Stones, Scrabble tiles etc.
Player a Player represents a person, team or computer that is playing the game.
 

Exception Summary
AmbiguousMoveException AmbiguousMoveException is used to if a move is played but not all information necessary to make the move unique is given.
BoardGameException this is the ultimate parent of all exceptions in the ICTK boardgame heirarchy of exceptions.
IllegalMoveException this is thrown when you try to execute or add an illegal move to the game.
MoveException An Exception that occurs due to a move.
OutOfTurnException tried to execute a move where the piece moved belonged to a player who's turn is wasn't.
UnverifiedMoveException this is thrown when you're trying to use a method in the Move object that relies on it's data having been verified over the board to be accurate.
 

Package ictk.boardgame Description

The purpose of this package is to supply abstract classes that facilitate the implementation of turn-based boardgames. Most classes in this package are abstract and do not have much to them except a skeleton. The notable exceptions are History, Move and ContinuationList (and it's implementations). These three classes create a datastructure that resembles a tree. It's a history of the moves in the game and includes variations. While the History class maintains access to the datastructure, Moves are nodes on the structure and ContinuationList allows for the branching that variations necessitate. ContinuationList is also used for promoting and demoting variations to the mainline.


Submit a bug or feature
Visit the Website
Internet Chess ToolKit is licensed under the GPL v2 .