45 this->
shared->notify_exit();
52 bool cancelled = this->
bot_state->cancelled;
67 bool cancelled = this->
bot_state->cancelled;
bool bot_compute_placement(BotState *self, Coords *out_target)
Computes the best placement for the current player given the current game state.
BotState * bot_state_new(const BotParameters *params, Game *game, Rng *rng)
Constructs a BotState (similarly game_new).
bool bot_compute_move(BotState *self, Coords *out_penguin, Coords *out_target)
Computes the best move for the current player given the current game state.
virtual ExitCode Entry() override
virtual ExitCode Entry() override
bool SetName(const wxString &WXUNUSED(name))
BotTurnController * controller
virtual void OnExit() override
std::shared_ptr< BotParameters > bot_params
std::unique_ptr< BotState, decltype(&bot_state_free)> bot_state
std::shared_ptr< BotThreadShared > shared
std::unique_ptr< Game, decltype(&game_free)> game
volatile bool * cancelled_ptr
BotThread(BotTurnController *controller)
void unregister_bot_thread(BotThread *thread)
void on_bot_thread_done_work(bool cancelled)
void CallAfter(void(T::*method)(T1,...), T1 x1,...)
Game * game_clone(const Game *other)
Creates a (deep) copy of another Game.
#define wxASSERT(condition)
void move_penguin(Game *game, Coords start, Coords target)
Creates a GameLogMovement entry. The requested move must be valid.
Movement phase functions.
void place_penguin(Game *game, Coords target)
Creates a GameLogPlacement entry. The requested placement must be valid.
Placement phase functions.
A pair of 2D coordinates, used for addressing the Game::board_grid.