final week

This commit is contained in:
torontocaper committed 2026-04-13 20:36:57 -04:00
1 parent ebb592415a
commit a360f8e84f
19 files changed
+481 -44

No files matched your search

+12 -1
View File
@@ -5,6 +5,8 @@ class_name SceneManager extends Node2D
@onready var level: Node2D = $"../Level"
@onready var coins: Node2D = $"../Coins"
@onready var slimes: Node2D = $"../Slimes"
@onready var player: Player = $"../Player"
@onready var ui: UI = $"../CanvasLayer/UI"
var bullet = preload("res://scenes/bullet.tscn")
var bulletArray:Array[Bullet] = []
@@ -18,7 +20,10 @@ func _ready() -> void:
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
if Input.is_action_just_pressed("save"):
print("save the game")
if Input.is_action_just_pressed("load"):
print("load the game")
func buildLevel()->void:
print("building level")
@@ -31,6 +36,12 @@ func buildLevel()->void:
Gamecontroller.destroySignal.connect(destroy)
Gamecontroller.teleportSignal.connect(teleport)
Gamecontroller.levelChangeSignal.connect(loadLevel)
Gamecontroller.playerDamageSignal.connect(player.playerDamage)
Gamecontroller.playerDamageSignal.connect(ui.updateHealth)
Gamecontroller.playerDeathSignal.connect(player.playerDead)
Gamecontroller.countDownSignal.connect(ui.updateTimer)
Gamecontroller.coinsCollectedSignal.connect(ui.updateCoins)
player.deathAnimationCompleteSignal.connect(Gamecontroller.loadLevel)
func updateEnemies()->void:
if slimes:
var totalSlimes = 0
+28 -7
View File
@@ -4,6 +4,10 @@ var crateTotal = 0
signal destroySignal(body)
signal teleportSignal(body)
signal levelChangeSignal(level)
signal playerDamageSignal(health, maxHealth)
signal playerDeathSignal
signal countDownSignal(timeRemaning)
signal coinsCollectedSignal(totalCoinsCollected, coinsRemaning)
var currentScene:String = "res://scenes/game.tscn"
var timer := Timer.new()
@@ -19,8 +23,15 @@ var playerHealth = 100
var playerStartingHealth = 100
var enemiesDict={}
var enemy:CharectorStats
var player:CharectorStats
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
enemy = load("res://scripts/rscs/slimeStats.tres")
player = load("res://scripts/rscs/playerStats.tres")
get_window().grab_focus()
add_child(timer)
timer.wait_time = 1
@@ -30,10 +41,12 @@ func _ready() -> void:
func reset()->void:
timeAvailable = timers[currentLevel]
playerHealth = playerStartingHealth
playerHealth = player.starting_health
coinsCollected = 0
func secondCounter()->void:
timeAvailable -=1
countDownSignal.emit(timeAvailable)
if timeAvailable <=0:
print("YOU LOST YOU ARE A LOSER YOU SUCK")
levelChangeSignal.emit(levels[currentLevel])
@@ -72,7 +85,7 @@ func bulletDamage(body:Node2D, bullet:Bullet)->void:
destroySignal.emit(body)
destroySignal.emit(bullet)
if body is Slime:
enemiesDict[body]["health"] -= 10
enemiesDict[body]["health"] -= player.rangeDamage
if enemiesDict[body]["health"] <= 0:
destroySignal.emit(body)
destroySignal.emit(bullet)
@@ -84,6 +97,7 @@ func _on_coin_collected(body:Node2D, coin:Coin):
func totalCoins(value)->void:
print("GC know coins remaning "+str(value))
coinsCollectedSignal.emit(coinsCollected, value)
if value <= 0:
currentLevel += 1
if currentLevel >= levels.size():
@@ -93,12 +107,19 @@ func _on_slime_damage(boyd:Node2D, slime:Slime)->void:
playerHealth -= enemiesDict[slime]["damage"]
print("GC DAMAGE THE PLAYER AND KILL THEM "+str(playerHealth))
if playerHealth <=0:
print(" YOU DED ")
levelChangeSignal.emit(levels[currentLevel])
print("YOU Dieded")
playerDeathSignal.emit()
#levelChangeSignal.emit(levels[currentLevel])
else:
#damage
playerDamageSignal.emit(playerHealth, player.max_health)
func addEnemyToLevel(slime:Slime)->void:
var randDamage:int = randi()%10
#var randDamage:int = randi()%10
var enemyStat = {
"health":50,
"damage":randDamage
"health":enemy.starting_health,
"damage":enemy.meleeDamage
}
enemiesDict[slime]=enemyStat
func loadLevel()->void:
levelChangeSignal.emit(levels[currentLevel])
+20 -3
View File
@@ -10,15 +10,17 @@ const BUMP_POWER = 1000
enum FaceDirection{LEFT, RIGHT}
var facing:FaceDirection = FaceDirection.RIGHT
var direction
enum PlayerState{IDLE,RUNNING,JUMPING,FALLING}
enum PlayerState{IDLE,RUNNING,JUMPING,FALLING,HURT,DEATH,SPAWN}
var current_player_state:PlayerState = PlayerState.IDLE
var jumpUp:bool = false
signal deathAnimationCompleteSignal
func _physics_process(delta: float) -> void:
#Handle Shoot
handle_input()
if current_player_state != PlayerState.DEATH:
handle_input()
handle_movement(delta)
handle_state()
handle_animation()
@@ -76,6 +78,10 @@ func handle_animation()->void:
player_graphic.play("jumping")
PlayerState.FALLING:
player_graphic.play("falling")
PlayerState.HURT:
player_graphic.play("hurt")
PlayerState.DEATH:
player_graphic.play("death")
func handle_movement(delta)->void:
# Add the gravity.
@@ -104,3 +110,14 @@ func _on_animation_finished() -> void:
match current_player_state:
PlayerState.JUMPING:
jumpUp = false
PlayerState.HURT:
current_player_state = PlayerState.IDLE
PlayerState.DEATH:
deathAnimationCompleteSignal.emit()
func playerDamage(health, maxHealth) ->void:
print("c")
current_player_state = PlayerState.HURT
func playerDead()-> void:
print("You FINALY DIED")
current_player_state = PlayerState.DEATH
+11
View File
@@ -0,0 +1,11 @@
class_name CharectorStats extends Resource
@export_category("Health")
@export var health:int = 100
@export var max_health:int = 100
@export var starting_health:int = 100
#damage
@export_category("Damage")
@export var meleeDamage:int =10
@export var rangeDamage: int =5
+1
View File
@@ -0,0 +1 @@
uid://b7u1be28qy8ye
+7
View File
@@ -0,0 +1,7 @@
[gd_resource type="Resource" script_class="CharectorStats" format=3 uid="uid://omvjulu840js"]
[ext_resource type="Script" uid="uid://b7u1be28qy8ye" path="res://scripts/rscs/charecterStats.gd" id="1_sqkfu"]
[resource]
script = ExtResource("1_sqkfu")
metadata/_custom_type_script = "uid://b7u1be28qy8ye"
+12
View File
@@ -0,0 +1,12 @@
[gd_resource type="Resource" script_class="CharectorStats" format=3 uid="uid://dep2ewei086m4"]
[ext_resource type="Script" uid="uid://b7u1be28qy8ye" path="res://scripts/rscs/charecterStats.gd" id="1_ppipo"]
[resource]
script = ExtResource("1_ppipo")
health = 20
max_health = 30
starting_health = 20
meleeDamage = 20
rangeDamage = 0
metadata/_custom_type_script = "uid://b7u1be28qy8ye"
+16
View File
@@ -0,0 +1,16 @@
class_name UI extends Control
@onready var health: Label = $VBoxContainer/HBoxContainer/MarginContainer/Health
@onready var timer: Label = $VBoxContainer/HBoxContainer/MarginContainer2/Timer
@onready var coins: Label = $VBoxContainer/HBoxContainer/MarginContainer3/Coins
func _ready() -> void:
health.text = "Hi MOM"
func updateTimer(timerValue)->void:
timer.text =str(timerValue)
func updateHealth(healthValue, maxHealth)->void:
health.text = str(healthValue)
func updateCoins(collectedCoins, coinsRemaning)->void:
coins.text=str(collectedCoins)+" of "+str(coinsRemaning+collectedCoins)
+1
View File
@@ -0,0 +1 @@
uid://dcpm4dbhpfksa