Xiangiqgame
AI engine for Xiangqi
|
Complies with MoveEvaluatorConcept. More...
#include <move_evaluator_random_for_concepts.hpp>
Public Member Functions | |
gameboard::Move | SelectMove (const gameboard::MoveCollection &allowed_moves) |
Randomly selects move from collection of allowed moves. | |
void | NotifyIllegalMove () |
![]() | |
virtual gameboard::Move | SelectMove (const gameboard::MoveCollection &allowed_moves)=0 |
virtual void | NotifyIllegalMove ()=0 |
virtual const std::optional< moveselection::SearchSummaries > | search_summaries () const |
virtual | ~MoveEvaluatorBase ()=default |
Static Public Member Functions | |
static std::unique_ptr< RandomMoveEvaluatorForConcepts > | Create (gameboard::PieceColor evaluating_player) |
Instantiates RandomMoveEvaluatorForConcepts in heap. | |
Private Member Functions | |
RandomMoveEvaluatorForConcepts (gameboard::PieceColor evaluating_player) | |
Constructor is private to force use of static Create method. | |
Private Attributes | |
gameboard::PieceColor | evaluating_player_ |
std::mt19937_64 | prng_ |
Complies with MoveEvaluatorConcept.
Randomly chooses one of legal moves available to moveselection::RandomMoveEvaluator.evaluating_player_.
Definition at line 18 of file move_evaluator_random_for_concepts.hpp.
|
private |
Constructor is private to force use of static Create method.
Definition at line 8 of file move_evaluator_random_for_concepts.cpp.
|
static |
Instantiates RandomMoveEvaluatorForConcepts in heap.
Definition at line 14 of file move_evaluator_random_for_concepts.cpp.
|
virtual |
Implements MoveEvaluatorBase.
Definition at line 30 of file move_evaluator_random_for_concepts.cpp.
|
virtual |
Randomly selects move from collection of allowed moves.
Implements MoveEvaluatorBase.
Definition at line 22 of file move_evaluator_random_for_concepts.cpp.
|
private |
Definition at line 19 of file move_evaluator_random_for_concepts.hpp.
|
private |
Definition at line 20 of file move_evaluator_random_for_concepts.hpp.