29 constexpr std::uint8_t OffBoardSquare = 41;
40 static_cast<std::int64_t
>(action.
action),
93 return static_cast<std::uint8_t
>(
152 static_cast<std::size_t
>(
162 static_cast<std::size_t
>(
278 startPendingBankPropertyAuction(
421 static_cast<std::size_t
>(
deck)
429 static_cast<std::int64_t
>(
deck),
490 static_cast<std::size_t
>(
495 static_cast<std::size_t
>(
644 if (current.currentSquare ==
647 ++current.turnsInJail;
760 std::uint8_t
dieA = 0;
761 std::uint8_t
dieB = 0;
773 static_cast<std::uint8_t
>(
774 std::clamp<std::int64_t>(
783 static_cast<std::uint8_t
>(
784 std::clamp<std::int64_t>(
814 const std::uint8_t
total =
815 static_cast<std::uint8_t
>(
888 static_cast<std::uint8_t
>(
895 static_cast<std::uint8_t
>(
1013 static_cast<std::uint8_t
>(
1020 const std::uint8_t
card =
1110 static_cast<std::uint8_t
>(
1172 static_cast<std::uint8_t
>(
1357 static_cast<std::size_t
>(
@ NotifyBuyOrAuctionDecision
@ NotifyFlatOrFractionTaxDecision
constexpr std::int64_t ErrorPlayerCheating
std::size_t currentQueueSize()
bool sendAction(const actions::Message &message)
const SquareDefinition & definition(SquareType square)
bool isOwnable(SquareType square)
void resetFreshUnconditional(GameState &state)
void landOnLuxuryTax(GameState &state)
void landOnFreeParking(GameState &state)
void collectRent(GameState &state)
void landOnIncomeTax(GameState &state)
void declareWinner(GameState &state)
bool shouldEndGame(const GameState &state)
bool pop(GameState &state)
const PendingPhase & current(const GameState &state)
bool push(GameState &state, GamePhase phase, PlayerNumber fromPlayer, PlayerNumber toPlayer, std::int64_t amount)
void switchTo(GameState &state, GamePhase phase, PlayerNumber fromPlayer, PlayerNumber toPlayer, std::int64_t amount)
void sendNextMove(GameState &state)
std::mt19937 & generator()
void wrongPlayer(const GameState &state, const actions::Message &message)
void wrongPhase(const GameState &state, const actions::Message &message)
void recordDiceRoll(GameState &state, std::uint8_t dieA, std::uint8_t dieB)
void restart(GameState &state)
void actionEndTurn(GameState &state, const actions::Message &message)
void actionMoveForwards(GameState &state, const actions::Message &message)
void actionJumpToSquare(GameState &state, const actions::Message &message)
void actionStartTurn(GameState &state, const actions::Message &message)
void actionMoveBackwards(GameState &state, const actions::Message &message)
void onIdleTick(GameState &state)
bool restartGameplayPhase(GameState &state, const actions::Message &message)
void actionRollDice(GameState &state, const actions::Message &message)
void actionLandedOnSquare(GameState &state, const actions::Message &message)
@ FlatOrFractionTaxDecision
@ JailRollOrPayOrCardDecision
constexpr PlayerNumber BankPlayer
std::uint8_t PlayerNumber
constexpr std::size_t SquareCount
const GameState & state()
constexpr PlayerNumber MaxPlayers
constexpr PlayerNumber NobodyPlayer
constexpr PlayerNumber AllPlayers
rules::PlayerNumber fromPlayer
std::array< std::uint8_t, MaxCardsInDeck > cardPile
std::array< std::uint8_t, 2 > dice
PlayerNumber currentPlayer
std::array< CardDeck, static_cast< std::size_t >(DeckType::Count) > cards
std::uint8_t numberOfDoublesRolled
PlayerNumber numberOfPlayers
std::array< SquareState, SquareCount > squares
std::array< std::uint8_t, 2 > utilityDice
std::array< std::uint8_t, 2 > nextDice
std::uint8_t numberOfPendingPhases
std::array< PlayerState, MaxPlayers > players
std::uint8_t currentSquare
std::int64_t purchaseCost