parent
e8f7cb1f3f
commit
ba9a3f8cd8
|
|
@ -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)
|
||||
|
|
|
|||
35
game.gd
35
game.gd
|
|
@ -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,10 +283,14 @@ 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))
|
||||
if pos.y == 0:
|
||||
_spin_the_wheel(randi() % 100 + 1)
|
||||
else:
|
||||
board.set_state(pos, "Triangle2")
|
||||
|
||||
|
||||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue