client: added card shuffling function for host

This commit is contained in:
2025-07-04 15:50:39 +02:00
parent cde794e606
commit ac74b23a0a
2 changed files with 34 additions and 5 deletions
+20
View File
@@ -1,3 +1,23 @@
extends Node extends Node
@export var full_deck: Dictionary[int, Card] @export var full_deck: Dictionary[int, Card]
func get_shuffled_cards(player_count: int, cards_to_pick: int) -> Dictionary: # Dictionary[String, Array[int]]
var dict: Dictionary = {}
var deck: Array[int] = full_deck.keys()
deck.shuffle()
var card_index = 0
for i in player_count:
var player_deck: Array[int] = []
for j in cards_to_pick:
player_deck.append(deck[card_index])
card_index += 1
dict[i] = player_deck
# Add trump card, if there are cards left in the deck
if card_index == 60:
dict["trump"] = -1
else:
dict["trump"] = deck[card_index]
return dict
+14 -5
View File
@@ -1,4 +1,4 @@
[gd_scene load_steps=62 format=3 uid="uid://hr727kw8y2hb"] [gd_scene load_steps=63 format=3 uid="uid://hr727kw8y2hb"]
[ext_resource type="Script" uid="uid://c5yx2hpj6lifp" path="res://cards/card_manager.gd" id="1_de166"] [ext_resource type="Script" uid="uid://c5yx2hpj6lifp" path="res://cards/card_manager.gd" id="1_de166"]
[ext_resource type="Script" uid="uid://dx4cl2rk0a8a0" path="res://cards/card.gd" id="2_vmpa3"] [ext_resource type="Script" uid="uid://dx4cl2rk0a8a0" path="res://cards/card.gd" id="2_vmpa3"]
@@ -157,10 +157,10 @@ metadata/_custom_type_script = "uid://dx4cl2rk0a8a0"
[sub_resource type="Resource" id="Resource_dh6xn"] [sub_resource type="Resource" id="Resource_dh6xn"]
script = ExtResource("2_vmpa3") script = ExtResource("2_vmpa3")
card_id = 29 card_id = 19
card_type = 0 card_type = 0
card_value = 4 card_value = 7
color = 2 color = 1
metadata/_custom_type_script = "uid://dx4cl2rk0a8a0" metadata/_custom_type_script = "uid://dx4cl2rk0a8a0"
[sub_resource type="Resource" id="Resource_w0krc"] [sub_resource type="Resource" id="Resource_w0krc"]
@@ -475,6 +475,14 @@ card_value = 1
color = 4 color = 4
metadata/_custom_type_script = "uid://dx4cl2rk0a8a0" metadata/_custom_type_script = "uid://dx4cl2rk0a8a0"
[sub_resource type="Resource" id="Resource_gxifu"]
script = ExtResource("2_vmpa3")
card_id = 29
card_type = 0
card_value = 4
color = 2
metadata/_custom_type_script = "uid://dx4cl2rk0a8a0"
[node name="CardManager" type="Node"] [node name="CardManager" type="Node"]
script = ExtResource("1_de166") script = ExtResource("1_de166")
full_deck = Dictionary[int, ExtResource("2_vmpa3")]({ full_deck = Dictionary[int, ExtResource("2_vmpa3")]({
@@ -497,6 +505,7 @@ full_deck = Dictionary[int, ExtResource("2_vmpa3")]({
16: SubResource("Resource_s4ixr"), 16: SubResource("Resource_s4ixr"),
17: SubResource("Resource_362ky"), 17: SubResource("Resource_362ky"),
18: SubResource("Resource_7ipk5"), 18: SubResource("Resource_7ipk5"),
19: SubResource("Resource_dh6xn"),
20: SubResource("Resource_w0krc"), 20: SubResource("Resource_w0krc"),
21: SubResource("Resource_j3326"), 21: SubResource("Resource_j3326"),
22: SubResource("Resource_jrrf5"), 22: SubResource("Resource_jrrf5"),
@@ -506,7 +515,7 @@ full_deck = Dictionary[int, ExtResource("2_vmpa3")]({
26: SubResource("Resource_6o04h"), 26: SubResource("Resource_6o04h"),
27: SubResource("Resource_xu28m"), 27: SubResource("Resource_xu28m"),
28: SubResource("Resource_7oc7v"), 28: SubResource("Resource_7oc7v"),
29: SubResource("Resource_dh6xn"), 29: SubResource("Resource_gxifu"),
30: SubResource("Resource_rcngd"), 30: SubResource("Resource_rcngd"),
31: SubResource("Resource_vq3r5"), 31: SubResource("Resource_vq3r5"),
32: SubResource("Resource_4ycpb"), 32: SubResource("Resource_4ycpb"),