clients now keep track of expected and actual bets for every client

This commit is contained in:
2025-07-16 10:20:45 +02:00
parent 4dcbc6787b
commit 72b68dd6f0
5 changed files with 53 additions and 3 deletions
+24
View File
@@ -0,0 +1,24 @@
class_name BetResult
extends Resource
@export var expected: int = 0
@export var actual: int = 0
func _init(
expected: int = 0,
actual: int = 0,
) -> void:
self.expected = expected
self.actual = actual
func set_expected(value: int) -> void:
self.expected = value
func add_win() -> void:
self.actual += 1
func _to_string() -> String:
return "BetResult(expected: {e}, actual: {a})".format({
"e": expected,
"a": actual,
})
+1
View File
@@ -0,0 +1 @@
uid://c82xeik4pxj57
+10 -3
View File
@@ -38,10 +38,14 @@ signal connection_status_changed(new_status: ConnectionStatus)
# This signal is messy as fuck
signal client_order_received(client_ids: Array[String], client_ids_playing_order: Array[String], client_names: Array[String])
signal received_expected_bet(client_id: String, expected_bet: int)
signal new_round_started()
signal cards_received(cards: Dictionary)
signal trump_received(trump_id: int)
signal received_bet_request(disallowed_bet: int)
signal received_win()
signal received_winning_client(client_id: String)
signal notify_play_card_request()
signal received_played_card(client_id: String, card_id: int)
signal received_play_winner_request()
@@ -130,18 +134,20 @@ func _handle_response(response: String) -> void:
received_chat_message.emit.call_deferred(data["client_name"], data["message"])
"new_round_started":
#print(data)
if data["current_round"] == 1:
var playing_order: Array[String] = []
playing_order.assign(data["playing_order"])
client_order_received.emit.call_deferred(playing_order, _connected_client_ids, _connected_client_names)
var received_cards = data["cards"]
#print(received_cards)
new_round_started.emit.call_deferred()
cards_received.emit.call_deferred(received_cards)
trump_received.emit.call_deferred(data["trump"])
"client_submitted_bet":
print(data)
received_expected_bet.emit.call_deferred(
data["client_id"],
data["bet"],
)
"request_bet":
received_bet_request.emit.call_deferred(data["disallowed_bet"])
"begin_playing_cards":
@@ -159,6 +165,7 @@ func _handle_response(response: String) -> void:
"client_won_play":
if data["client_id"] == _client_id:
received_win.emit.call_deferred()
received_winning_client.emit.call_deferred(data["client_id"])
func _handle_join(data) -> void:
match data["status"]: