Source code for maverick.playerstate

from typing import Optional

from pydantic import BaseModel, Field

from .enums import PlayerStateType
from .holding import Holding

__all__ = ["PlayerState"]


[docs] class PlayerState(BaseModel): """A player's state during a poker game. Fields ------ seat : Optional[int] The seat number of the player at the table. state_type : Optional[PlayerStateType] The type of player state (e.g., ACTIVE, FOLDED, ALL_IN). stack : int The number of chips the player has. holding : Optional[Holding] The player's private cards. current_bet : int The amount the player has contributed in the current betting round. total_contributed : int The total amount the player has contributed in the current hand. acted_this_street : bool Whether the player has acted in the current betting round. """ # Identity / seating seat: Optional[int] = Field(default=None, ge=0) state_type: Optional[PlayerStateType] = None # Chips / cards stack: int = Field(default=0, ge=0) holding: Optional[Holding] = None # Hand / betting-round state current_bet: int = Field( default=0, ge=0 ) # contribution in the current betting round total_contributed: int = Field(default=0, ge=0) # total contribution this hand acted_this_street: bool = False