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
+7
View File
@@ -19,6 +19,7 @@ var _is_owned: bool
@export_range(0, 20, 0.1, "radians_as_degrees") var card_angle: float
@export var name_label: Label3D
@export var rank_label: Label3D
@export var hide_client_name: bool = false
var _selected_card: PlayingCard = null
@@ -93,3 +94,9 @@ func _on_play_card_button_pressed() -> void:
remove_card(_selected_card)
_selected_card = null
card_selected.emit(-1)
func display_rank(rank: int, score: int) -> void:
rank_label.text = "#{rank} ({pts} pts)".format({
"rank": rank,
"pts": score,
})
+7 -1
View File
@@ -3,12 +3,13 @@
[ext_resource type="Script" uid="uid://b5b5cl2qlhywv" path="res://elements/player_hand.gd" id="1_ank64"]
[ext_resource type="PackedScene" uid="uid://b55xpcxk7g5ph" path="res://cards/playing_card.tscn" id="2_11xsc"]
[node name="PlayerHand" type="Node3D" node_paths=PackedStringArray("card_container", "name_label")]
[node name="PlayerHand" type="Node3D" node_paths=PackedStringArray("card_container", "name_label", "rank_label")]
script = ExtResource("1_ank64")
card_scene = ExtResource("2_11xsc")
card_container = NodePath("CardContainer")
card_angle = 0.125664
name_label = NodePath("NameLabel")
rank_label = NodePath("RankLabel")
[node name="NameLabel" type="Label3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.513717, 0)
@@ -17,3 +18,8 @@ double_sided = false
text = "name goes here"
[node name="CardContainer" type="Node3D" parent="."]
[node name="RankLabel" type="Label3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.283052, 0)
billboard = 1
double_sided = false