player.py 1.3 KB

12345678910111213141516171819202122232425262728293031
  1. import pygame
  2. from tiles import *
  3. from variables import *
  4. from world import World
  5. class Player:
  6. def __init__(self, x: int, y: int, world: World, display: pygame.display):
  7. """Un joueur, avec ses coordonnées (x, y)"""
  8. self.display = display
  9. self.x: int = x
  10. self.y: int = y
  11. self.picture: str = "player"
  12. self.world: World = world
  13. def draw(self):
  14. """Affiche le joueur"""
  15. image = pygame.transform.scale(PLAYER, (self.world.tile_width, self.world.tile_height))
  16. 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
  17. def move(self, direction: str):
  18. """Modifie les coordonnées x et y du joueur en fonction de la direction donnée"""
  19. if direction == "up":
  20. 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
  21. self.y -= self.world.gap + self.world.tile_height
  22. elif direction == "down":
  23. if self.y + self.world.gap + self.world.tile_height <= self.world.bottom_border: # Inversement ici
  24. self.y += self.world.gap + self.world.tile_height