v.0.6.5: Deadzones verbessert

- Man kann während dem Würfeln nicht mehr setzen
main
Ileyan Al Jaaf 2024-04-01 19:22:12 +02:00
parent e8f7cb1f3f
commit ba9a3f8cd8
3 changed files with 36 additions and 9 deletions

View File

@ -14,6 +14,7 @@ var off_limits: String = ""
@export var active: bool = true
func _ready():
print("Initializing board...")
_index_atlas_coordinates_by_name()
@ -103,15 +104,12 @@ func delete_column(column: int) -> void:
else:
#Falls kein Inhalt, leer setzten
self.set_cell(tile_map_layer, Vector2i(i, j + 1))
func delete_row(row: int) -> void:
for i in range(6):
self.set_cell(tile_map_layer, Vector2i(row - 3, i), 1, Vector2i(1, 2), 0)
await get_tree().create_timer(0.25).timeout
#Inhalt leer setzten (row -3 damit es mit 1 - 6 funktioniert)
self.set_cell(tile_map_layer, Vector2i(row - 3, i))
func _clear_enemy_tile(grid_pos: Vector2) -> void:
self.set_cell(tile_map_layer, grid_pos)
self.set_cell(tile_map_layer, grid_pos, 1, Vector2i(1, 2), 0)

37
game.gd
View File

@ -11,7 +11,7 @@ var zuege = 0
var wuerfeln_erlaubt = false
var wheel_spin_allowed = false
var active = Theme.new()
var schnickLost = false
@onready var gui := $GUI as Node2D
@onready var board := $Board as Board
@ -51,8 +51,10 @@ func _ready():
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(_delta):
_check_dice_color()
move_allowed = move_allowed and !schnickLost and !luckyWheel.wheelActive
if won == "":
if Input.is_action_just_pressed("Click") and move_allowed and !luckyWheel.wheelActive:
if Input.is_action_just_pressed("Click") and move_allowed:
var grid_pos = board.gridpos_at_mouse()
if enable_remove:
print(grid_pos)
@ -110,6 +112,9 @@ func _check_win() -> String:
if board.get_state(cell + check[0] * (i + j)) != state:
same = false
break
elif board.get_state(cell + check[0] * (i + j)) == "Triangle2":
same = false
break
_sequence.append(Vector2i(cell + check[0] * (i + j)))
if same:
return state
@ -118,7 +123,9 @@ func _check_win() -> String:
#Generiert die Zufallszahl von 1-6
func _roll_dice() -> int:
schnickLost = false
wuerfeln_erlaubt = false
move_allowed = false
var zahl = randi() % 6 + 1
var animation_help
var zahl_davor
@ -150,7 +157,7 @@ func _roll_dice() -> int:
switch_to_game()
board.active = true
move_allowed = true
return zahl
@ -238,7 +245,6 @@ func _on_test_pressed():
func _spin_the_wheel(result: int) -> void:
wheel_spin_allowed = false
move_allowed = true
ereignis.text = "Ereignis: "
if result <= 3:
ereignis.text += "Instant win!"
@ -266,6 +272,8 @@ func _spin_the_wheel(result: int) -> void:
ereignis.text += "Zeile " + str(zeile_zum_loeschen) + " wird entfernt!"
await get_tree().create_timer(6).timeout
board.delete_column(zeile_zum_loeschen)
elif result <= 85:
var spalte_zum_loeschen = randi() % 6 + 1
ereignis.text += "Spalte " + str(spalte_zum_loeschen) + " wird entfernt!"
@ -275,11 +283,15 @@ func _spin_the_wheel(result: int) -> void:
var spalte = randi() % 6 + 1
ereignis.text += "Totes Feld in Spalte " + str(spalte)
_dead_zone(spalte)
move_allowed = true
func _dead_zone(spalte :int):
var pos = board._calculate_drop_pos(Vector2(spalte-3,0))
board.set_state(pos, "Triangle2")
if pos.y == 0:
_spin_the_wheel(randi() % 100 + 1)
else:
board.set_state(pos, "Triangle2")
#Am Glücksrad drehen
@ -315,10 +327,25 @@ func switch_to_game():
board.show()
func _on_gewonnen_pressed():
schnickLost = false
hide_schnick()
switch_to_game()
func _on_verloren_pressed():
schnickLost = true
wuerfeln_erlaubt = true
switch_player()
hide_schnick()
switch_to_game()
func _check_dice_color():
if wuerfeln_erlaubt == false:
diceButton.add_theme_color_override("font_color", Color.RED)
diceButton.add_theme_color_override("font_hover_color", Color.RED)
diceButton.add_theme_color_override("font_pressed_color", Color.RED)
diceButton.add_theme_color_override("font_focus_color", Color.RED)
elif wuerfeln_erlaubt == true:
diceButton.add_theme_color_override("font_color", Color.SEA_GREEN)
diceButton.add_theme_color_override("font_hover_color", Color.SEA_GREEN)
diceButton.add_theme_color_override("font_pressed_color", Color.SEA_GREEN)
diceButton.add_theme_color_override("font_focus_color", Color.SEA_GREEN)

View File

@ -82,6 +82,8 @@ offset_top = 638.0
offset_right = 1583.0
offset_bottom = 758.0
theme_override_colors/font_color = Color(1, 0, 0, 1)
theme_override_colors/font_pressed_color = Color(1, 0, 0, 1)
theme_override_colors/font_hover_color = Color(1, 0.0588235, 0.0352941, 1)
theme_override_font_sizes/font_size = 30
text = "Restart"
@ -148,8 +150,8 @@ offset_left = 573.0
offset_top = 909.0
offset_right = 778.0
offset_bottom = 978.0
theme_override_colors/font_color = Color(1, 0, 0, 1)
theme_override_font_sizes/font_size = 50
text = "Ereignis:"
[node name="Sequenz" type="Label" parent="GUI"]
offset_left = 108.0