40 lines
1.1 KiB
GDScript
40 lines
1.1 KiB
GDScript
extends Control
|
|
|
|
const NR_CORRECT_BTNS := 9
|
|
var correct_buttons_pressed := 0
|
|
var wrong_buttons_pressed := 0
|
|
signal game_finished
|
|
var missing_btns := 9
|
|
|
|
|
|
func keypad_game_finished() -> void:
|
|
$Panel/Panel2.visible = true
|
|
await get_tree().create_timer(3.0).timeout
|
|
game_finished.emit()
|
|
|
|
|
|
func _on_correct_button_toggled(toggled_on: bool) -> void:
|
|
if toggled_on:
|
|
correct_buttons_pressed += 1
|
|
if correct_buttons_pressed == NR_CORRECT_BTNS and wrong_buttons_pressed == 0:
|
|
keypad_game_finished()
|
|
else:
|
|
correct_buttons_pressed -= 1
|
|
missing_btns = NR_CORRECT_BTNS - correct_buttons_pressed
|
|
change_hint()
|
|
if missing_btns < 6:
|
|
$Panel/Panel/Label/missing.visible = true
|
|
|
|
|
|
func _on_wrong_button_toggled(toggled_on: bool) -> void:
|
|
if toggled_on:
|
|
wrong_buttons_pressed += 1
|
|
else:
|
|
wrong_buttons_pressed -= 1
|
|
if correct_buttons_pressed == NR_CORRECT_BTNS and wrong_buttons_pressed == 0:
|
|
keypad_game_finished()
|
|
missing_btns = NR_CORRECT_BTNS - correct_buttons_pressed
|
|
|
|
func change_hint() -> void:
|
|
$Panel/Panel/Label/missing.text = "[noch " + str(missing_btns) + "]"
|