Organization
The AntiChess program is divided into three major sections:
- ref.spc -- startup_up, referee_t: Manages the play of the game
- generic_player.spc -- generic_player_t: Provides a generic interface for human and machine players
- human_player.spc -- human_player_t: Provides an interface to a human player
- machine_player.spc -- machine_player: Provides an interface to (and implements) a machine player
- stack.spc -- stack_t: A general-purpose stack abstraction
- string_man.spc -- Various string helper functions
- XGod.spc -- XGod_t: The master X interface
- Xboard.spc -- Xboard_t: Handles the display of the AntiChess board itself
- Xbuttons.spc -- Xbuttons_t: Handles the buttons on the right of the screen
- Xcommand.spc -- Xcommand_t: Handles the command area at the bottom of the screen
- Xstatus.spc -- Xstatus_t: Handles the status windows at the top of the screen
- Xprocs.spc -- XInputBox: Handles the user-input dialog boxes
- Xtimer.spc -- Xtimer_t: Timer helper cluster
- three_d_color.spc -- three_d_color_t: Cluster to draw the funky 3-D effects.
- color_array.spc -- color_array_t: An array-like data object, indexed by color_t instead of by integers
- board.spc -- board_t: Represents an AntiChess board and the rules that accompany it
- move.spc -- move_t: Represents a move from one place on an AntiChess board to another
- place.spc -- place_t: Represents a place on an AntiChess board
- piece.spc -- piece_t: Represents a piece on an AntiChess board
- color.spc -- color_t: Represents a piece color