Expand description
Interactive human client for turnbase: a fixed retroglyph
terminal dashboard over a turnbase_match::Simulator.
The turn loop itself (Simulator, PlayerAgent) lives in
turnbase-match and has no rendering in its call path; this crate adds the
human-facing layer. SimulationRunner binds straight to retroglyph-core
primitives (Terminal, Rect, print) rather than introducing a layout
engine or widget abstraction of its own; a game opts in by implementing
PrintableGame and drawing into the rect it is handed.
Simulator and PlayerAgent are re-exported so a dashboard user builds
a match without depending on turnbase-match directly.
Structs§
- BotOption
- One selectable AI type for a seat.
- Session
App - An interactive session over a
Simulator: the dashboard plus a setup modal, Auto/Step control, speed, reset, and a human-playable seat. - Simulation
Runner - Drives a
Simulatorbehind a fixed dashboard. - Simulator
- Coordinates one match: the rules (
G), its current position, which agent controls each seat, and a running log of committed actions.
Enums§
- Player
Agent - Who is deciding a seat’s moves.
Traits§
- Printable
Game - A
Gamethat knows how to render itself, forSimulationRunner.
Functions§
- ismcts_
bot - The information-set MCTS bot option, for a game that implements
Determinize(so it can search under hidden information). - mcts_
bot - The MCTS bot option, for any game whose state and actions are
Clone. - random_
bot - The uniform-random bot option, available for every game.
- run
- Runs
simulatoron a real terminal viaretroglyph-crossterm, polling an AI-controlled seat everyai_tick, until the match ends or the terminal closes. - run_
session - Runs
appon a real terminal viaretroglyph-crosstermuntil it quits. - standard_
bots - The bot set every
Clone-stated game can offer:random_botandmcts_bot. A game that also implementsDeterminizecan pushismcts_boton top.