added bet mechanism (currently without checks for invalid bets)

This commit is contained in:
2025-07-15 11:51:02 +02:00
parent 3a22a4e95d
commit 2f3f4dbc14
4 changed files with 42 additions and 13 deletions
+24 -7
View File
@@ -182,8 +182,6 @@ class LobbyManager:
cards.pop("trump")
for client_id in client_ids:
# client_cards = cards[client_id]
print(cards)
await self.send_message(
lobby_id,
client_id,
@@ -196,6 +194,16 @@ class LobbyManager:
})
)
async def request_bet(self, lobby_id, client_id, disallowed_bet) -> None:
await self.send_message(
lobby_id,
client_id,
json.dumps({
"response": "request_bet",
"disallowed_bet": disallowed_bet,
})
)
async def spread_bet(self, lobby_id, client_id, bet) -> None:
await self.broadcast_message(
lobby_id,
@@ -398,6 +406,12 @@ async def process_input(message: str, websocket) -> None:
print(f"Lobby {lobby_id} is starting the game, playing order is: {lobby.client_playing_order}")
await lobby_manager.request_bet(
lobby_id,
lobby_manager.get_lobby(lobby_id).client_playing_order[0],
-1,
)
# Start next round (host only)
elif data_object["response"] == "start_next_round":
lobby_id = data_object["lobby_id"]
@@ -412,6 +426,12 @@ async def process_input(message: str, websocket) -> None:
None,
)
await lobby_manager.request_bet(
lobby_id,
lobby_manager.get_lobby(lobby_id).client_playing_order[0],
-1,
)
elif data_object["response"] == "submit_bet":
lobby_id = data_object["lobby_id"]
client_id = data_object["client_id"]
@@ -454,13 +474,10 @@ async def process_input(message: str, websocket) -> None:
total_bet = sum(lobby_manager.get_lobby(lobby_id).client_bets.values())
disallowed_bet = total_bet - data_object["round"]
await lobby_manager.send_message(
await lobby_manager.request_bet(
lobby_id,
lobby_manager.get_lobby(lobby_id).client_playing_order[last_client_index + 1],
json.dumps({
"response": "request_bet",
"disallowed_bet": disallowed_bet,
}),
disallowed_bet,
)
elif data_object["response"] == "play_card":