scoring implemented; clients calculate scores individually and display ranks per player

This commit is contained in:
2025-07-16 11:15:05 +02:00
parent 72b68dd6f0
commit cc7afb5477
11 changed files with 80 additions and 3 deletions
+16
View File
@@ -123,3 +123,19 @@ func _on_web_client_tcp_received_expected_bet(client_id: String, expected_bet: i
func _on_web_client_tcp_received_winning_client(client_id: String) -> void:
_bets[client_id][_bets[client_id].size() - 1].add_win()
print(_bets)
func _on_web_client_tcp_received_end_game_request() -> void:
var scores: Array[ScoreResult]
for client_id in _bets.keys():
var score = ScoreResult.new(client_id)
for bet_result in _bets[client_id]:
score.add_to_score(bet_result.get_score())
scores.append(score)
scores.sort_custom(func(a, b): return a.score < b.score)
var rank = scores.size()
for score_result: ScoreResult in scores:
hand_associations[score_result.client_id].display_rank(rank, score_result.score)
rank -= 1