21 std::array<rules::board::SquareType, 4>
squares{};
58 inline constexpr std::array<rules::board::SquareType, 8>
132 std::int64_t moneyOwed = 0)
noexcept;
135 rules::PlayerNumber excludedPlayer,
158 rules::board::SquareType square)
noexcept;
160 rules::board::SquareType square)
noexcept;
162 rules::board::SquareType square)
noexcept;
165 rules::PlayerNumber player,
172 rules::PlayerNumber player,
178 rules::PlayerNumber player)
noexcept;
181 rules::PlayerNumber player)
noexcept;
186 rules::PlayerNumber player)
noexcept;
190 rules::board::PropertySet properties)
noexcept;
195 rules::board::SquareType::Go)
noexcept;
198 std::
size_t playerCount,
201 rules::board::PropertySet properties,
205 rules::PlayerNumber player,
211 rules::PlayerNumber player)
noexcept;
213 rules::GameState&
state,
218 rules::PlayerNumber player,
219 rules::board::PropertySet properties)
noexcept;
222 rules::PlayerNumber player,
223 rules::board::PropertySet properties,
227 rules::PlayerNumber player,
std::array< rules::PlayerNumber, rules::MaxPlayers > players
double averageRentReceived(const rules::GameState &state, rules::PlayerNumber player, std::int64_t startSquare, bool dontCountDevelopedMonopolies, double cashCowMultiplier, rules::board::PropertySet propertiesOwned) noexcept
MonopolyStage monopolyStage(const rules::GameState &state, rules::PlayerNumber player) noexcept
std::int64_t potentialIncome(const rules::GameState &state, rules::PlayerNumber player) noexcept
bool someoneCloseToMonopoly(const rules::GameState &state, rules::PlayerNumber player, const MonopolyLots &monopoly, std::int64_t minDistance, std::int64_t maxDistance) noexcept
int housesOnMonopoly(const rules::GameState &state, SquareType square) noexcept
MonopolyLots monopolyLots(SquareType square) noexcept
std::uint8_t freeHouses(const rules::GameState &state) noexcept
int propertyCount(rules::board::PropertySet properties) noexcept
std::int64_t minimumCalculatedExpenses(const rules::GameState &state, rules::PlayerNumber player) noexcept
double landingFrequency(SquareType square) noexcept
bool playerOwnsMonopoly(const rules::GameState &state, rules::PlayerNumber player, bool countBaltic) noexcept
std::size_t removePlayersFromList(std::span< rules::PlayerNumber > players, std::size_t playerCount, std::span< const rules::PlayerNumber > remove) noexcept
rules::board::PropertySet monopolySet(SquareType square) noexcept
bool isCashCow(SquareType square) noexcept
bool testForMonopoly(rules::board::PropertySet properties, SquareType square) noexcept
bool ownsMonopoly(const rules::GameState &state, rules::PlayerNumber player, SquareType square, bool mortgageCounts) noexcept
constexpr int SadReactionRent
SquareType findLowestRentProperty(const rules::GameState &state, rules::PlayerNumber player, rules::board::PropertySet properties) noexcept
constexpr int CriticalUnownedSquares
std::int64_t rentIfSteppedOn(const rules::GameState &state, SquareType square, rules::board::PropertySet propertiesOwned) noexcept
int numberRailroadsUtilitiesOwned(const rules::GameState &state, rules::PlayerNumber player, SquareGroup group, bool mortgageCounts, rules::board::PropertySet propertiesOwned) noexcept
void testSellHouses(rules::GameState &state, const MonopolyLots &monopoly, SquareType testSquare) noexcept
rules::board::PropertySet xorProperties(rules::board::PropertySet properties, std::span< const rules::board::SquareType > squares) noexcept
std::int64_t mostLiquidAssets(const rules::GameState &state, rules::PlayerNumber excludedPlayer, bool countMonopolies, std::span< const std::int64_t > moneyOwed) noexcept
std::int64_t totalWorth(const rules::GameState &state, rules::PlayerNumber player) noexcept
int monopoliesBetweenPlayers(const rules::GameState &state, std::span< const rules::PlayerNumber > players, rules::board::SquareType extraProperty) noexcept
int monopoliesInSet(rules::board::PropertySet properties) noexcept
int propertiesLeftToBuy(const rules::GameState &state) noexcept
std::int64_t liquidAssets(const rules::GameState &state, rules::PlayerNumber player, bool countHouses, bool countMonopolies, std::int64_t moneyOwed) noexcept
bool isMonopoly(const rules::GameState &state, SquareType square) noexcept
bool housingShortage(const rules::GameState &state, std::uint8_t criticalLevel) noexcept
constexpr std::array< rules::board::SquareType, 8 > ExpensiveMonopolySquares
std::int64_t liquidAssetsForProperties(const rules::GameState &state, rules::board::PropertySet properties, bool countHouses, bool countMonopolies) noexcept
rules::PlayerNumber firstOwnerInMonopoly(const rules::GameState &state, SquareType square) noexcept
bool playerCloseToProperty(const rules::GameState &state, rules::PlayerNumber ignorePlayer, SquareType property, std::int64_t minDistance, std::int64_t maxDistance) noexcept
HighestRentResult highestRentSquare(const rules::GameState &state, rules::PlayerNumber player) noexcept
MonopolyCollection monopoliesOwned(const rules::GameState &state, rules::PlayerNumber player, bool mortgageCounts) noexcept
bool anyMonopoly(const rules::GameState &state) noexcept
std::int64_t averageRentPaid(const rules::GameState &state, rules::PlayerNumber player, std::int64_t startSquare, bool considerDevelopedMonopolies, double cashCowMultiplier) noexcept
rules::PlayerNumber bestCurrentRent(const rules::GameState &state) noexcept
std::uint8_t freeHotels(const rules::GameState &state) noexcept
std::int64_t costUnmortgageMonopoly(const rules::GameState &state, SquareType square) noexcept
std::int64_t housesCanBuyOnMonopoly(const rules::GameState &state, SquareType square) noexcept
GroupRange groupRange(SquareGroup group) noexcept
SquareType findHighestRentMortgaged(const rules::GameState &state, rules::PlayerNumber player, rules::board::PropertySet properties, std::int64_t topUnmortgageCost) noexcept
rules::board::PropertySet propertiesOwnedByPlayer(const rules::GameState &state, rules::PlayerNumber player) noexcept
TokenReaction squareMoveReaction(const rules::GameState &state, rules::PlayerNumber player, SquareType landSquare, rules::CardType card) noexcept
bool ownsPropertyFromMonopoly(const rules::GameState &state, rules::PlayerNumber player, SquareType square) noexcept
constexpr int HappyReactionRent
rules::PlayerNumber mostExpensivePotentialIncome(const rules::GameState &state) noexcept
constexpr int AngryReactionRent
std::uint32_t PropertySet
std::uint8_t PlayerNumber
std::uint8_t endExclusive
rules::board::SquareType square
std::array< rules::board::SquareType, 8 > representatives
std::array< rules::board::SquareType, 4 > squares