aprilGame/scripts/game.gd

69 lines
1.6 KiB
GDScript

extends Node2D
signal destroySignal (body)
var levels=["res://scene/game.tscn", "res://scene/level2.tscn", "res://scene/level3.tscn"]
var currentlevel=0
var timers=[5, 15, 10]
var timeleft=0
var playercurrenthealth:int = 100
var enemiesdict = {}
signal levelchangesignal(level)
var timer = Timer.new()
func secondcounter()-> void:
timeleft -=1
if timeleft <=0:
print("YOU LOOOSSSTTT!!!!")
levelchangesignal.emit(levels[currentlevel])
func _ready() -> void:
reset()
get_window().grab_focus()
add_child(timer)
timer.wait_time=1
timer.one_shot = false
timer.connect("timeout", secondcounter)
timer.start()
func reset()->void:
timeleft = timers[currentlevel]
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
func on_trigger(body: Variant, intentMessage: Variant) -> void:
if body.is_in_group("fragile") and intentMessage == "destroy":
destroySignal.emit(body)
func totalCube(NumberOfCube:int)->void:
print ("gameknowscubes: "+str(NumberOfCube))
if NumberOfCube <=0:
print("YOu won!!")
currentlevel +=1
if currentlevel >= levels.size():
currentlevel = 0
levelchangesignal.emit(levels[currentlevel])
func _on_slime_damage(_body,slime)->void:
print("owie:(")
print("doing damage: " +str(enemiesdict[slime]["damage"]))
playercurrenthealth -=enemiesdict[slime]["damage"]
if playercurrenthealth <=0:
print("u ded")
func addenemytolevel(slime)->void:
print("adding enemhy to level")
var randamage = randi_range(1,20)
var enemystat = {
"health":50000,
"damage":25
}
enemiesdict[slime]=enemystat