Compare commits

...

2 commits

Author SHA1 Message Date
Henry
dac1601f4a Troubleshooting enemy count. 2025-12-24 16:48:40 +00:00
Henry
25a4897697 Tracking down the spawning of extra enemies; removed extraneous enemy
counting and queue_free of enemies.
2025-12-24 15:59:15 +00:00
4 changed files with 28 additions and 17 deletions

View file

@ -8,8 +8,6 @@ var exploding = false
@onready var screensize = get_viewport_rect().size
func _ready() -> void:
EventBus.enemy_win.connect(_on_enemy_win)
func start(pos):
speed = 0
@ -24,8 +22,6 @@ func start(pos):
$ShootTimer.wait_time = randf_range(4, 20)
$ShootTimer.start()
func _on_enemy_win() -> void:
print("Enemy win!")
func _on_timer_timeout() -> void:
speed = randf_range(75, 100)

View file

@ -5,7 +5,6 @@ extends Node
signal shield_changed(max_value: int, old_value: int, new_value: int)
signal player_died()
signal enemy_died(value: int)
signal enemy_win()
signal initialize_shieldbar()
signal start_game()

31
main.gd
View file

@ -4,7 +4,12 @@ var enemy = preload("res://enemy.tscn")
var player = preload("res://player.tscn")
var instance = null
var playing = false
var enemy_count: int = 0
var enemy_count: int = 0:
set(value):
if value < 0:
print_debug("Enemy value set to below zero: ", get_stack())
enemy_count = value
@onready var start_button = $CanvasLayer/CenterContainer/Start
@onready var game_over = $CanvasLayer/CenterContainer/GameOver
@ -17,15 +22,17 @@ func _ready():
func spawn_enemies():
get_tree().call_group("enemies", "queue_free")
# enemy_count = get_tree().get_nodes_in_group("enemies").size()
# print("Remaining enemies: ", enemy_count)
# await get_tree().process_frame
get_tree().get_nodes_in_group("enemies").size()
for x in range(9):
for y in range(3):
var e = enemy.instantiate()
var pos = Vector2(x * (16 + 8) + 24, 16 * 4 + y * 16)
add_child(e)
e.start(pos)
enemy_count = get_tree().get_nodes_in_group("enemies").size()
print("Remaining enemies: ", enemy_count)
print_debug("Remaining enemies: ", enemy_count, ", ", get_tree().get_nodes_in_group("enemies").size())
func _on_enemy_died(value: int):
@ -34,12 +41,12 @@ func _on_enemy_died(value: int):
$CanvasLayer/UI.update_score(Global.score)
print_debug(enemy_count)
if enemy_count == 0:
print("All enemies defeated!")
win_game()
print_debug("Remaining enemies: ", enemy_count, ", ", get_tree().get_nodes_in_group("enemies").size())
win_game()
func _on_player_died():
# get_tree().call_group("enemies", "queue_free")
EventBus.enemy_win.emit()
enemy_win()
# $Player.set_process(false)
# get_tree().call_group("enemies", "set_process", false)
instance.queue_free()
@ -51,16 +58,18 @@ func _on_player_died():
func new_game():
# Ensure enemies are cleared.
enemy_count = 0
get_tree().call_group("enemies", "queue_free")
get_tree().call_group("enemy_bullets", "queue_free")
print("Number of enemies at new_game: ",enemy_count)
# print("Number of enemies at new_game: ",enemy_count)
await get_tree().process_frame
# Reset score.
Global.score = 0
$CanvasLayer/UI.update_score(Global.score)
# instantiate the Player
# await get_tree().create_timer(1).timeout
instance = player.instantiate()
add_child(instance)
$Player.start()
@ -69,6 +78,7 @@ func new_game():
EventBus.initialize_shieldbar.emit()
# Tell the enemies to spawn!
#await get_tree().create_timer(.5).timeout
spawn_enemies()
# Tell the game we're playing.
@ -93,3 +103,6 @@ func win_game():
await get_tree().create_timer(2).timeout
game_over.hide()
start_button.show()
func enemy_win() -> void:
print("Enemy win!")

View file

@ -30,15 +30,17 @@ func start():
print(shield)
shader_active = false
$Ship.frame = 1
$Ship/Boosters.hide()
$Ship.show()
position = Vector2(screensize.x / 2, screensize.y)
var tween = create_tween()
tween.tween_property(self, "position:y", 32 * -1, .25).as_relative()
tween.tween_property(self, "position:y", 48 * -1, .75).as_relative()
$GunCooldown.wait_time = cooldown
set_shield(max_shield)
print(shield)
await get_tree().create_timer(2).timeout
set_process(true)
$Ship/Boosters.show()
can_shoot = true
# EventBus.shield_changed.emit(max_shield, old_value, shield)
@ -77,13 +79,14 @@ func set_shield(value: int):
print("Shield set to:", shield)
if shield <= 0:
print("Shader deactivated!")
EventBus.player_died.emit()
set_process(false)
$Ship.hide()
shader_active = false
$Explosion.show()
$Explosion/AnimationPlayer.play("explosion-one-shot")
await $Explosion/AnimationPlayer.animation_finished
shader_active = false
EventBus.player_died.emit()
func _on_gun_cooldown_timeout() -> void:
can_shoot = true