Design: Player Turn Management System
Design focuses on managing player turns within game sessions. Does not cover game logic, player authentication, or UI design.
Functional Requirements
Non-Functional Requirements
Jump into concepts and practice - no test required
+---------------------+
| Client (Player UI) |
+----------+----------+
|
| WebSocket / REST API
|
+----------v----------+
| Turn Manager |
| (State Machine) |
+----------+----------+
|
+--------------------+--------------------+
| |
+---------v---------+ +---------v---------+
| Player Session DB | | Notification Svc |
| (Game & Player | | (Push messages) |
| states storage) | +-------------------+
+-------------------+current_player after 5 turns?players = ['Alice', 'Bob', 'Charlie']
current_index = 0
for _ in range(5):
current_index = (current_index + 1) % len(players)
current_player = players[current_index]players = ['Anna', 'Ben', 'Cara']
current_index = 0
while True:
print(players[current_index])
current_index += 1