22 [[
nodiscard]]
int propertyForSale(std::int64_t square)
noexcept
33 state.backdropCenterX.fill(0);
38 for (
int player = 0; player <
count; ++player)
39 state.backdropCenterX[
static_cast<std::size_t
>(player)] =
59 if (message.numberC ==
static_cast<std::int64_t
>(
63 state.rollCallSerial = message.numberB;
73 state.highestBid = message.numberB;
80 switch (message.numberD)
84 state.pennyBagsSwitch =
true;
88 state.pennyBagsSwitch =
true;
92 state.pennyBagsSwitch =
true;
93 state.thirdGoingReceived =
true;
105 state.highestBidder.reset();
107 state.propertyForSale = propertyForSale(message.numberC);
110 state.thirdGoingReceived)
115 state.pennyBagsSwitch =
true;
116 state.thirdGoingReceived =
false;
118 update.auctionStarted =
true;
123 if (message.numberA >= 0 &&
128 state.highestBidder = player;
130 state.pennyBagsSwitch =
true;
145 return (
state.playersAllowedToBid & (1u << player)) != 0;
159 const int x =
static_cast<int>(message.numberA);
160 const int y =
static_cast<int>(message.numberB);
164 const auto count = std::min<rules::PlayerNumber>(
168 const auto bit = 1u << player;
175 for (std::uint8_t
bill = 0;
182 if (
state.highestBid >
183 std::numeric_limits<std::int64_t>::max() -
increment)
std::atomic< float > left
std::atomic< float > right
constexpr int BillTrayWidth
constexpr std::size_t BillCount
constexpr int BackdropBigWidth
constexpr int BackdropSmallWidth
bool playerPanelWanted(const State &state, rules::PlayerNumber numberOfPlayers, display::Screen2D desiredView, rules::PlayerNumber player) noexcept
std::optional< BidRequest > planBid(const State &state, rules::PlayerNumber numberOfPlayers, display::Screen2D desiredView, const uimsg::Message &message, std::uint32_t localHumanMask) noexcept
void reset(State &state) noexcept
RuleUpdate processRuleMessage(State &state, const rules::GameState &gameState, const actions::Message &message, display::Screen2D desiredView) noexcept
constexpr std::array< std::int64_t, BillCount > BillDenominations
int propertyIndex(int square) noexcept
constexpr PlayerNumber BankPlayer
std::uint8_t PlayerNumber
constexpr std::size_t SquareCount
constexpr PlayerNumber MaxPlayers