Game of Ur
0.3.3
This is a computer adaptation of Game of Ur, written in C++ mainly using SDL and OpenGL.
Toggle main menu visibility
Loading...
Searching...
No Matches
ur_player_cpu_random.hpp
Go to the documentation of this file.
1
11
12
#ifndef ZOAPPPLAYERCPURANDOM_H
13
#define ZOAPPPLAYERCPURANDOM_H
14
15
#include <random>
16
17
#include <toymaker/engine/sim_system.hpp>
18
19
#include "
ur_controller.hpp
"
20
26
class
PlayerCPURandom:
public
ToyMaker::SimObjectAspect<PlayerCPURandom> {
27
public
:
28
PlayerCPURandom(): SimObjectAspect<PlayerCPURandom>{0} {}
29
inline
static
std::string getSimObjectAspectTypeName() {
return
"UrPlayerCPURandom"
; }
30
static
std::shared_ptr<BaseSimObjectAspect> create(
const
nlohmann::json& jsonAspectProperties);
31
std::shared_ptr<BaseSimObjectAspect> clone()
const override
;
32
33
private
:
38
std::string
mControllerPath
{};
39
46
std::unique_ptr<UrPlayerControls>
mControls
{};
47
52
std::random_device
mRandomDevice
{};
53
58
std::default_random_engine
mRandomEngine
{
mRandomDevice
() };
59
64
void
onActivated
()
override
;
65
71
void
onMovePrompted
(
GamePhaseData
phaseData);
72
77
ToyMaker::SignalObserver<GamePhaseData>
mObserveMovePrompted
{ *
this
,
"MovePromptedObserved"
, [
this
](
GamePhaseData
phaseData) { this->
onMovePrompted
(phaseData); }};
78
public
:
79
};
80
81
#endif
PlayerCPURandom::mObserveMovePrompted
ToyMaker::SignalObserver< GamePhaseData > mObserveMovePrompted
The observer connected with this aspect, responsible for receiving and responding to move prompt even...
Definition
ur_player_cpu_random.hpp:77
PlayerCPURandom::onMovePrompted
void onMovePrompted(GamePhaseData phaseData)
Callback for an event from GameOfUrController, prompting this player for a new game-related action.
Definition
ur_player_cpu_random.cpp:25
PlayerCPURandom::mRandomDevice
std::random_device mRandomDevice
The device responsible for providing this class with random numbers.
Definition
ur_player_cpu_random.hpp:52
PlayerCPURandom::onActivated
void onActivated() override
Broadcasts its existence to UrController and receives in exchange an instance of UrPlayerControls.
Definition
ur_player_cpu_random.cpp:16
PlayerCPURandom::mRandomEngine
std::default_random_engine mRandomEngine
An engine using the random device.
Definition
ur_player_cpu_random.hpp:58
PlayerCPURandom::mControllerPath
std::string mControllerPath
The path to the game controller this player interfaces with.
Definition
ur_player_cpu_random.hpp:38
PlayerCPURandom::mControls
std::unique_ptr< UrPlayerControls > mControls
The controls object created by the game controller.
Definition
ur_player_cpu_random.hpp:46
GamePhaseData
Data returned by GameOfUrModel when queried about the current phase of the game.
Definition
model.hpp:112
ur_controller.hpp
Contains the class definition for UrController, the aspect responsible for managing and reporting the...
src
app
ur_player_cpu_random.hpp
Generated on
for Game of Ur by
1.17.0