lucidtaz / minimax
MiniMax engine for game decision making
Requires
- php: >=7.0.0
Requires (Dev)
- phpstan/phpstan: ^0.7.0
- phpunit/phpunit: ^5.3
This package is auto-updated.
Last update: 2024-12-25 02:36:02 UTC
README
MiniMax engine in PHP
This library provides easy integration of the MiniMax game decision making algorithm into your game, using a simple interface to separate the algorithm from the game logic.
Usage
To use this library, first make sure you implement each interface in
lucidtaz\minimax\game
.
Then, simply construct an instance of lucidtaz\minimax\engine\Engine
, give it
the Player
to act as, and when it is the player's turn, call the decide()
method. This will result in the GameState
instance that results after the
engine takes its move.
In code:
class MyPlayer implements \lucidtaz\minimax\game\Player { ... } class MyGameState implements \lucidtaz\minimax\game\GameState { ... } $player = new MyPlayer(...); $engine = new \lucidtaz\minimax\engine\Engine($player); $gameState = new MyGameState(...); $newGameState = $engine->decide($gameState);
For an example, see the tests/tictactoe
directory or any of the other sample
game implementations in tests/
.