added winning determination algorithm (not entirely working yet)

This commit is contained in:
2025-07-15 14:42:06 +02:00
parent ecfe5955b7
commit 231e861416
9 changed files with 180 additions and 11 deletions
+21 -5
View File
@@ -38,9 +38,11 @@ signal connection_status_changed(new_status: ConnectionStatus)
signal client_order_received(client_ids: Array[String])
signal cards_received(cards: Dictionary)
signal trump_received(trump_id: int)
signal received_bet_request(disallowed_bet: int)
signal received_win()
signal notify_play_card_request()
signal received_played_card(client_id: String, card_id: int)
signal received_play_winner_request()
signal request_next_round()
@@ -135,20 +137,26 @@ func _handle_response(response: String) -> void:
var received_cards = data["cards"]
print(received_cards)
cards_received.emit.call_deferred(received_cards)
trump_received.emit.call_deferred(data["trump"])
"client_submitted_bet":
print(data)
"request_bet":
received_bet_request.emit.call_deferred(data["disallowed_bet"])
"begin_playing_cards":
# all players know it's time to play
print(data)
"request_card":
print(data)
# individual player asked to play card
notify_play_card_request.emit.call_deferred()
"play_card":
print(data)
"determine_play_winner_request": # single card go-around
received_play_winner_request.emit.call_deferred()
"client_played_card":
received_played_card.emit.call_deferred(data["client_id"], data["played_card"])
"client_won_play":
print(data)
if data["client_id"] == _client_id:
received_win.emit.call_deferred()
func _handle_join(data) -> void:
match data["status"]:
@@ -217,6 +225,14 @@ func start_next_round(round_count: int) -> void:
"cards": CardManager.get_shuffled_cards(_connected_client_ids, round_count),
}))
func play_card(card_id: int) -> void:
_send_message(JSON.stringify({
"response": "play_card",
"lobby_id": _lobby_id,
"client_id": _client_id,
"played_card": card_id,
}))
func submit_bet(bet: int, current_round: int) -> void:
_send_message(JSON.stringify({
"response": "submit_bet",
@@ -226,7 +242,7 @@ func submit_bet(bet: int, current_round: int) -> void:
"bet": bet,
}))
func submit_round_winner(winning_client_id: String) -> void:
func submit_play_winner(winning_client_id: String) -> void:
_send_message(JSON.stringify({
"response": "submit_play_winner",
"lobby_id": _lobby_id,