22 constexpr std::uint8_t ReadingRailroad = 5;
23 constexpr std::uint8_t StCharlesPlace = 11;
24 constexpr std::uint8_t ElectricCompany = 12;
25 constexpr std::uint8_t PennsylvaniaRailroad = 15;
26 constexpr std::uint8_t IllinoisAvenue = 24;
27 constexpr std::uint8_t BAndORailroad = 25;
28 constexpr std::uint8_t WaterWorks = 28;
29 constexpr std::uint8_t ShortLineRailroad = 35;
30 constexpr std::uint8_t Boardwalk = 39;
31 constexpr std::uint8_t InJail = 40;
32 constexpr std::uint8_t OffBoard = 41;
54 const actions::Message& message)
60 static_cast<std::int64_t
>(
78 actions::Message message{};
80 message.action = type;
95 const GameState&
state,
119 static_cast<std::size_t
>(
182 static_cast<std::size_t
>(
188 if (
deck.jailOwner !=
214 deck.jailOfferedInTradeTo =
223 static_cast<std::int64_t
>(
316 const std::int64_t amount =
394 if (
other == current)
452 if (
other == current)
479 const GameState&
state)
565 static_cast<std::int64_t
>(
568 static_cast<std::int64_t
>(
728 transferGetOutOfJail(
1022 ShortLineRailroad ||
1031 PennsylvaniaRailroad)
1034 PennsylvaniaRailroad;
1081 static_cast<std::uint8_t
>(
1102 static_cast<std::int64_t
>(
@ NotifyJailCardOwnership
constexpr std::int64_t ErrorPropertyFees
constexpr std::int64_t ErrorUnimplementedCard
bool sendAction(const actions::Message &message)
const SquareDefinition & definition(SquareType square)
constexpr std::size_t MaxPropertyGroups
void returnToBottom(GameState &state, CardType card)
CardType dealFromTop(GameState &state, DeckType deck)
bool transferGetOutOfJail(GameState &state, PlayerNumber fromPlayer, PlayerNumber toPlayer, DeckType deckType)
void(*)(BankPayout) BankPayoutObserver
void actionCardSeen(GameState &state, const actions::Message &message)
void setBankPayoutObserver(BankPayoutObserver observer) noexcept
void blindlyTransferCash(GameState &state, PlayerNumber fromPlayer, PlayerNumber toPlayer, std::int64_t amount, bool sendAnimation)
void stackDebt(GameState &state, PlayerNumber fromPlayer, PlayerNumber toPlayer, std::int64_t amount)
void stackDebtAndRestart(GameState &state, PlayerNumber fromPlayer, PlayerNumber toPlayer, std::int64_t amount)
void addMoneyToFreeParkingPot(GameState &state, std::int64_t amount)
bool pop(GameState &state)
const PendingPhase & current(const GameState &state)
void switchTo(GameState &state, GamePhase phase, PlayerNumber fromPlayer, PlayerNumber toPlayer, std::int64_t amount)
void wrongPlayer(const GameState &state, const actions::Message &message)
void wrongPhase(const GameState &state, const actions::Message &message)
constexpr PlayerNumber BankPlayer
std::uint8_t PlayerNumber
constexpr std::size_t SquareCount
const GameState & state()
@ ChancePay25EachHouse100EachHotel
@ CommunityGoDirectlyToGo
@ CommunityGet50FromEachPlayer
@ ChanceGoToNearestUtility
@ CommunityGoDirectlyToJail
@ ChancePay50ToEachPlayer
@ CommunityGetOutOfJailFree
@ ChanceGoToIllinoisAvenue
@ ChanceGoToStCharlesPlace
@ ChanceGoToNearestRailroadPayDouble2
@ CommunityGet200FromBank
@ ChanceGoToReadingRailroad
@ CommunityPay40EachHouse115EachHotel
@ ChanceGoToNearestRailroadPayDouble1
@ ChanceGoBackThreeSpaces
@ CommunityGet100FromBank1
@ CommunityGet100FromBank3
@ CommunityGet100FromBank2
constexpr PlayerNumber MaxPlayers
constexpr PlayerNumber NobodyPlayer
constexpr PlayerNumber AllPlayers
rules::PlayerNumber fromPlayer
PlayerNumber currentPlayer
std::array< CardDeck, static_cast< std::size_t >(DeckType::Count) > cards
PlayerNumber numberOfPlayers
std::array< SquareState, SquareCount > squares
std::array< PlayerState, MaxPlayers > players
std::uint8_t currentSquare