player.py 1.3 KB

1234567891011121314151617181920212223242526272829
  1. import pygame
  2. from tiles import *
  3. from world import World
  4. class Player:
  5. def __init__(self, x: int, y: int, world: World, display: pygame.display):
  6. """Un joueur, avec ses coordonnées (x, y)"""
  7. self.display = display
  8. self.x: int = x
  9. self.y: int = y
  10. self.picture: str = "player"
  11. self.world: World = world
  12. def draw(self):
  13. """Affiche le joueur"""
  14. image = pygame.transform.scale(PLAYER, (self.world.tile_width, self.world.tile_height))
  15. self.display.blit(image, (self.x - self.world.tile_width // 2, self.y - self.world.tile_height // 2)) #la valeur ici est arbitraire mais marche. elle est la pour centrer l'affichage du joueur sur une tuile, a changer dans le futur
  16. def move(self, direction: str):
  17. """Modifie les coordonnées x et y du joueur en fonction de la direction donnée"""
  18. if direction == "up":
  19. if self.y - self.world.gap - self.world.tile_height >= self.world.top_border: # Il faut que ça soit supérieur parce que les coos descendent
  20. self.y -= self.world.gap + self.world.tile_height
  21. elif direction == "down":
  22. if self.y + self.world.gap + self.world.tile_height <= self.world.bottom_border: # Inversement ici
  23. self.y += self.world.gap + self.world.tile_height