Monopoly — Portage moderne 0.1.0
Portage moderne C/C++23 du Monopoly de 1999
Loading...
Searching...
No Matches
monopoly::ai Namespace Reference

Namespaces

namespace  decision
 
namespace  profile
 
namespace  save
 
namespace  trade
 

Classes

struct  GroupRange
 
struct  HighestRentResult
 
struct  MonopolyCollection
 
struct  MonopolyLots
 

Enumerations

enum class  MonopolyStage : std::uint8_t { Buying = 0 , NoMonopolies , MonopoliesNotOwnOne , MonopoliesOwnOne }
 
enum class  TokenReaction : std::uint8_t { Happy = 0 , Sad , Neutral , Angry }
 

Functions

std::expected< void, profile::Error > initializeMessageIngressProfiles (const std::filesystem::path &directory)
 
void resetMessageIngress () noexcept
 
void processMessage (const rules::GameState &state, const actions::Message &message) noexcept
 
const trade::TradeIngressState & tradeIngressStateReadOnly () noexcept
 
const profile::RuntimeState & profileRuntimeStateReadOnly () noexcept
 
GroupRange groupRange (SquareGroup group) noexcept
 
rules::board::PropertySet propertiesOwnedByPlayer (const rules::GameState &state, rules::PlayerNumber player) noexcept
 
rules::board::PropertySet monopolySet (SquareType square) noexcept
 
int propertyCount (rules::board::PropertySet properties) noexcept
 
bool testForMonopoly (rules::board::PropertySet properties, SquareType square) noexcept
 
MonopolyLots monopolyLots (SquareType square) noexcept
 
int housesOnMonopoly (const rules::GameState &state, SquareType square) noexcept
 
bool isMonopoly (const rules::GameState &state, SquareType square) noexcept
 
bool ownsMonopoly (const rules::GameState &state, rules::PlayerNumber player, SquareType square, bool mortgageCounts) noexcept
 
bool playerOwnsMonopoly (const rules::GameState &state, rules::PlayerNumber player, bool countBaltic) noexcept
 
bool anyMonopoly (const rules::GameState &state) noexcept
 
bool ownsPropertyFromMonopoly (const rules::GameState &state, rules::PlayerNumber player, SquareType square) noexcept
 
rules::PlayerNumber firstOwnerInMonopoly (const rules::GameState &state, SquareType square) noexcept
 
int numberRailroadsUtilitiesOwned (const rules::GameState &state, rules::PlayerNumber player, SquareGroup group, bool mortgageCounts, rules::board::PropertySet propertiesOwned) noexcept
 
std::int64_t rentIfSteppedOn (const rules::GameState &state, SquareType square, rules::board::PropertySet propertiesOwned) noexcept
 
std::uint8_t freeHouses (const rules::GameState &state) noexcept
 
std::uint8_t freeHotels (const rules::GameState &state) noexcept
 
bool housingShortage (const rules::GameState &state, std::uint8_t criticalLevel) noexcept
 
std::int64_t liquidAssetsForProperties (const rules::GameState &state, rules::board::PropertySet properties, bool countHouses, bool countMonopolies) noexcept
 
std::int64_t liquidAssets (const rules::GameState &state, rules::PlayerNumber player, bool countHouses, bool countMonopolies, std::int64_t moneyOwed) 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
 
std::int64_t housesCanBuyOnMonopoly (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
 
bool someoneCloseToMonopoly (const rules::GameState &state, rules::PlayerNumber player, const MonopolyLots &monopoly, std::int64_t minDistance, std::int64_t maxDistance) noexcept
 
std::int64_t costUnmortgageMonopoly (const rules::GameState &state, SquareType square) noexcept
 
bool isCashCow (SquareType square) noexcept
 
double landingFrequency (SquareType square) noexcept
 
double averageRentReceived (const rules::GameState &state, rules::PlayerNumber player, std::int64_t startSquare, bool dontCountDevelopedMonopolies, double cashCowMultiplier, rules::board::PropertySet propertiesOwned) noexcept
 
std::int64_t averageRentPaid (const rules::GameState &state, rules::PlayerNumber player, std::int64_t startSquare, bool considerDevelopedMonopolies, double cashCowMultiplier) noexcept
 
std::int64_t minimumCalculatedExpenses (const rules::GameState &state, rules::PlayerNumber player) noexcept
 
std::int64_t potentialIncome (const rules::GameState &state, rules::PlayerNumber player) noexcept
 
rules::PlayerNumber mostExpensivePotentialIncome (const rules::GameState &state) noexcept
 
HighestRentResult highestRentSquare (const rules::GameState &state, rules::PlayerNumber player) noexcept
 
rules::PlayerNumber bestCurrentRent (const rules::GameState &state) noexcept
 
int monopoliesInSet (rules::board::PropertySet properties) noexcept
 
int monopoliesBetweenPlayers (const rules::GameState &state, std::span< const rules::PlayerNumber > players, rules::board::SquareType extraProperty) noexcept
 
std::size_t removePlayersFromList (std::span< rules::PlayerNumber > players, std::size_t playerCount, std::span< const rules::PlayerNumber > remove) noexcept
 
rules::board::PropertySet xorProperties (rules::board::PropertySet properties, std::span< const rules::board::SquareType > squares) noexcept
 
MonopolyCollection monopoliesOwned (const rules::GameState &state, rules::PlayerNumber player, bool mortgageCounts) noexcept
 
int propertiesLeftToBuy (const rules::GameState &state) noexcept
 
MonopolyStage monopolyStage (const rules::GameState &state, rules::PlayerNumber player) noexcept
 
void testSellHouses (rules::GameState &state, const MonopolyLots &monopoly, SquareType testSquare) noexcept
 
SquareType findLowestRentProperty (const rules::GameState &state, rules::PlayerNumber player, rules::board::PropertySet properties) noexcept
 
SquareType findHighestRentMortgaged (const rules::GameState &state, rules::PlayerNumber player, rules::board::PropertySet properties, std::int64_t topUnmortgageCost) noexcept
 
TokenReaction squareMoveReaction (const rules::GameState &state, rules::PlayerNumber player, SquareType landSquare, rules::CardType card) noexcept
 
GroupRange groupRange (rules::board::SquareGroup group) noexcept
 
rules::board::PropertySet monopolySet (rules::board::SquareType square) noexcept
 
bool testForMonopoly (rules::board::PropertySet properties, rules::board::SquareType square) noexcept
 
MonopolyLots monopolyLots (rules::board::SquareType square) noexcept
 
int housesOnMonopoly (const rules::GameState &state, rules::board::SquareType square) noexcept
 
bool isMonopoly (const rules::GameState &state, rules::board::SquareType square) noexcept
 
bool ownsMonopoly (const rules::GameState &state, rules::PlayerNumber player, rules::board::SquareType square, bool mortgageCounts) noexcept
 
bool ownsPropertyFromMonopoly (const rules::GameState &state, rules::PlayerNumber player, rules::board::SquareType square) noexcept
 
rules::PlayerNumber firstOwnerInMonopoly (const rules::GameState &state, rules::board::SquareType square) noexcept
 
int numberRailroadsUtilitiesOwned (const rules::GameState &state, rules::PlayerNumber player, rules::board::SquareGroup group, bool mortgageCounts, rules::board::PropertySet propertiesOwned) noexcept
 
std::int64_t rentIfSteppedOn (const rules::GameState &state, rules::board::SquareType square, rules::board::PropertySet propertiesOwned) noexcept
 
std::int64_t housesCanBuyOnMonopoly (const rules::GameState &state, rules::board::SquareType square) noexcept
 
bool playerCloseToProperty (const rules::GameState &state, rules::PlayerNumber ignorePlayer, rules::board::SquareType property, std::int64_t minDistance, std::int64_t maxDistance) noexcept
 
std::int64_t costUnmortgageMonopoly (const rules::GameState &state, rules::board::SquareType square) noexcept
 
bool isCashCow (rules::board::SquareType square) noexcept
 
double landingFrequency (rules::board::SquareType square) noexcept
 
void testSellHouses (rules::GameState &state, const MonopolyLots &monopoly, rules::board::SquareType testSquare) noexcept
 
TokenReaction squareMoveReaction (const rules::GameState &state, rules::PlayerNumber player, rules::board::SquareType landSquare, rules::CardType card=rules::CardType::None) noexcept
 

Variables

constexpr int HappyReactionRent = 250
 
constexpr int SadReactionRent = 100
 
constexpr int AngryReactionRent = 500
 
constexpr int CriticalUnownedSquares = 2
 
constexpr std::array< rules::board::SquareType, 8 > ExpensiveMonopolySquares
 

Enumeration Type Documentation

◆ MonopolyStage

enum class monopoly::ai::MonopolyStage : std::uint8_t
strong
Enumerator
Buying 
NoMonopolies 
MonopoliesNotOwnOne 
MonopoliesOwnOne 

Definition at line 37 of file AIUtility.hpp.

◆ TokenReaction

enum class monopoly::ai::TokenReaction : std::uint8_t
strong
Enumerator
Happy 
Sad 
Neutral 
Angry 

Definition at line 45 of file AIUtility.hpp.

Function Documentation

◆ anyMonopoly()

bool monopoly::ai::anyMonopoly ( const rules::GameState &  state)
noexcept

Definition at line 221 of file AIUtility.cpp.

◆ averageRentPaid()

std::int64_t monopoly::ai::averageRentPaid ( const rules::GameState &  state,
rules::PlayerNumber  player,
std::int64_t  startSquare,
bool  considerDevelopedMonopolies,
double  cashCowMultiplier 
)
noexcept

Definition at line 540 of file AIUtility.cpp.

◆ averageRentReceived()

double monopoly::ai::averageRentReceived ( const rules::GameState &  state,
rules::PlayerNumber  player,
std::int64_t  startSquare,
bool  dontCountDevelopedMonopolies,
double  cashCowMultiplier,
rules::board::PropertySet  propertiesOwned 
)
noexcept

Definition at line 513 of file AIUtility.cpp.

◆ bestCurrentRent()

rules::PlayerNumber monopoly::ai::bestCurrentRent ( const rules::GameState &  state)
noexcept

Definition at line 661 of file AIUtility.cpp.

◆ costUnmortgageMonopoly() [1/2]

std::int64_t monopoly::ai::costUnmortgageMonopoly ( const rules::GameState &  state,
rules::board::SquareType  square 
)
noexcept

◆ costUnmortgageMonopoly() [2/2]

std::int64_t monopoly::ai::costUnmortgageMonopoly ( const rules::GameState &  state,
SquareType  square 
)
noexcept

Definition at line 484 of file AIUtility.cpp.

◆ findHighestRentMortgaged()

rules::board::SquareType monopoly::ai::findHighestRentMortgaged ( const rules::GameState &  state,
rules::PlayerNumber  player,
rules::board::PropertySet  properties,
std::int64_t  topUnmortgageCost 
)
noexcept

Definition at line 880 of file AIUtility.cpp.

◆ findLowestRentProperty()

rules::board::SquareType monopoly::ai::findLowestRentProperty ( const rules::GameState &  state,
rules::PlayerNumber  player,
rules::board::PropertySet  properties 
)
noexcept

Definition at line 840 of file AIUtility.cpp.

◆ firstOwnerInMonopoly() [1/2]

rules::PlayerNumber monopoly::ai::firstOwnerInMonopoly ( const rules::GameState &  state,
rules::board::SquareType  square 
)
noexcept

◆ firstOwnerInMonopoly() [2/2]

rules::PlayerNumber monopoly::ai::firstOwnerInMonopoly ( const rules::GameState &  state,
SquareType  square 
)
noexcept

Definition at line 239 of file AIUtility.cpp.

◆ freeHotels()

std::uint8_t monopoly::ai::freeHotels ( const rules::GameState &  state)
noexcept

Definition at line 326 of file AIUtility.cpp.

◆ freeHouses()

std::uint8_t monopoly::ai::freeHouses ( const rules::GameState &  state)
noexcept

Definition at line 312 of file AIUtility.cpp.

◆ groupRange() [1/2]

GroupRange monopoly::ai::groupRange ( rules::board::SquareGroup  group)
noexcept

◆ groupRange() [2/2]

GroupRange monopoly::ai::groupRange ( SquareGroup  group)
noexcept

Definition at line 41 of file AIUtility.cpp.

◆ highestRentSquare()

HighestRentResult monopoly::ai::highestRentSquare ( const rules::GameState &  state,
rules::PlayerNumber  player 
)
noexcept

Definition at line 633 of file AIUtility.cpp.

◆ housesCanBuyOnMonopoly() [1/2]

std::int64_t monopoly::ai::housesCanBuyOnMonopoly ( const rules::GameState &  state,
rules::board::SquareType  square 
)
noexcept

◆ housesCanBuyOnMonopoly() [2/2]

std::int64_t monopoly::ai::housesCanBuyOnMonopoly ( const rules::GameState &  state,
SquareType  square 
)
noexcept

Definition at line 435 of file AIUtility.cpp.

◆ housesOnMonopoly() [1/2]

int monopoly::ai::housesOnMonopoly ( const rules::GameState &  state,
rules::board::SquareType  square 
)
noexcept

◆ housesOnMonopoly() [2/2]

int monopoly::ai::housesOnMonopoly ( const rules::GameState &  state,
SquareType  square 
)
noexcept

Definition at line 132 of file AIUtility.cpp.

◆ housingShortage()

bool monopoly::ai::housingShortage ( const rules::GameState &  state,
std::uint8_t  criticalLevel 
)
noexcept

Definition at line 338 of file AIUtility.cpp.

◆ initializeMessageIngressProfiles()

std::expected< void, profile::Error > monopoly::ai::initializeMessageIngressProfiles ( const std::filesystem::path &  directory)

Definition at line 1806 of file AIMessageIngress.cpp.

◆ isCashCow() [1/2]

bool monopoly::ai::isCashCow ( rules::board::SquareType  square)
noexcept

◆ isCashCow() [2/2]

bool monopoly::ai::isCashCow ( SquareType  square)
noexcept

Definition at line 501 of file AIUtility.cpp.

◆ isMonopoly() [1/2]

bool monopoly::ai::isMonopoly ( const rules::GameState &  state,
rules::board::SquareType  square 
)
noexcept

◆ isMonopoly() [2/2]

bool monopoly::ai::isMonopoly ( const rules::GameState &  state,
SquareType  square 
)
noexcept

Definition at line 148 of file AIUtility.cpp.

◆ landingFrequency() [1/2]

double monopoly::ai::landingFrequency ( rules::board::SquareType  square)
noexcept

◆ landingFrequency() [2/2]

double monopoly::ai::landingFrequency ( SquareType  square)
noexcept

Definition at line 507 of file AIUtility.cpp.

◆ liquidAssets()

std::int64_t monopoly::ai::liquidAssets ( const rules::GameState &  state,
rules::PlayerNumber  player,
bool  countHouses,
bool  countMonopolies,
std::int64_t  moneyOwed 
)
noexcept

Definition at line 377 of file AIUtility.cpp.

◆ liquidAssetsForProperties()

std::int64_t monopoly::ai::liquidAssetsForProperties ( const rules::GameState &  state,
rules::board::PropertySet  properties,
bool  countHouses,
bool  countMonopolies 
)
noexcept

Definition at line 345 of file AIUtility.cpp.

◆ minimumCalculatedExpenses()

std::int64_t monopoly::ai::minimumCalculatedExpenses ( const rules::GameState &  state,
rules::PlayerNumber  player 
)
noexcept

Definition at line 576 of file AIUtility.cpp.

◆ monopoliesBetweenPlayers()

int monopoly::ai::monopoliesBetweenPlayers ( const rules::GameState &  state,
std::span< const rules::PlayerNumber >  players,
rules::board::SquareType  extraProperty 
)
noexcept

Definition at line 692 of file AIUtility.cpp.

◆ monopoliesInSet()

int monopoly::ai::monopoliesInSet ( rules::board::PropertySet  properties)
noexcept

Definition at line 680 of file AIUtility.cpp.

◆ monopoliesOwned()

MonopolyCollection monopoly::ai::monopoliesOwned ( const rules::GameState &  state,
rules::PlayerNumber  player,
bool  mortgageCounts 
)
noexcept

Definition at line 737 of file AIUtility.cpp.

◆ monopolyLots() [1/2]

MonopolyLots monopoly::ai::monopolyLots ( rules::board::SquareType  square)
noexcept

◆ monopolyLots() [2/2]

MonopolyLots monopoly::ai::monopolyLots ( SquareType  square)
noexcept

Definition at line 108 of file AIUtility.cpp.

◆ monopolySet() [1/2]

rules::board::PropertySet monopoly::ai::monopolySet ( rules::board::SquareType  square)
noexcept

◆ monopolySet() [2/2]

rules::board::PropertySet monopoly::ai::monopolySet ( SquareType  square)
noexcept

Definition at line 63 of file AIUtility.cpp.

◆ monopolyStage()

MonopolyStage monopoly::ai::monopolyStage ( const rules::GameState &  state,
rules::PlayerNumber  player 
)
noexcept

Definition at line 767 of file AIUtility.cpp.

◆ mostExpensivePotentialIncome()

rules::PlayerNumber monopoly::ai::mostExpensivePotentialIncome ( const rules::GameState &  state)
noexcept

Definition at line 616 of file AIUtility.cpp.

◆ mostLiquidAssets()

std::int64_t monopoly::ai::mostLiquidAssets ( const rules::GameState &  state,
rules::PlayerNumber  excludedPlayer,
bool  countMonopolies,
std::span< const std::int64_t >  moneyOwed 
)
noexcept

Definition at line 392 of file AIUtility.cpp.

◆ numberRailroadsUtilitiesOwned() [1/2]

int monopoly::ai::numberRailroadsUtilitiesOwned ( const rules::GameState &  state,
rules::PlayerNumber  player,
rules::board::SquareGroup  group,
bool  mortgageCounts,
rules::board::PropertySet  propertiesOwned 
)
noexcept

◆ numberRailroadsUtilitiesOwned() [2/2]

int monopoly::ai::numberRailroadsUtilitiesOwned ( const rules::GameState &  state,
rules::PlayerNumber  player,
SquareGroup  group,
bool  mortgageCounts,
rules::board::PropertySet  propertiesOwned 
)
noexcept

Definition at line 255 of file AIUtility.cpp.

◆ ownsMonopoly() [1/2]

bool monopoly::ai::ownsMonopoly ( const rules::GameState &  state,
rules::PlayerNumber  player,
rules::board::SquareType  square,
bool  mortgageCounts 
)
noexcept

◆ ownsMonopoly() [2/2]

bool monopoly::ai::ownsMonopoly ( const rules::GameState &  state,
rules::PlayerNumber  player,
SquareType  square,
bool  mortgageCounts 
)
noexcept

Definition at line 172 of file AIUtility.cpp.

◆ ownsPropertyFromMonopoly() [1/2]

bool monopoly::ai::ownsPropertyFromMonopoly ( const rules::GameState &  state,
rules::PlayerNumber  player,
rules::board::SquareType  square 
)
noexcept

◆ ownsPropertyFromMonopoly() [2/2]

bool monopoly::ai::ownsPropertyFromMonopoly ( const rules::GameState &  state,
rules::PlayerNumber  player,
SquareType  square 
)
noexcept

Definition at line 231 of file AIUtility.cpp.

◆ playerCloseToProperty() [1/2]

bool monopoly::ai::playerCloseToProperty ( const rules::GameState &  state,
rules::PlayerNumber  ignorePlayer,
rules::board::SquareType  property,
std::int64_t  minDistance,
std::int64_t  maxDistance 
)
noexcept

◆ playerCloseToProperty() [2/2]

bool monopoly::ai::playerCloseToProperty ( const rules::GameState &  state,
rules::PlayerNumber  ignorePlayer,
SquareType  property,
std::int64_t  minDistance,
std::int64_t  maxDistance 
)
noexcept

Definition at line 442 of file AIUtility.cpp.

◆ playerOwnsMonopoly()

bool monopoly::ai::playerOwnsMonopoly ( const rules::GameState &  state,
rules::PlayerNumber  player,
bool  countBaltic 
)
noexcept

Definition at line 203 of file AIUtility.cpp.

◆ potentialIncome()

std::int64_t monopoly::ai::potentialIncome ( const rules::GameState &  state,
rules::PlayerNumber  player 
)
noexcept

Definition at line 588 of file AIUtility.cpp.

◆ processMessage()

void monopoly::ai::processMessage ( const rules::GameState &  state,
const actions::Message &  message 
)
noexcept

Definition at line 1846 of file AIMessageIngress.cpp.

◆ profileRuntimeStateReadOnly()

const profile::RuntimeState & monopoly::ai::profileRuntimeStateReadOnly ( )
noexcept

Definition at line 1885 of file AIMessageIngress.cpp.

◆ propertiesLeftToBuy()

int monopoly::ai::propertiesLeftToBuy ( const rules::GameState &  state)
noexcept

Definition at line 751 of file AIUtility.cpp.

◆ propertiesOwnedByPlayer()

rules::board::PropertySet monopoly::ai::propertiesOwnedByPlayer ( const rules::GameState &  state,
rules::PlayerNumber  player 
)
noexcept

Definition at line 49 of file AIUtility.cpp.

◆ propertyCount()

int monopoly::ai::propertyCount ( rules::board::PropertySet  properties)
noexcept

Definition at line 77 of file AIUtility.cpp.

◆ removePlayersFromList()

std::size_t monopoly::ai::removePlayersFromList ( std::span< rules::PlayerNumber >  players,
std::size_t  playerCount,
std::span< const rules::PlayerNumber >  remove 
)
noexcept

Definition at line 704 of file AIUtility.cpp.

◆ rentIfSteppedOn() [1/2]

std::int64_t monopoly::ai::rentIfSteppedOn ( const rules::GameState &  state,
rules::board::SquareType  square,
rules::board::PropertySet  propertiesOwned 
)
noexcept

◆ rentIfSteppedOn() [2/2]

std::int64_t monopoly::ai::rentIfSteppedOn ( const rules::GameState &  state,
SquareType  square,
rules::board::PropertySet  propertiesOwned 
)
noexcept

Definition at line 280 of file AIUtility.cpp.

◆ resetMessageIngress()

void monopoly::ai::resetMessageIngress ( )
noexcept

Definition at line 1812 of file AIMessageIngress.cpp.

◆ someoneCloseToMonopoly()

bool monopoly::ai::someoneCloseToMonopoly ( const rules::GameState &  state,
rules::PlayerNumber  player,
const MonopolyLots &  monopoly,
std::int64_t  minDistance,
std::int64_t  maxDistance 
)
noexcept

Definition at line 468 of file AIUtility.cpp.

◆ squareMoveReaction() [1/2]

TokenReaction monopoly::ai::squareMoveReaction ( const rules::GameState &  state,
rules::PlayerNumber  player,
rules::board::SquareType  landSquare,
rules::CardType  card = rules::CardType::None 
)
noexcept

◆ squareMoveReaction() [2/2]

TokenReaction monopoly::ai::squareMoveReaction ( const rules::GameState &  state,
rules::PlayerNumber  player,
SquareType  landSquare,
rules::CardType  card 
)
noexcept

Definition at line 916 of file AIUtility.cpp.

◆ testForMonopoly() [1/2]

bool monopoly::ai::testForMonopoly ( rules::board::PropertySet  properties,
rules::board::SquareType  square 
)
noexcept

◆ testForMonopoly() [2/2]

bool monopoly::ai::testForMonopoly ( rules::board::PropertySet  properties,
SquareType  square 
)
noexcept

Definition at line 89 of file AIUtility.cpp.

◆ testSellHouses() [1/2]

void monopoly::ai::testSellHouses ( rules::GameState &  state,
const MonopolyLots &  monopoly,
rules::board::SquareType  testSquare 
)
noexcept

◆ testSellHouses() [2/2]

void monopoly::ai::testSellHouses ( rules::GameState &  state,
const MonopolyLots &  monopoly,
SquareType  testSquare 
)
noexcept

Definition at line 782 of file AIUtility.cpp.

◆ totalWorth()

std::int64_t monopoly::ai::totalWorth ( const rules::GameState &  state,
rules::PlayerNumber  player 
)
noexcept

Definition at line 416 of file AIUtility.cpp.

◆ tradeIngressStateReadOnly()

const trade::TradeIngressState & monopoly::ai::tradeIngressStateReadOnly ( )
noexcept

Definition at line 1879 of file AIMessageIngress.cpp.

◆ xorProperties()

rules::board::PropertySet monopoly::ai::xorProperties ( rules::board::PropertySet  properties,
std::span< const rules::board::SquareType >  squares 
)
noexcept

Definition at line 725 of file AIUtility.cpp.

Variable Documentation

◆ AngryReactionRent

constexpr int monopoly::ai::AngryReactionRent = 500
inlineconstexpr

Definition at line 55 of file AIUtility.hpp.

◆ CriticalUnownedSquares

constexpr int monopoly::ai::CriticalUnownedSquares = 2
inlineconstexpr

Definition at line 56 of file AIUtility.hpp.

◆ ExpensiveMonopolySquares

constexpr std::array<rules::board::SquareType, 8> monopoly::ai::ExpensiveMonopolySquares
inlineconstexpr
Initial value:
{
rules::board::SquareType::BalticAvenue,
rules::board::SquareType::ConnecticutAvenue,
rules::board::SquareType::VirginiaAvenue,
rules::board::SquareType::NewYorkAvenue, rules::board::SquareType::IllinoisAvenue,
rules::board::SquareType::MarvinGardens,
rules::board::SquareType::PennsylvaniaAvenue,
rules::board::SquareType::Boardwalk}

Definition at line 59 of file AIUtility.hpp.

◆ HappyReactionRent

constexpr int monopoly::ai::HappyReactionRent = 250
inlineconstexpr

Definition at line 53 of file AIUtility.hpp.

◆ SadReactionRent

constexpr int monopoly::ai::SadReactionRent = 100
inlineconstexpr

Definition at line 54 of file AIUtility.hpp.