Monopoly — Portage moderne 0.1.0
Portage moderne C/C++23 du Monopoly de 1999
Loading...
Searching...
No Matches
AITradeUtility.cpp File Reference
#include "AITradeUtility.hpp"
#include <algorithm>
#include <cmath>
Include dependency graph for AITradeUtility.cpp:

Go to the source code of this file.

Namespaces

namespace  monopoly
 
namespace  monopoly::ai
 
namespace  monopoly::ai::trade
 

Functions

std::array< rules::board::SquareGroup, 8 > monopoly::ai::trade::orderMonopolyImportance (std::int64_t liquidAssets, MonopolySortOrder order, std::span< const std::uint32_t > randomKeys) noexcept
 
MonopolyTradeGroup monopoly::ai::trade::findSmallestMonopolyTrade (rules::PlayerNumber player, rules::board::PropertySet monopoly, std::span< const rules::PlayerNumber > candidates, const PropertySets &properties) noexcept
 
std::int64_t monopoly::ai::trade::transferTax (const rules::GameState &state, rules::board::PropertySet properties) noexcept
 
int monopoly::ai::trade::vetoMonopolies (rules::board::PropertySet properties) noexcept
 
int monopoly::ai::trade::possibleMonopoly (const rules::GameState &state, rules::PlayerNumber owner, rules::board::SquareType square) noexcept
 
PropertyImportanceResult monopoly::ai::trade::findPlayerPropertyImportance (const rules::GameState &state, rules::PlayerNumber player, rules::PlayerNumber strategyPlayer, const PropertyImportanceConfig &config, std::int64_t moneyOwed) noexcept
 
double monopoly::ai::trade::calculateTradePropertyImportance (const rules::GameState &before, const rules::GameState &after, rules::PlayerNumber player, rules::PlayerNumber strategyPlayer, const TradeProposalList &proposals, bool givingMonopolyAway, const PropertyImportanceConfig &config, std::span< const std::int64_t > moneyOwed) noexcept
 
MonopolyTradeDecision monopoly::ai::trade::shouldTradeForMonopoly (const rules::GameState &state, rules::PlayerNumber player) noexcept
 
rules::PlayerNumber monopoly::ai::trade::findNonmonopolyPlayer (const rules::GameState &state, rules::PlayerNumber player, std::span< const std::int64_t > moneyOwed) noexcept
 
bool monopoly::ai::trade::onlyPlayerHasMonopoly (const rules::GameState &state, rules::PlayerNumber player) noexcept
 
bool monopoly::ai::trade::hasMonopolyTrade (const rules::GameState &state, rules::PlayerNumber player, rules::PlayerNumber excludedPlayer) noexcept
 
StrategicPropertyImportance monopoly::ai::trade::strategicPropertyImportance (const rules::GameState &state, rules::board::SquareType property, rules::PlayerNumber excludedPlayer, rules::PlayerNumber includedPlayer, rules::PlayerNumber purchasingPlayer, rules::board::SquareType purchasingProperty) noexcept
 
int monopoly::ai::trade::findFreeTradeSpot (std::span< const std::int64_t > timeLastTrade, std::size_t maxTrades) noexcept
 
bool monopoly::ai::trade::shouldTrade (const rules::GameState &state, rules::PlayerNumber player, std::uint8_t importance, std::span< const std::int64_t > timeLastTrade, std::size_t maxTrades, const TradeCadenceInputs &inputs) noexcept
 
bool monopoly::ai::trade::addTradeMonopoly (const rules::GameState &state, rules::PlayerNumber toPlayer, rules::board::PropertySet &properties, PropertyClassification type, TradeProposalList &proposals, std::int64_t moneyOwed) noexcept
 
PlayerPropertyAttitudeList monopoly::ai::trade::createPlayerPropertyAttitudeList (const rules::GameState &state, rules::PlayerNumber player, const TradeProposalList &proposals, std::span< const double > playerAttitudes) noexcept
 
TradeImportanceList monopoly::ai::trade::createItemImportanceList (const rules::GameState &state, rules::PlayerNumber player, rules::PlayerNumber strategyPlayer, const PropertyImportanceConfig &config, double strategyAttitudeTowardPlayer, const CashMultiplierTable &multipliers) noexcept
 
bool monopoly::ai::trade::addTypeProperty (const rules::GameState &before, const rules::GameState &after, rules::PlayerNumber player, rules::PlayerNumber strategyPlayer, rules::board::PropertySet &combinedProperties, TradeImportanceItem item, TradeProposalList &proposals, const PropertySets &properties, bool giveDescending, const WhatToTradeTable &whatToTrade, double strategyAttitudeTowardPlayer, std::int64_t playerMoneyOwed) noexcept
 
void monopoly::ai::trade::rememberTradedProperties (PropertyTradeMemory &memory, rules::PlayerNumber proposedPlayer, const TradeProposalRecord &proposal) noexcept
 
rules::board::PropertySet monopoly::ai::trade::propertiesAlreadyTraded (const PropertyTradeMemory &memory, rules::PlayerNumber proposedPlayer, const TradeProposalRecord &proposal, int dangerLevel) noexcept
 
void monopoly::ai::trade::forgetTradedProperties (PropertyTradeMemory &memory) noexcept
 
double monopoly::ai::trade::cashMultiplier (double attitude, const CashMultiplierTable &multipliers) noexcept
 
bool monopoly::ai::trade::playerInvolvedInTrade (const TradeProposalRecord &proposal) noexcept
 
rules::PlayerNumber monopoly::ai::trade::nextPlayerWantingCash (const TradeProposalList &proposals) noexcept
 
bool monopoly::ai::trade::tradeIsProper (const rules::GameState &state, const TradeProposalList &proposals, std::span< const FutureImmunityRecord > immunities) noexcept
 
void monopoly::ai::trade::makeTradeProper (const rules::GameState &state, TradeProposalList &proposals, std::span< const FutureImmunityRecord > immunities) noexcept
 
void monopoly::ai::trade::applyTradeToState (rules::GameState &state, const TradeProposalList &proposals) noexcept
 
bool monopoly::ai::trade::isMonopolyTrade (const rules::GameState &state, const TradeProposalList &proposals) noexcept
 
bool monopoly::ai::trade::playerHasFutureOrImmunity (rules::PlayerNumber player, std::span< const FutureImmunityRecord > immunities) noexcept
 
ProposedTradeSendPlan monopoly::ai::trade::buildProposedTradeSendPlan (const rules::GameState &state, rules::PlayerNumber player, const TradeProposalList &proposals, const ProposedTradeSendInputs &inputs) noexcept
 
bool monopoly::ai::trade::addTradeItem (TradeProposalList &proposals, FutureImmunityList &immunities, rules::TradeItemKind kind, std::int64_t amount, rules::PlayerNumber fromPlayer, rules::PlayerNumber toPlayer, rules::board::PropertySet propertySet) noexcept