Timer (model.game.timer)¶
model.game.timer
¶
Chess clock and countdown timer tracking elapsed and remaining time for each player.
Timer
¶
Manages player turn clocks, increments, countdown ticks, and expiration.
Source code in src/model/game/timer.py
__init__(initial_time=600)
¶
Initialize game timers.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
initial_time
|
int
|
Initial time per player in seconds (default: 600). |
600
|
Source code in src/model/game/timer.py
add_time(player, increment_seconds)
¶
Add increment time to a player's clock.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
player
|
int
|
Player identifier (1 for White, -1 for Black, or index). |
required |
increment_seconds
|
int
|
Seconds to add to player's clock. |
required |
Source code in src/model/game/timer.py
get_time(player)
¶
Get remaining time in seconds for a player.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
player
|
int
|
Player identifier (1 for White, -1 for Black, or index). |
required |
Returns:
| Type | Description |
|---|---|
int
|
Remaining seconds. |
Source code in src/model/game/timer.py
is_expired(player)
¶
Check if a player's clock has run out of time.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
player
|
int
|
Player identifier (1 for White, -1 for Black, or index). |
required |
Returns:
| Type | Description |
|---|---|
bool
|
True if remaining time is 0 or less, False otherwise. |
Source code in src/model/game/timer.py
reset_time()
¶
tick(player, elapsed_seconds=1)
¶
Deduct elapsed seconds from a player's clock.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
player
|
int
|
Player identifier (1 for White, -1 for Black, or index). |
required |
elapsed_seconds
|
int
|
Number of seconds to deduct (default: 1). |
1
|