All Classes and Interfaces

Class
Description
Implements the Alpha-Beta pruning algorithm for a two-player game.
 
Represents a bot player in the game.
An interface representing a bot strategy for a game returning a move for the current game state.
Represents the configuration for a bot strategy, including limits on the number of iterations, depth, and maximum execution time.
A builder for constructing a BotStrategyConfig instance.
 
Implements a custom bot move strategy for the game, delegating to a specific custom implementation.
Custom, extended bot strategy
 
 
 
 
 
Represents a game of Tic-Tac-Toe, including the game board, players, and game state.
Represents a game board for a game.
Represents a game board for a game, such as tic-tac-toe.
Provides methods for saving and loading a Game object to/from a file.
Represents an exception that can occur when using the game service.
Represents the current state of a game, including the game board, player markers, and the index of the current player.
Represents a human player in the game.
Represents an input source that can be used to read a line of text.
Thrown when an invalid move is attempted in the game.
This interface defines a contract for classes that can be serialized to JSON strings.
Implements the MaxN bot strategy for a game.
Implements a Minimax algorithm-based bot strategy for a game.
Implements the Monte Carlo Tree Search (MCTS) algorithm for a game bot strategy.
 
Implements a "paranoid" bot strategy for a game.

Tic-tac-toe player interface for all players

// Create a human player
Player player = new HumanPlayer();

// Choose the next valid move on the game board
int validBoardLocation = player.nextMove(gameState);
Manages player IDs for a game system.
The `PlayerNode` interface represents a player in a game.
Represents a local player node that implements the player's logic directly in the application.
Represents a remote player node that communicates with a client over a transport server.
Represents a collection of PlayerNode instances, providing methods to manage and render the players.
Provides a utility to generate a player identifier string for a given `PlayerNode`.
Implements a bot strategy that makes random moves based on the available moves in the game state.
A strategic turning point in a game of Tic-Tac-Toe.
A strategic turning point where the player has control of the center square.
A strategic turning point where the player has won the game.
A strategic turning point where the player has prevented an immediate loss.
 
Represents the configuration for the transport layer, including the player marker.
Represents an exception that occurred during transport-related operations.
A server that communicates with a client over a transport protocol.