docs/03-reference.markdown @ 59376ea596d4
Document a few things
| author | Steve Losh <steve@stevelosh.com> |
|---|---|
| date | Wed, 23 Mar 2016 16:23:52 +0000 |
| parents | 251cea71ed58 |
| children | 04d792fae37f |
# API Reference The following is a list of all user-facing parts of `cl-ggp`. If there are backwards-incompatible changes to anything listed here, they will be noted in the changelog and the author will feel bad. Anything not listed here is subject to change at any time with no warning, so don't touch it. [TOC] ## Package GGP ### GGP-PLAYER (class) The base class for a GGP player. Custom players should extend this. #### Slot NAME * Allocation: INSTANCE * Type: `STRING` * Reader: `PLAYER-NAME` The name of the player. #### Slot PORT * Allocation: INSTANCE * Type: `(INTEGER 0)` * Reader: `PLAYER-PORT` The port the HTTP server should listen on. #### Slot CURRENT-MATCH * Allocation: INSTANCE The ID of the current match the player is playing, or `nil` if it is waiting. **Do not touch this.** #### Slot SERVER * Allocation: INSTANCE The Clack server object of the player. **Do not touch this.** Use `start-player` and `kill-player` to start/stop the server safely. ### KILL-PLAYER (function) (KILL-PLAYER PLAYER) Kill the HTTP server for the given player. This will **not** be done gently. No cleanup will be performed if the player is in the middle of a game. Be careful. ### PLAYER-SELECT-MOVE (generic function) (PLAYER-SELECT-MOVE PLAYER) Called when it's time for the player to select a move to play. Must return a list/symbol of the GDL move to play. Note that any symbols in the move should be ones that are interned in the `GGP` package. The author is aware that this sucks and welcomes suggestions on how to make it less awful. ### PLAYER-START-GAME (generic function) (PLAYER-START-GAME PLAYER RULES ROLE START-CLOCK PLAY-CLOCK) Called when the game is started. `rules` is a list of lists/symbols representing the GDL description of the game. Note that all symbols are interned in the `GGP` package. ### PLAYER-STOP-GAME (generic function) (PLAYER-STOP-GAME PLAYER) Called when the game is stopped. This is a good place to do any teardown stuff your player might need, or maybe to suggest a GC to your Lisp implementation. ### PLAYER-UPDATE-GAME (generic function) (PLAYER-UPDATE-GAME PLAYER MOVES) Called after all player have made their moves. `moves` will be a list of moves made by the players. ### START-PLAYER (function) (START-PLAYER PLAYER) Start the HTTP server for the given player.