Amélioration de l'engine et ajout d'éléments de gameplay #20

Merged
yannis merged 29 commits from debut_jeu into main 2024-01-03 19:20:46 +00:00
2 changed files with 21 additions and 2 deletions
Showing only changes of commit acca811311 - Show all commits

View file

@ -7,6 +7,9 @@ class Camera:
self.y = 0
self.zoom = 1.
# Décalage lors du mouvement du joueur
self.player_moving_offset = 100
# Variables utilisées pour le scrolling
self.target_x = self.x
self.target_y = self.y
@ -21,8 +24,10 @@ class Camera:
# Si on suit une entité, on met à jour les coordonnées de suivi
if self.followed_entity is not None:
self.target_x = self.followed_entity.x
self.target_y = self.followed_entity.y
self.target_x = (self.followed_entity.x + self.followed_entity.mouvements[0] *
self.player_moving_offset / self.zoom)
self.target_y = (self.followed_entity.y + self.followed_entity.mouvements[1] *
self.player_moving_offset / self.zoom)
self.x += (self.target_x - self.x) / self.smoothness
self.y += (self.target_y - self.y) / self.smoothness

View file

@ -10,6 +10,12 @@ class Entity:
self.x = 8
self.y = 8
# Variables utilisées pour detecter les mouvements
self.last_x = 0
self.last_y = 0
self.mouvements = [0., 0.]
self.max_speed = 1.
self.life_points = -1
@ -42,6 +48,14 @@ class Entity:
if self.damage_cooldown < 0:
self.damage_cooldown = 0
# Si les coordonnées ont changé, l'entité a bougé
self.mouvements[0] = (self.x - self.last_x) / self.max_speed
self.mouvements[1] = (self.y - self.last_y) / self.max_speed
self.last_x = self.x
self.last_y = self.y
def take_damages(self, damages: int):
"""Inflige {damages} dégâts à l'entité."""