liarsdice::ai::AIPlayer class

Base classes

class liarsdice::core::Player

Derived classes

class EasyAI
class EasyAIStrategy
Easy AI Strategy with configurable parameters.
class HardAI
class MediumAI
class MediumAIStrategy
Medium AI Strategy with statistical analysis.

Public types

struct Strategy

Constructors, destructors, conversion operators

AIPlayer(unsigned int id, const std::string& name, const Strategy& strategy)

Public functions

auto make_guess(const std::optional<core::Guess>& last_guess) -> core::Guess override
auto decide_call_liar(const core::Guess& last_guess) -> bool override

Protected functions

auto calculate_probability(const core::Guess& guess, size_t total_dice) const -> double
auto generate_safe_guess(const std::optional<core::Guess>& last_guess) const -> core::Guess
auto generate_bluff_guess(const std::optional<core::Guess>& last_guess) const -> core::Guess
void simulate_thinking() const

Protected variables

Strategy strategy_
boost::random::mt19937 rng_
boost::random::uniform_real_distribution probability_dist_
boost::random::uniform_int_distribution face_dist_