Game
Abstract base trait for all casino games in the simulation.
Represents a game entity that can be positioned in 2D space, maintains player state, tracks game history, and supports collision detection. Games can be locked/unlocked by players and process bets according to their specific game rules.
Value parameters
- gameHistory
-
historical record of all gains and losses
- gameState
-
current state including players and capacity
- id
-
unique identifier for the game instance
- position
-
2D coordinates of the game in the simulation space
Attributes
- Graph
-
- Supertypes
-
trait CollidableEntitytrait Entitytrait Collidabletrait Positionedtrait Sizedclass Objecttrait Matchableclass AnyShow all
- Known subtypes
Members list
Value members
Abstract methods
Returns the specific type of this game
Returns the specific type of this game
Attributes
Processes a bet according to the game's rules.
Processes a bet according to the game's rules.
Value parameters
- bet
-
the bet to be processed, must match the game's expected bet type
Attributes
- Returns
-
Success with BetResult if bet is valid, Failure with error message otherwise
Concrete methods
Returns the total bankroll (cumulative gains) for this game
Returns the total bankroll (cumulative gains) for this game
Attributes
Returns the gains from the most recent round for current players
Returns the gains from the most recent round for current players
Attributes
Returns true if the game has reached its maximum player capacity
Returns true if the game has reached its maximum player capacity
Attributes
Attempts to lock the game for a specific player.
Attempts to lock the game for a specific player.
Value parameters
- id
-
the player's unique identifier
Attributes
- Returns
-
Success with updated game if lock successful, Failure with unchanged game otherwise
Attempts to unlock the game for a specific player.
Attempts to unlock the game for a specific player.
Value parameters
- id
-
the player's unique identifier
Attributes
- Returns
-
Success with updated game if unlock successful, Failure with unchanged game otherwise
Updates the game history with a new gain/loss entry for a customer.
Updates the game history with a new gain/loss entry for a customer.
Value parameters
- customerId
-
the customer's unique identifier
- gain
-
the monetary gain (positive) or loss (negative)
Attributes
- Returns
-
new game instance with updated history
Inherited methods
Returns the bottom-left corner coordinates of this entity.
Returns the bottom-left corner coordinates of this entity.
Attributes
- Returns
-
the position vector representing the bottom-left corner
- Inherited from:
- Collidable
Returns the bottom-right corner coordinates of this entity.
Returns the bottom-right corner coordinates of this entity.
Attributes
- Returns
-
the position vector representing the bottom-right corner
- Inherited from:
- Collidable
Returns the center point of this entity's bounding rectangle.
Returns the center point of this entity's bounding rectangle.
Attributes
- Returns
-
the position vector representing the geometric center
- Inherited from:
- Collidable
Checks if this entity collides with another positioned entity.
Checks if this entity collides with another positioned entity.
Performs axis-aligned bounding box collision detection by checking for overlap on both horizontal and vertical axes. Both overlaps must be true for a collision to be detected.
Value parameters
- other
-
the other positioned entity to check collision against
Attributes
- Returns
-
true if the entities' bounding boxes overlap
- Inherited from:
- Collidable
Checks if a point is contained within this entity's bounds.
Checks if a point is contained within this entity's bounds.
Uses inclusive bounds checking on the left and top edges, and exclusive on the right and bottom edges to prevent edge overlap issues.
Value parameters
- point
-
the 2D point to test for containment
Attributes
- Returns
-
true if the point is within this entity's rectangular bounds
- Inherited from:
- Collidable
Returns the top-left corner coordinates of this entity.
Returns the top-left corner coordinates of this entity.
Attributes
- Returns
-
the position vector representing the top-left corner
- Inherited from:
- Collidable
Returns the top-right corner coordinates of this entity.
Returns the top-right corner coordinates of this entity.
Attributes
- Returns
-
the position vector representing the top-right corner
- Inherited from:
- Collidable
Returns all four corner vertices of this entity's bounding rectangle.
Returns all four corner vertices of this entity's bounding rectangle.
Attributes
- Returns
-
sequence containing topLeft, topRight, bottomLeft, and bottomRight vertices
- Inherited from:
- Collidable