func: Added endstep trump value differences
This commit is contained in:
@@ -48,6 +48,8 @@ extends CardContainer
|
||||
@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).
|
||||
@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 = []
|
||||
@@ -88,26 +90,28 @@ func compare_cards(a,b):
|
||||
var suit_1 = a.card_info["suit"]
|
||||
var suit_2 = b.card_info["suit"]
|
||||
match suit_1:
|
||||
"Diampnd":
|
||||
val_1 -= 10
|
||||
"Spade":
|
||||
"Diamond":
|
||||
val_1 -= 20
|
||||
"Spade":
|
||||
val_1 -= 40
|
||||
"Heart":
|
||||
val_1 -= 30
|
||||
val_1 -= 60
|
||||
#print(val_1,su_1)
|
||||
|
||||
match suit_2:
|
||||
"Diamond":
|
||||
val_2 -= 10
|
||||
"Spade":
|
||||
val_2 -= 20
|
||||
"Spade":
|
||||
val_2 -= 40
|
||||
"Heart":
|
||||
val_2 -= 30
|
||||
val_2 -= 60
|
||||
#print(val_2,su_2)
|
||||
return val_1 < val_2
|
||||
|
||||
|
||||
func _card_can_be_added(_cards: Array) -> bool:
|
||||
if not allow_movement:
|
||||
return false
|
||||
var is_all_cards_contained = true
|
||||
for i in range(_cards.size()):
|
||||
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
|
||||
|
||||
|
||||
|
||||
func _update_target_z_index() -> void:
|
||||
for i in range(_held_cards.size()):
|
||||
var card = _held_cards[i]
|
||||
|
||||
+29
-11
@@ -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://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://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"]
|
||||
diffuse_texture = ExtResource("9_ggwjq")
|
||||
@@ -71,7 +73,9 @@ offset_top = 560.0
|
||||
offset_right = 790.0
|
||||
offset_bottom = 560.0
|
||||
script = ExtResource("7_rwigh")
|
||||
enable_drop_zone = false
|
||||
sensor_texture = ExtResource("9_ggwjq")
|
||||
sensor_visibility = true
|
||||
metadata/_custom_type_script = "uid://6ams8uvg43gu"
|
||||
|
||||
[node name="Team1Stiche" type="Control" parent="CardManager" unique_id=740577652]
|
||||
@@ -93,7 +97,6 @@ offset_top = 880.0
|
||||
offset_right = 1440.0
|
||||
offset_bottom = 880.0
|
||||
script = ExtResource("4_unpya")
|
||||
card_face_up = false
|
||||
hand_rotation_curve = ExtResource("5_kdjyk")
|
||||
hand_vertical_curve = ExtResource("6_ikr1a")
|
||||
metadata/_custom_type_script = "uid://dj46jo3lfbclo"
|
||||
@@ -105,6 +108,7 @@ offset_top = 560.0
|
||||
offset_right = 980.0
|
||||
offset_bottom = 560.0
|
||||
script = ExtResource("7_rwigh")
|
||||
enable_drop_zone = false
|
||||
sensor_texture = SubResource("CanvasTexture_kdjyk")
|
||||
metadata/_custom_type_script = "uid://6ams8uvg43gu"
|
||||
|
||||
@@ -116,6 +120,7 @@ offset_right = 980.0
|
||||
offset_bottom = -10.0
|
||||
script = ExtResource("7_rwigh")
|
||||
card_face_up = false
|
||||
allow_card_movement = false
|
||||
metadata/_custom_type_script = "uid://6ams8uvg43gu"
|
||||
|
||||
[node name="Player3Hand" type="Control" parent="CardManager" unique_id=1841661362]
|
||||
@@ -125,7 +130,6 @@ offset_top = -10.0
|
||||
offset_right = 1440.0
|
||||
offset_bottom = -10.0
|
||||
script = ExtResource("4_unpya")
|
||||
card_face_up = false
|
||||
hand_rotation_curve = ExtResource("10_kdjyk")
|
||||
hand_vertical_curve = ExtResource("10_unpya")
|
||||
metadata/_custom_type_script = "uid://dj46jo3lfbclo"
|
||||
@@ -149,10 +153,10 @@ offset_top = -10.0
|
||||
offset_right = 480.0
|
||||
offset_bottom = -10.0
|
||||
script = ExtResource("4_unpya")
|
||||
card_face_up = false
|
||||
card_hover_distance = 0.0
|
||||
hand_rotation_curve = ExtResource("10_kdjyk")
|
||||
hand_vertical_curve = ExtResource("10_unpya")
|
||||
allow_movement = false
|
||||
metadata/_custom_type_script = "uid://dj46jo3lfbclo"
|
||||
|
||||
[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]
|
||||
z_index = 10
|
||||
layout_mode = 0
|
||||
offset_left = 810.0
|
||||
offset_left = 754.0
|
||||
offset_top = 340.0
|
||||
offset_right = 1110.0
|
||||
offset_right = 1206.0
|
||||
offset_bottom = 740.0
|
||||
columns = 2
|
||||
columns = 3
|
||||
metadata/_edit_group_ = true
|
||||
|
||||
[node name="ButtonHeart" type="Button" parent="ButtonsTrumpSelect/GridContainer" unique_id=1595325767]
|
||||
@@ -202,23 +206,37 @@ icon = ExtResource("12_gwibp")
|
||||
layout_mode = 2
|
||||
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
|
||||
icon = ExtResource("14_el68r")
|
||||
icon = ExtResource("15_wiovv")
|
||||
|
||||
[node name="ButtonClub" type="Button" parent="ButtonsTrumpSelect/GridContainer" unique_id=677142745]
|
||||
layout_mode = 2
|
||||
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_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="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="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_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/ButtonTopDown" to="ButtonsTrumpSelect" method="_on_button_top_down_mouse_entered"]
|
||||
[connection signal="mouse_exited" from="ButtonsTrumpSelect/GridContainer/ButtonTopDown" to="ButtonsTrumpSelect" method="_on_button_top_down_mouse_exited"]
|
||||
[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_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="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"]
|
||||
|
||||
@@ -30,6 +30,15 @@ func _on_button_club_mouse_entered() -> void:
|
||||
func _on_button_club_mouse_exited() -> void:
|
||||
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:
|
||||
trump.emit("Heart")
|
||||
@@ -43,3 +52,9 @@ func _on_button_diamond_pressed() -> void:
|
||||
func _on_button_club_pressed() -> void:
|
||||
trump.emit("Club")
|
||||
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
|
||||
|
||||
+57
-18
@@ -32,8 +32,13 @@ func setup_game():
|
||||
create_standard_deck()
|
||||
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
|
||||
const DEAL_PAUSE = 0.1
|
||||
const DEAL_PAUSE = 0.5
|
||||
var deal_r: int =1
|
||||
while true:
|
||||
deal_cards_to_hand(3, player_1_hand)
|
||||
@@ -65,6 +70,8 @@ func turn(first):
|
||||
first._redraw_drop_zone()
|
||||
match first:
|
||||
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.enable_drop_zone = true
|
||||
@@ -72,6 +79,8 @@ func turn(first):
|
||||
await player_2_pile.played
|
||||
player_2_pile.enable_drop_zone = false
|
||||
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.enable_drop_zone = true
|
||||
@@ -79,6 +88,8 @@ func turn(first):
|
||||
await player_3_pile.played
|
||||
player_3_pile.enable_drop_zone = false
|
||||
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.enable_drop_zone = true
|
||||
@@ -86,8 +97,10 @@ func turn(first):
|
||||
await player_4_pile.played
|
||||
player_4_pile.enable_drop_zone = false
|
||||
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_hand.allow_movement = false
|
||||
|
||||
player_3_pile.sensor_visibility = true
|
||||
player_3_pile.enable_drop_zone = true
|
||||
@@ -96,6 +109,8 @@ func turn(first):
|
||||
player_3_pile.enable_drop_zone = false
|
||||
player_3_pile._redraw_drop_zone()
|
||||
|
||||
player_3_hand.allow_movement = false
|
||||
|
||||
player_4_pile.sensor_visibility = true
|
||||
player_4_pile.enable_drop_zone = true
|
||||
player_4_pile._redraw_drop_zone()
|
||||
@@ -103,6 +118,8 @@ func turn(first):
|
||||
player_4_pile.enable_drop_zone = false
|
||||
player_4_pile._redraw_drop_zone()
|
||||
|
||||
player_4_hand.allow_movement = false
|
||||
|
||||
player_1_pile.sensor_visibility = true
|
||||
player_1_pile.enable_drop_zone = true
|
||||
player_1_pile._redraw_drop_zone()
|
||||
@@ -110,7 +127,9 @@ func turn(first):
|
||||
player_1_pile.enable_drop_zone = false
|
||||
player_1_pile._redraw_drop_zone()
|
||||
|
||||
player_1_hand.allow_movement = false
|
||||
player_3_pile:
|
||||
player_3_hand.allow_movement = false
|
||||
|
||||
player_4_pile.sensor_visibility = true
|
||||
player_4_pile.enable_drop_zone = true
|
||||
@@ -119,6 +138,8 @@ func turn(first):
|
||||
player_4_pile.enable_drop_zone = false
|
||||
player_4_pile._redraw_drop_zone()
|
||||
|
||||
player_4_hand.allow_movement = false
|
||||
|
||||
player_1_pile.sensor_visibility = true
|
||||
player_1_pile.enable_drop_zone = true
|
||||
player_1_pile._redraw_drop_zone()
|
||||
@@ -126,6 +147,8 @@ func turn(first):
|
||||
player_1_pile.enable_drop_zone = false
|
||||
player_1_pile._redraw_drop_zone()
|
||||
|
||||
player_1_hand.allow_movement = false
|
||||
|
||||
player_2_pile.sensor_visibility = true
|
||||
player_2_pile.enable_drop_zone = true
|
||||
player_2_pile._redraw_drop_zone()
|
||||
@@ -133,7 +156,10 @@ func turn(first):
|
||||
player_2_pile.enable_drop_zone = false
|
||||
player_2_pile._redraw_drop_zone()
|
||||
|
||||
player_2_hand.allow_movement = false
|
||||
player_4_pile:
|
||||
player_4_hand.allow_movement = false
|
||||
|
||||
player_1_pile.sensor_visibility = true
|
||||
player_1_pile.enable_drop_zone = true
|
||||
player_1_pile._redraw_drop_zone()
|
||||
@@ -141,6 +167,8 @@ func turn(first):
|
||||
player_1_pile.enable_drop_zone = false
|
||||
player_1_pile._redraw_drop_zone()
|
||||
|
||||
player_1_hand.allow_movement = false
|
||||
|
||||
player_2_pile.sensor_visibility = true
|
||||
player_2_pile.enable_drop_zone = true
|
||||
player_2_pile._redraw_drop_zone()
|
||||
@@ -148,34 +176,45 @@ func turn(first):
|
||||
player_2_pile.enable_drop_zone = false
|
||||
player_2_pile._redraw_drop_zone()
|
||||
|
||||
player_2_hand.allow_movement = false
|
||||
|
||||
player_3_pile.sensor_visibility = true
|
||||
player_3_pile.enable_drop_zone = true
|
||||
player_3_pile._redraw_drop_zone()
|
||||
await player_3_pile.played
|
||||
player_3_pile.enable_drop_zone = false
|
||||
player_3_pile._redraw_drop_zone()
|
||||
|
||||
player_3_hand.allow_movement = false
|
||||
get_turn_winner()
|
||||
|
||||
|
||||
|
||||
|
||||
func get_turn_winner():
|
||||
var card_1 = player_1_pile.get_top_cards(1)[0]
|
||||
var card_2 = player_2_pile.get_top_cards(1)[0]
|
||||
var card_3 = player_3_pile.get_top_cards(1)[0]
|
||||
var card_4 = player_4_pile.get_top_cards(1)[0]
|
||||
var value_1 = card_1.card_info.value
|
||||
var value_2 = card_2.card_info.value
|
||||
var value_3 = card_3.card_info.value
|
||||
var value_4 = card_4.card_info.value
|
||||
|
||||
if trump == card_1.card_info.suit:
|
||||
match value_1:
|
||||
11:
|
||||
value_1 += 40
|
||||
9:
|
||||
value_1 += 30
|
||||
|
||||
var cards = {
|
||||
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},
|
||||
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},
|
||||
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},
|
||||
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}
|
||||
}
|
||||
print(trump)
|
||||
if trump != "Top" and trump != "Down":
|
||||
print("pass")
|
||||
for card in cards:
|
||||
if trump == cards[card]["suit"]:
|
||||
match cards[card]["value"]:
|
||||
11:
|
||||
cards[card]["value"] += 40
|
||||
9:
|
||||
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"])
|
||||
func move_to_stiche(team: int):
|
||||
pass
|
||||
|
||||
|
||||
Reference in New Issue
Block a user