model.entities.customers
Members list
Type members
Classlikes
Defines the contract for an entity that possesses a bankroll (money).
Defines the contract for an entity that possesses a bankroll (money).
This trait tracks the entity's current financial balance and its initial starting balance, providing methods to update the bankroll and calculate its ratio relative to the start.
Type parameters
- T
-
The concrete type of the entity that extends this trait, enabling F-bounded polymorphism for immutable updates.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class Customer
Defines the types of betting strategies.
Defines the types of betting strategies.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
Defines the common interface and properties for all betting strategies.
Defines the common interface and properties for all betting strategies.
Betting strategies are responsible for determining the bet amount and options, and for updating their internal state based on game outcomes.
Type parameters
- A
-
The type of the entity (customer) that uses this strategy. It must have Bankroll and CustomerState capabilities.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
Defines the contract for an entity that experiences boredom and frustration.
Defines the contract for an entity that experiences boredom and frustration.
This trait allows entities to track and update their emotional states, which can influence their decisions and behavior in the simulation. Boredom and frustration values are typically represented as percentages (0-100).
Type parameters
- T
-
The concrete type of the entity that extends this trait, enabling F-bounded polymorphism for immutable updates.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class Customer
Enumeration representing the possible states of a customer.
Enumeration representing the possible states of a customer.
Attributes
- Supertypes
-
trait Enumtrait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
The Customer is an entity which moves around the casino and plays games.
The Customer is an entity which moves around the casino and plays games.
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait HasBetStrategy[Customer]trait CustomerState[Customer]trait StatusProfiletrait BoredomFrustration[Customer]trait MovableWithPrevious[Customer]trait Positionedtrait Entityclass Objecttrait Matchableclass AnyShow all
Defines the contract for an entity that possesses a customer state.
Defines the contract for an entity that possesses a customer state.
This trait tracks whether a customer is Playing a game or Idle, providing methods to change this state and query their current activity.
Type parameters
- T
-
The concrete type of the entity that extends this trait, enabling F-bounded polymorphism for immutable updates.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class Customer
This manager implements the default behaviour for the customer. It combines the boid-like behaviours, the games' attractiveness and avoids the collisions of customers with walls and games
This manager implements the default behaviour for the customer. It combines the boid-like behaviours, the games' attractiveness and avoids the collisions of customers with walls and games
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait BaseManager[SimulationState]class Objecttrait Matchableclass AnyShow all
Represents a Flat Betting strategy type.
Implements a Flat Betting strategy. The bet amount remains constant regardless of previous game outcomes.
Implements a Flat Betting strategy. The bet amount remains constant regardless of previous game outcomes.
Type parameters
- A
-
The entity type using this strategy.
Value parameters
- betAmount
-
The fixed amount to bet.
- option
-
Game-specific options for the bet.
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait BettingStrategy[A]class Objecttrait Matchableclass AnyShow all
Companion object for FlatBetting, providing convenient factory methods.
Companion object for FlatBetting, providing convenient factory methods.
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
FlatBetting.type
Defines a contract for entities that possess a betting strategy.
Defines a contract for entities that possess a betting strategy.
This trait facilitates the integration of dynamic betting behaviors into entities that manage their own bankroll and customer state. It ensures that such entities can place bets, update their strategy based on outcomes, and change strategies.
Type parameters
- T
-
The concrete type of the entity that extends this trait. It must also have Bankroll, CustomerState, and be able to provide a new instance with a changed betting strategy.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class Customer
- Self type
-
T
Represents a Martingale strategy type.
Implements the Martingale betting strategy. The bet amount doubles after each loss and resets to base after a win.
Implements the Martingale betting strategy. The bet amount doubles after each loss and resets to base after a win.
Type parameters
- A
-
The entity type using this strategy.
Value parameters
- baseBet
-
The initial bet amount to which the strategy resets after a win.
- betAmount
-
The current bet amount for the next round.
- lossStreak
-
The current number of consecutive losses.
- option
-
Game-specific options for the bet.
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait BettingStrategy[A]class Objecttrait Matchableclass AnyShow all
Companion object for MartingaleStrat, providing convenient factory methods.
Companion object for MartingaleStrat, providing convenient factory methods.
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
MartingaleStrat.type
Defines the contract for an entity that can move within the simulation environment.
Defines the contract for an entity that can move within the simulation environment.
This trait extends Positioned, adding the concept of a direction vector and methods to update both position and direction.
Type parameters
- T
-
The concrete type of the entity that extends this trait, enabling F-bounded polymorphism for immutable updates.
Attributes
- Supertypes
- Known subtypes
-
trait MovableWithPrevious[M]class Customertrait Player[T]trait ChangingFavouriteGamePlayer[T]class Context[M]
Attributes
- Supertypes
- Known subtypes
-
class Customer
Represents an Oscar Grind strategy type.
Implements the Oscar's Grind betting strategy. Aims for a single unit profit per cycle, adjusting bets based on wins and losses.
Implements the Oscar's Grind betting strategy. Aims for a single unit profit per cycle, adjusting bets based on wins and losses.
Type parameters
- A
-
The entity type using this strategy.
Value parameters
- baseBet
-
The base unit bet amount.
- betAmount
-
The current bet amount for the next round.
- lossStreak
-
The current number of consecutive losses (not always used directly in bet calculation for Oscar Grind).
- option
-
Game-specific options for the bet.
- startingBankroll
-
The bankroll at the start of the current Oscar Grind cycle.
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait BettingStrategy[A]class Objecttrait Matchableclass AnyShow all
Companion object for OscarGrindStrat, providing convenient factory methods.
Companion object for OscarGrindStrat, providing convenient factory methods.
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
OscarGrindStrat.type
Enumeration representing different risk profiles for customers.
Enumeration representing different risk profiles for customers.
These profiles categorize customers' willingness to take risks and influence their decision-making, betting strategies, and reactions to game outcomes.
Attributes
- Supertypes
-
trait Enumtrait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Defines the contract for an entity that possesses a risk profile.
Defines the contract for an entity that possesses a risk profile.
This trait is used to categorize customers based on their behavior patterns within the casino, influencing decisions made by managers like the DecisionManager.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class Customer
Value members
Concrete methods
Default options for a red bet in Roulette.
Default options for a red bet in Roulette.