|
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 () |
Public Member Functions inherited from MoveEvaluatorBase | |
| 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.