Compare commits

...

2 Commits

7 changed files with 207 additions and 46 deletions
+4 -2
View File
@@ -1,8 +1,10 @@
[gd_scene load_steps=3 format=3 uid="uid://7qcsutlss3oj"] [gd_scene format=3 uid="uid://7qcsutlss3oj"]
[ext_resource type="Script" uid="uid://8n36yadkvxai" path="res://addons/card-framework/json_card_factory.gd" id="1_jlwb4"] [ext_resource type="Script" uid="uid://8n36yadkvxai" path="res://addons/card-framework/json_card_factory.gd" id="1_jlwb4"]
[ext_resource type="PackedScene" uid="uid://brjlo8xing83p" path="res://addons/card-framework/card.tscn" id="2_1mca4"] [ext_resource type="PackedScene" uid="uid://brjlo8xing83p" path="res://addons/card-framework/card.tscn" id="2_1mca4"]
[ext_resource type="Texture2D" uid="uid://c1x31m6sr2jkr" path="res://cards/images/cardBack_blue5.png" id="3_1mca4"]
[node name="CardFactory" type="Node"] [node name="CardFactory" type="Node" unique_id=1183620316]
script = ExtResource("1_jlwb4") script = ExtResource("1_jlwb4")
default_card_scene = ExtResource("2_1mca4") default_card_scene = ExtResource("2_1mca4")
back_image = ExtResource("3_1mca4")
+12 -7
View File
@@ -48,6 +48,8 @@ extends CardContainer
@export var align_drop_zone_size_with_current_hand_size := true @export var align_drop_zone_size_with_current_hand_size := true
## If true, only swap the positions of two cards when reordering (a <-> b), otherwise shift the range (default behavior). ## If true, only swap the positions of two cards when reordering (a <-> b), otherwise shift the range (default behavior).
@export var swap_only_on_reorder := false @export var swap_only_on_reorder := false
## If false undoes any card movement to and from this Hand
@export var allow_movement = true
var vertical_partitions_from_outside = [] var vertical_partitions_from_outside = []
@@ -88,26 +90,28 @@ func compare_cards(a,b):
var suit_1 = a.card_info["suit"] var suit_1 = a.card_info["suit"]
var suit_2 = b.card_info["suit"] var suit_2 = b.card_info["suit"]
match suit_1: match suit_1:
"Diampnd": "Diamond":
val_1 -= 10
"Spade":
val_1 -= 20 val_1 -= 20
"Spade":
val_1 -= 40
"Heart": "Heart":
val_1 -= 30 val_1 -= 60
#print(val_1,su_1) #print(val_1,su_1)
match suit_2: match suit_2:
"Diamond": "Diamond":
val_2 -= 10
"Spade":
val_2 -= 20 val_2 -= 20
"Spade":
val_2 -= 40
"Heart": "Heart":
val_2 -= 30 val_2 -= 60
#print(val_2,su_2) #print(val_2,su_2)
return val_1 < val_2 return val_1 < val_2
func _card_can_be_added(_cards: Array) -> bool: func _card_can_be_added(_cards: Array) -> bool:
if not allow_movement:
return false
var is_all_cards_contained = true var is_all_cards_contained = true
for i in range(_cards.size()): for i in range(_cards.size()):
var card = _cards[i] var card = _cards[i]
@@ -121,6 +125,7 @@ func _card_can_be_added(_cards: Array) -> bool:
return _held_cards.size() + card_size <= max_hand_size return _held_cards.size() + card_size <= max_hand_size
func _update_target_z_index() -> void: func _update_target_z_index() -> void:
for i in range(_held_cards.size()): for i in range(_held_cards.size()):
var card = _held_cards[i] var card = _held_cards[i]
Binary file not shown.

After

Width:  |  Height:  |  Size: 921 B

+40
View File
@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bxkq0tqgdiy61"
path="res://.godot/imported/Back.png-08c77167688145adba4bb21ec59b3650.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://cards/images/Back.png"
dest_files=["res://.godot/imported/Back.png-08c77167688145adba4bb21ec59b3650.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
+37 -19
View File
@@ -16,6 +16,8 @@
[ext_resource type="Texture2D" uid="uid://7qs010wi55mj" path="res://cards/images/cardSpadesJ.png" id="13_vsw8n"] [ext_resource type="Texture2D" uid="uid://7qs010wi55mj" path="res://cards/images/cardSpadesJ.png" id="13_vsw8n"]
[ext_resource type="Texture2D" uid="uid://dvqxm048cpqso" path="res://cards/images/cardDiamondsJ.png" id="14_el68r"] [ext_resource type="Texture2D" uid="uid://dvqxm048cpqso" path="res://cards/images/cardDiamondsJ.png" id="14_el68r"]
[ext_resource type="Texture2D" uid="uid://d0fi2w3eqskmy" path="res://cards/images/cardClubsJ.png" id="15_ir868"] [ext_resource type="Texture2D" uid="uid://d0fi2w3eqskmy" path="res://cards/images/cardClubsJ.png" id="15_ir868"]
[ext_resource type="Texture2D" uid="uid://pflyomkxrjws" path="res://cards/images/cardHeartsA.png" id="15_wiovv"]
[ext_resource type="Texture2D" uid="uid://dvjbl3cdjlxte" path="res://cards/images/cardClubs6.png" id="18_32sqw"]
[sub_resource type="CanvasTexture" id="CanvasTexture_unpya"] [sub_resource type="CanvasTexture" id="CanvasTexture_unpya"]
diffuse_texture = ExtResource("9_ggwjq") diffuse_texture = ExtResource("9_ggwjq")
@@ -71,15 +73,17 @@ offset_top = 560.0
offset_right = 790.0 offset_right = 790.0
offset_bottom = 560.0 offset_bottom = 560.0
script = ExtResource("7_rwigh") script = ExtResource("7_rwigh")
enable_drop_zone = false
sensor_texture = ExtResource("9_ggwjq") sensor_texture = ExtResource("9_ggwjq")
sensor_visibility = true
metadata/_custom_type_script = "uid://6ams8uvg43gu" metadata/_custom_type_script = "uid://6ams8uvg43gu"
[node name="Team1Stiche" type="Control" parent="CardManager" unique_id=740577652] [node name="Team1Stiche" type="Control" parent="CardManager" unique_id=740577652]
anchors_preset = 0 anchors_preset = 0
offset_left = 790.0 offset_left = 405.0
offset_top = 880.0 offset_top = 435.0
offset_right = 790.0 offset_right = 405.0
offset_bottom = 880.0 offset_bottom = 435.0
script = ExtResource("7_rwigh") script = ExtResource("7_rwigh")
card_face_up = false card_face_up = false
sensor_texture = SubResource("CanvasTexture_unpya") sensor_texture = SubResource("CanvasTexture_unpya")
@@ -93,7 +97,6 @@ offset_top = 880.0
offset_right = 1440.0 offset_right = 1440.0
offset_bottom = 880.0 offset_bottom = 880.0
script = ExtResource("4_unpya") script = ExtResource("4_unpya")
card_face_up = false
hand_rotation_curve = ExtResource("5_kdjyk") hand_rotation_curve = ExtResource("5_kdjyk")
hand_vertical_curve = ExtResource("6_ikr1a") hand_vertical_curve = ExtResource("6_ikr1a")
metadata/_custom_type_script = "uid://dj46jo3lfbclo" metadata/_custom_type_script = "uid://dj46jo3lfbclo"
@@ -105,17 +108,19 @@ offset_top = 560.0
offset_right = 980.0 offset_right = 980.0
offset_bottom = 560.0 offset_bottom = 560.0
script = ExtResource("7_rwigh") script = ExtResource("7_rwigh")
enable_drop_zone = false
sensor_texture = SubResource("CanvasTexture_kdjyk") sensor_texture = SubResource("CanvasTexture_kdjyk")
metadata/_custom_type_script = "uid://6ams8uvg43gu" metadata/_custom_type_script = "uid://6ams8uvg43gu"
[node name="Team2Stiche" type="Control" parent="CardManager" unique_id=561191290] [node name="Team2Stiche" type="Control" parent="CardManager" unique_id=561191290]
anchors_preset = 0 anchors_preset = 0
offset_left = 980.0 offset_left = 1365.0
offset_top = -10.0 offset_top = 435.0
offset_right = 980.0 offset_right = 1365.0
offset_bottom = -10.0 offset_bottom = 435.0
script = ExtResource("7_rwigh") script = ExtResource("7_rwigh")
card_face_up = false card_face_up = false
allow_card_movement = false
metadata/_custom_type_script = "uid://6ams8uvg43gu" metadata/_custom_type_script = "uid://6ams8uvg43gu"
[node name="Player3Hand" type="Control" parent="CardManager" unique_id=1841661362] [node name="Player3Hand" type="Control" parent="CardManager" unique_id=1841661362]
@@ -125,7 +130,6 @@ offset_top = -10.0
offset_right = 1440.0 offset_right = 1440.0
offset_bottom = -10.0 offset_bottom = -10.0
script = ExtResource("4_unpya") script = ExtResource("4_unpya")
card_face_up = false
hand_rotation_curve = ExtResource("10_kdjyk") hand_rotation_curve = ExtResource("10_kdjyk")
hand_vertical_curve = ExtResource("10_unpya") hand_vertical_curve = ExtResource("10_unpya")
metadata/_custom_type_script = "uid://dj46jo3lfbclo" metadata/_custom_type_script = "uid://dj46jo3lfbclo"
@@ -149,10 +153,10 @@ offset_top = -10.0
offset_right = 480.0 offset_right = 480.0
offset_bottom = -10.0 offset_bottom = -10.0
script = ExtResource("4_unpya") script = ExtResource("4_unpya")
card_face_up = false
card_hover_distance = 0.0 card_hover_distance = 0.0
hand_rotation_curve = ExtResource("10_kdjyk") hand_rotation_curve = ExtResource("10_kdjyk")
hand_vertical_curve = ExtResource("10_unpya") hand_vertical_curve = ExtResource("10_unpya")
allow_movement = false
metadata/_custom_type_script = "uid://dj46jo3lfbclo" metadata/_custom_type_script = "uid://dj46jo3lfbclo"
[node name="Player4PlayPile" type="Control" parent="CardManager" unique_id=1625790580] [node name="Player4PlayPile" type="Control" parent="CardManager" unique_id=1625790580]
@@ -187,11 +191,11 @@ vertical_alignment = 1
[node name="GridContainer" type="GridContainer" parent="ButtonsTrumpSelect" unique_id=412936036] [node name="GridContainer" type="GridContainer" parent="ButtonsTrumpSelect" unique_id=412936036]
z_index = 10 z_index = 10
layout_mode = 0 layout_mode = 0
offset_left = 810.0 offset_left = 754.0
offset_top = 340.0 offset_top = 340.0
offset_right = 1110.0 offset_right = 1206.0
offset_bottom = 740.0 offset_bottom = 740.0
columns = 2 columns = 3
metadata/_edit_group_ = true metadata/_edit_group_ = true
[node name="ButtonHeart" type="Button" parent="ButtonsTrumpSelect/GridContainer" unique_id=1595325767] [node name="ButtonHeart" type="Button" parent="ButtonsTrumpSelect/GridContainer" unique_id=1595325767]
@@ -202,23 +206,37 @@ icon = ExtResource("12_gwibp")
layout_mode = 2 layout_mode = 2
icon = ExtResource("13_vsw8n") icon = ExtResource("13_vsw8n")
[node name="ButtonDiamond" type="Button" parent="ButtonsTrumpSelect/GridContainer" unique_id=838232450] [node name="ButtonTopDown" type="Button" parent="ButtonsTrumpSelect/GridContainer" unique_id=1650061945]
layout_mode = 2 layout_mode = 2
icon = ExtResource("14_el68r") icon = ExtResource("15_wiovv")
[node name="ButtonClub" type="Button" parent="ButtonsTrumpSelect/GridContainer" unique_id=677142745] [node name="ButtonClub" type="Button" parent="ButtonsTrumpSelect/GridContainer" unique_id=677142745]
layout_mode = 2 layout_mode = 2
icon = ExtResource("15_ir868") icon = ExtResource("15_ir868")
[node name="ButtonDiamond" type="Button" parent="ButtonsTrumpSelect/GridContainer" unique_id=838232450]
layout_mode = 2
icon = ExtResource("14_el68r")
[node name="ButtonDownUp" type="Button" parent="ButtonsTrumpSelect/GridContainer" unique_id=1031871977]
layout_mode = 2
icon = ExtResource("18_32sqw")
[connection signal="mouse_entered" from="ButtonsTrumpSelect/GridContainer/ButtonHeart" to="ButtonsTrumpSelect" method="_on_button_heart_mouse_entered"] [connection signal="mouse_entered" from="ButtonsTrumpSelect/GridContainer/ButtonHeart" to="ButtonsTrumpSelect" method="_on_button_heart_mouse_entered"]
[connection signal="mouse_exited" from="ButtonsTrumpSelect/GridContainer/ButtonHeart" to="ButtonsTrumpSelect" method="_on_button_heart_mouse_exited"] [connection signal="mouse_exited" from="ButtonsTrumpSelect/GridContainer/ButtonHeart" to="ButtonsTrumpSelect" method="_on_button_heart_mouse_exited"]
[connection signal="pressed" from="ButtonsTrumpSelect/GridContainer/ButtonHeart" to="ButtonsTrumpSelect" method="_on_button_heart_pressed"] [connection signal="pressed" from="ButtonsTrumpSelect/GridContainer/ButtonHeart" to="ButtonsTrumpSelect" method="_on_button_heart_pressed"]
[connection signal="mouse_entered" from="ButtonsTrumpSelect/GridContainer/ButtonSpade" to="ButtonsTrumpSelect" method="_on_button_spade_mouse_entered"] [connection signal="mouse_entered" from="ButtonsTrumpSelect/GridContainer/ButtonSpade" to="ButtonsTrumpSelect" method="_on_button_spade_mouse_entered"]
[connection signal="mouse_exited" from="ButtonsTrumpSelect/GridContainer/ButtonSpade" to="ButtonsTrumpSelect" method="_on_button_spade_mouse_exited"] [connection signal="mouse_exited" from="ButtonsTrumpSelect/GridContainer/ButtonSpade" to="ButtonsTrumpSelect" method="_on_button_spade_mouse_exited"]
[connection signal="pressed" from="ButtonsTrumpSelect/GridContainer/ButtonSpade" to="ButtonsTrumpSelect" method="_on_button_spade_pressed"] [connection signal="pressed" from="ButtonsTrumpSelect/GridContainer/ButtonSpade" to="ButtonsTrumpSelect" method="_on_button_spade_pressed"]
[connection signal="mouse_entered" from="ButtonsTrumpSelect/GridContainer/ButtonDiamond" to="ButtonsTrumpSelect" method="_on_button_diamond_mouse_entered"] [connection signal="mouse_entered" from="ButtonsTrumpSelect/GridContainer/ButtonTopDown" to="ButtonsTrumpSelect" method="_on_button_top_down_mouse_entered"]
[connection signal="mouse_exited" from="ButtonsTrumpSelect/GridContainer/ButtonDiamond" to="ButtonsTrumpSelect" method="_on_button_diamond_mouse_exited"] [connection signal="mouse_exited" from="ButtonsTrumpSelect/GridContainer/ButtonTopDown" to="ButtonsTrumpSelect" method="_on_button_top_down_mouse_exited"]
[connection signal="pressed" from="ButtonsTrumpSelect/GridContainer/ButtonDiamond" to="ButtonsTrumpSelect" method="_on_button_diamond_pressed"] [connection signal="pressed" from="ButtonsTrumpSelect/GridContainer/ButtonTopDown" to="ButtonsTrumpSelect" method="_on_button_top_down_pressed"]
[connection signal="mouse_entered" from="ButtonsTrumpSelect/GridContainer/ButtonClub" to="ButtonsTrumpSelect" method="_on_button_club_mouse_entered"] [connection signal="mouse_entered" from="ButtonsTrumpSelect/GridContainer/ButtonClub" to="ButtonsTrumpSelect" method="_on_button_club_mouse_entered"]
[connection signal="mouse_exited" from="ButtonsTrumpSelect/GridContainer/ButtonClub" to="ButtonsTrumpSelect" method="_on_button_club_mouse_exited"] [connection signal="mouse_exited" from="ButtonsTrumpSelect/GridContainer/ButtonClub" to="ButtonsTrumpSelect" method="_on_button_club_mouse_exited"]
[connection signal="pressed" from="ButtonsTrumpSelect/GridContainer/ButtonClub" to="ButtonsTrumpSelect" method="_on_button_club_pressed"] [connection signal="pressed" from="ButtonsTrumpSelect/GridContainer/ButtonClub" to="ButtonsTrumpSelect" method="_on_button_club_pressed"]
[connection signal="mouse_entered" from="ButtonsTrumpSelect/GridContainer/ButtonDiamond" to="ButtonsTrumpSelect" method="_on_button_diamond_mouse_entered"]
[connection signal="mouse_exited" from="ButtonsTrumpSelect/GridContainer/ButtonDiamond" to="ButtonsTrumpSelect" method="_on_button_diamond_mouse_exited"]
[connection signal="pressed" from="ButtonsTrumpSelect/GridContainer/ButtonDiamond" to="ButtonsTrumpSelect" method="_on_button_diamond_pressed"]
[connection signal="mouse_entered" from="ButtonsTrumpSelect/GridContainer/ButtonDownUp" to="ButtonsTrumpSelect" method="_on_button_down_up_mouse_entered"]
[connection signal="mouse_exited" from="ButtonsTrumpSelect/GridContainer/ButtonDownUp" to="ButtonsTrumpSelect" method="_on_button_down_up_mouse_exited"]
[connection signal="pressed" from="ButtonsTrumpSelect/GridContainer/ButtonDownUp" to="ButtonsTrumpSelect" method="_on_button_down_up_pressed"]
+15
View File
@@ -30,6 +30,15 @@ func _on_button_club_mouse_entered() -> void:
func _on_button_club_mouse_exited() -> void: func _on_button_club_mouse_exited() -> void:
label.text = "Choose Trump" label.text = "Choose Trump"
func _on_button_top_down_mouse_entered() -> void:
label.text = "Top Down"
func _on_button_top_down_mouse_exited() -> void:
label.text = "Choose Trump"
func _on_button_down_up_mouse_entered() -> void:
label.text = "Down Up"
func _on_button_down_up_mouse_exited() -> void:
label.text = "Choose Trump"
func _on_button_heart_pressed() -> void: func _on_button_heart_pressed() -> void:
trump.emit("Heart") trump.emit("Heart")
@@ -43,3 +52,9 @@ func _on_button_diamond_pressed() -> void:
func _on_button_club_pressed() -> void: func _on_button_club_pressed() -> void:
trump.emit("Club") trump.emit("Club")
self.visible = false self.visible = false
func _on_button_top_down_pressed() -> void:
trump.emit("Top")
self.visible = false
func _on_button_down_up_pressed() -> void:
trump.emit("Down")
self.visible = false
+98 -17
View File
@@ -10,9 +10,12 @@ extends Node2D
@onready var player_3_pile = $CardManager/Player3PlayPile @onready var player_3_pile = $CardManager/Player3PlayPile
@onready var player_4_hand = $CardManager/Player4Hand @onready var player_4_hand = $CardManager/Player4Hand
@onready var player_4_pile = $CardManager/Player4PlayPile @onready var player_4_pile = $CardManager/Player4PlayPile
@onready var team_1_stiche = $CardManager/Team1Stiche
@onready var team_2_stiche = $CardManager/Team2Stiche
@onready var trumpbuttons = $ButtonsTrumpSelect @onready var trumpbuttons = $ButtonsTrumpSelect
@onready var first_player = $CardManager/Player1PlayPile @onready var first_player = $CardManager/Player1PlayPile
var trump : String var trump : String
var rounds_played: int
signal dealt signal dealt
@@ -32,8 +35,13 @@ func setup_game():
create_standard_deck() create_standard_deck()
deck._held_cards.shuffle() deck._held_cards.shuffle()
player_1_hand.allow_movement = true
player_2_hand.allow_movement = true
player_3_hand.allow_movement = true
player_4_hand.allow_movement = true
# Deal initial hand # Deal initial hand
const DEAL_PAUSE = 0.1 const DEAL_PAUSE = 0.5
var deal_r: int =1 var deal_r: int =1
while true: while true:
deal_cards_to_hand(3, player_1_hand) deal_cards_to_hand(3, player_1_hand)
@@ -57,6 +65,10 @@ func define_trump(suit : String):
turn(first_player) turn(first_player)
func turn(first): func turn(first):
rounds_played += 1
if rounds_played == 10:
count_points()
return
first.sensor_visibility = true first.sensor_visibility = true
first.enable_drop_zone = true first.enable_drop_zone = true
first._redraw_drop_zone() first._redraw_drop_zone()
@@ -65,6 +77,8 @@ func turn(first):
first._redraw_drop_zone() first._redraw_drop_zone()
match first: match first:
player_1_pile: player_1_pile:
await get_tree().create_timer(0.2).timeout
player_1_hand.enable_drop_zone = false
player_2_pile.sensor_visibility = true player_2_pile.sensor_visibility = true
player_2_pile.enable_drop_zone = true player_2_pile.enable_drop_zone = true
@@ -72,6 +86,8 @@ func turn(first):
await player_2_pile.played await player_2_pile.played
player_2_pile.enable_drop_zone = false player_2_pile.enable_drop_zone = false
player_2_pile._redraw_drop_zone() player_2_pile._redraw_drop_zone()
await get_tree().create_timer(0.2).timeout
player_2_hand.allow_movement = false
player_3_pile.sensor_visibility = true player_3_pile.sensor_visibility = true
player_3_pile.enable_drop_zone = true player_3_pile.enable_drop_zone = true
@@ -79,6 +95,8 @@ func turn(first):
await player_3_pile.played await player_3_pile.played
player_3_pile.enable_drop_zone = false player_3_pile.enable_drop_zone = false
player_3_pile._redraw_drop_zone() player_3_pile._redraw_drop_zone()
await get_tree().create_timer(0.2).timeout
player_3_hand.allow_movement = false
player_4_pile.sensor_visibility = true player_4_pile.sensor_visibility = true
player_4_pile.enable_drop_zone = true player_4_pile.enable_drop_zone = true
@@ -86,8 +104,10 @@ func turn(first):
await player_4_pile.played await player_4_pile.played
player_4_pile.enable_drop_zone = false player_4_pile.enable_drop_zone = false
player_4_pile._redraw_drop_zone() player_4_pile._redraw_drop_zone()
await get_tree().create_timer(0.2).timeout
player_4_hand.allow_movement = false
player_2_pile: player_2_pile:
player_2_hand.allow_movement = false
player_3_pile.sensor_visibility = true player_3_pile.sensor_visibility = true
player_3_pile.enable_drop_zone = true player_3_pile.enable_drop_zone = true
@@ -96,6 +116,8 @@ func turn(first):
player_3_pile.enable_drop_zone = false player_3_pile.enable_drop_zone = false
player_3_pile._redraw_drop_zone() player_3_pile._redraw_drop_zone()
player_3_hand.allow_movement = false
player_4_pile.sensor_visibility = true player_4_pile.sensor_visibility = true
player_4_pile.enable_drop_zone = true player_4_pile.enable_drop_zone = true
player_4_pile._redraw_drop_zone() player_4_pile._redraw_drop_zone()
@@ -103,6 +125,8 @@ func turn(first):
player_4_pile.enable_drop_zone = false player_4_pile.enable_drop_zone = false
player_4_pile._redraw_drop_zone() player_4_pile._redraw_drop_zone()
player_4_hand.allow_movement = false
player_1_pile.sensor_visibility = true player_1_pile.sensor_visibility = true
player_1_pile.enable_drop_zone = true player_1_pile.enable_drop_zone = true
player_1_pile._redraw_drop_zone() player_1_pile._redraw_drop_zone()
@@ -110,7 +134,9 @@ func turn(first):
player_1_pile.enable_drop_zone = false player_1_pile.enable_drop_zone = false
player_1_pile._redraw_drop_zone() player_1_pile._redraw_drop_zone()
player_1_hand.allow_movement = false
player_3_pile: player_3_pile:
player_3_hand.allow_movement = false
player_4_pile.sensor_visibility = true player_4_pile.sensor_visibility = true
player_4_pile.enable_drop_zone = true player_4_pile.enable_drop_zone = true
@@ -119,6 +145,8 @@ func turn(first):
player_4_pile.enable_drop_zone = false player_4_pile.enable_drop_zone = false
player_4_pile._redraw_drop_zone() player_4_pile._redraw_drop_zone()
player_4_hand.allow_movement = false
player_1_pile.sensor_visibility = true player_1_pile.sensor_visibility = true
player_1_pile.enable_drop_zone = true player_1_pile.enable_drop_zone = true
player_1_pile._redraw_drop_zone() player_1_pile._redraw_drop_zone()
@@ -126,6 +154,8 @@ func turn(first):
player_1_pile.enable_drop_zone = false player_1_pile.enable_drop_zone = false
player_1_pile._redraw_drop_zone() player_1_pile._redraw_drop_zone()
player_1_hand.allow_movement = false
player_2_pile.sensor_visibility = true player_2_pile.sensor_visibility = true
player_2_pile.enable_drop_zone = true player_2_pile.enable_drop_zone = true
player_2_pile._redraw_drop_zone() player_2_pile._redraw_drop_zone()
@@ -133,7 +163,10 @@ func turn(first):
player_2_pile.enable_drop_zone = false player_2_pile.enable_drop_zone = false
player_2_pile._redraw_drop_zone() player_2_pile._redraw_drop_zone()
player_2_hand.allow_movement = false
player_4_pile: player_4_pile:
player_4_hand.allow_movement = false
player_1_pile.sensor_visibility = true player_1_pile.sensor_visibility = true
player_1_pile.enable_drop_zone = true player_1_pile.enable_drop_zone = true
player_1_pile._redraw_drop_zone() player_1_pile._redraw_drop_zone()
@@ -141,6 +174,8 @@ func turn(first):
player_1_pile.enable_drop_zone = false player_1_pile.enable_drop_zone = false
player_1_pile._redraw_drop_zone() player_1_pile._redraw_drop_zone()
player_1_hand.allow_movement = false
player_2_pile.sensor_visibility = true player_2_pile.sensor_visibility = true
player_2_pile.enable_drop_zone = true player_2_pile.enable_drop_zone = true
player_2_pile._redraw_drop_zone() player_2_pile._redraw_drop_zone()
@@ -148,36 +183,82 @@ func turn(first):
player_2_pile.enable_drop_zone = false player_2_pile.enable_drop_zone = false
player_2_pile._redraw_drop_zone() player_2_pile._redraw_drop_zone()
player_2_hand.allow_movement = false
player_3_pile.sensor_visibility = true player_3_pile.sensor_visibility = true
player_3_pile.enable_drop_zone = true player_3_pile.enable_drop_zone = true
player_3_pile._redraw_drop_zone() player_3_pile._redraw_drop_zone()
await player_3_pile.played await player_3_pile.played
player_3_pile.enable_drop_zone = false player_3_pile.enable_drop_zone = false
player_3_pile._redraw_drop_zone() player_3_pile._redraw_drop_zone()
player_3_hand.allow_movement = false
get_turn_winner() get_turn_winner()
func count_points():
print("end of round")
func get_turn_winner(): func get_turn_winner():
var card_1 = player_1_pile.get_top_cards(1)[0] var cards = {
var card_2 = player_2_pile.get_top_cards(1)[0] 1: {"value": int(player_1_pile.get_top_cards(1)[0].card_info.value), "suit": player_1_pile.get_top_cards(1)[0].card_info.suit},
var card_3 = player_3_pile.get_top_cards(1)[0] 2: {"value": int(player_2_pile.get_top_cards(1)[0].card_info.value), "suit": player_2_pile.get_top_cards(1)[0].card_info.suit},
var card_4 = player_4_pile.get_top_cards(1)[0] 3: {"value": int(player_3_pile.get_top_cards(1)[0].card_info.value), "suit": player_3_pile.get_top_cards(1)[0].card_info.suit},
var value_1 = card_1.card_info.value 4: {"value": int(player_4_pile.get_top_cards(1)[0].card_info.value), "suit": player_4_pile.get_top_cards(1)[0].card_info.suit}
var value_2 = card_2.card_info.value }
var value_3 = card_3.card_info.value print(trump)
var value_4 = card_4.card_info.value if trump != "Top" and trump != "Down":
print("pass")
if trump == card_1.card_info.suit: for card in cards:
match value_1: if trump == cards[card]["suit"]:
match cards[card]["value"]:
11: 11:
value_1 += 40 cards[card]["value"] += 40
9: 9:
value_1 += 30 cards[card]["value"] += 30
_:
cards[card]["value"] += 14
print(cards[card]["value"])
elif trump == "Down":
for card in cards:
cards[card]["value"] = cards[card]["value"] * (-1)
print(cards[card]["value"])
var played_suit = first_player.get_top_cards(1)[0].card_info.suit
var highest_card: int
var highest_value: int
for i in cards:
var card = cards[i]
if card["suit"] == played_suit and card["value"] > highest_value:
highest_value = card["value"]
highest_card = i
match highest_card:
1:
first_player = player_1_pile
move_to_stiche(1)
2:
first_player = player_2_pile
move_to_stiche(2)
3:
first_player = player_3_pile
move_to_stiche(1)
4:
first_player = player_4_pile
move_to_stiche(2)
func move_to_stiche(team: int): func move_to_stiche(team: int):
pass if team == 1:
team_1_stiche.move_cards(player_1_pile.get_top_cards(1))
team_1_stiche.move_cards(player_2_pile.get_top_cards(1))
team_1_stiche.move_cards(player_3_pile.get_top_cards(1))
team_1_stiche.move_cards(player_4_pile.get_top_cards(1))
else:
team_2_stiche.move_cards(player_1_pile.get_top_cards(1))
team_2_stiche.move_cards(player_2_pile.get_top_cards(1))
team_2_stiche.move_cards(player_3_pile.get_top_cards(1))
team_2_stiche.move_cards(player_4_pile.get_top_cards(1))
turn(first_player)
func create_standard_deck(): func create_standard_deck():
var suits = ["Club", "Diamond", "Heart", "Spade"] var suits = ["Club", "Diamond", "Heart", "Spade"]