diff --git a/scripts/schematic_setup.gd b/scripts/schematic_setup.gd index 0090d75..ea35302 100644 --- a/scripts/schematic_setup.gd +++ b/scripts/schematic_setup.gd @@ -15,8 +15,7 @@ extends Node2D @onready var trumpbuttons = $ButtonsTrumpSelect @onready var first_player = $CardManager/Player1PlayPile var trump : String -var rounds_played: int - +var rounds_played : int signal dealt func _ready(): @@ -62,140 +61,45 @@ func setup_game(): func define_trump(suit : String): trump = suit - turn(first_player) + play_round() -func turn(first): +func play_round(): + var player = first_player rounds_played += 1 if rounds_played == 10: count_points() return - first.sensor_visibility = true - first.enable_drop_zone = true - first._redraw_drop_zone() - await first.played - first.enable_drop_zone = false - 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 - player_2_pile._redraw_drop_zone() - 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 - player_3_pile._redraw_drop_zone() - 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 - player_4_pile._redraw_drop_zone() - 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 - 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 - - player_4_pile.sensor_visibility = true - player_4_pile.enable_drop_zone = true - player_4_pile._redraw_drop_zone() - await player_4_pile.played - 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() - await player_1_pile.played - 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 - player_4_pile._redraw_drop_zone() - await player_4_pile.played - 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() - await player_1_pile.played - 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() - await player_2_pile.played - 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() - await player_1_pile.played - 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() - await player_2_pile.played - 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 + var n : int = 1 + while true: + await turn(player) + if n == 4: + break + match player: + player_1_pile: + player = player_2_pile + player_2_pile: + player = player_3_pile + player_3_pile: + player = player_4_pile + player_4_pile: + player = player_1_pile + n += 1 get_turn_winner() + play_round() + +func turn(player): + player.sensor_visibility = true + player.enable_drop_zone = true + player._redraw_drop_zone() + await player.played + player.enable_drop_zone = false + player._redraw_drop_zone() + func count_points(): + for i in team_1_stiche._held_cards: + match i.card_info["value"]: + pass print("end of round") @@ -229,7 +133,7 @@ func get_turn_winner(): var highest_value: int for i in cards: var card = cards[i] - if card["suit"] == played_suit and card["value"] > highest_value or card["suit"] == trump: + if card["suit"] == played_suit and card["value"] > highest_value or card["suit"] == trump and card["value"] > highest_value: highest_value = card["value"] highest_card = i