rotation field and getFacingCoord method moved from Player to Entity
This commit is contained in:
parent
16bb2cd311
commit
45e7c412f8
@ -1,3 +1,4 @@
|
|||||||
|
from enum import Enum
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
import pygame
|
import pygame
|
||||||
@ -20,8 +21,12 @@ class Entity(pygame.sprite.Sprite):
|
|||||||
self.image.set_colorkey((255, 255, 255))
|
self.image.set_colorkey((255, 255, 255))
|
||||||
self.rect.x = pos[0]
|
self.rect.x = pos[0]
|
||||||
self.rect.y = pos[1]
|
self.rect.y = pos[1]
|
||||||
|
# Unique ID
|
||||||
self.id = self.setNewId()
|
self.id = self.setNewId()
|
||||||
|
|
||||||
|
# Where the entity is facing
|
||||||
|
self.rotation = Rotations.NORTH
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def setNewId():
|
def setNewId():
|
||||||
"""
|
"""
|
||||||
@ -53,3 +58,24 @@ class Entity(pygame.sprite.Sprite):
|
|||||||
image = pygame.transform.scale(image, (tileSize, tileSize))
|
image = pygame.transform.scale(image, (tileSize, tileSize))
|
||||||
rect = image.get_rect()
|
rect = image.get_rect()
|
||||||
return image, rect
|
return image, rect
|
||||||
|
|
||||||
|
def getFacingCoord(self):
|
||||||
|
"""
|
||||||
|
Get coordinates forward to the player.
|
||||||
|
:return: Position tuple
|
||||||
|
"""
|
||||||
|
if self.rotation.value == Rotations.NORTH.value:
|
||||||
|
return self.rect.x, self.rect.y - self.rect.h
|
||||||
|
elif self.rotation.value == Rotations.SOUTH.value:
|
||||||
|
return self.rect.x, self.rect.y + self.rect.h
|
||||||
|
elif self.rotation.value == Rotations.EAST.value:
|
||||||
|
return self.rect.x + self.rect.h, self.rect.y
|
||||||
|
elif self.rotation.value == Rotations.WEST.value:
|
||||||
|
return self.rect.x - self.rect.h, self.rect.y
|
||||||
|
|
||||||
|
|
||||||
|
class Rotations(Enum):
|
||||||
|
NORTH = 0
|
||||||
|
EAST = 1
|
||||||
|
SOUTH = 2
|
||||||
|
WEST = 3
|
||||||
|
@ -3,6 +3,7 @@ from enum import Enum
|
|||||||
|
|
||||||
import pygame
|
import pygame
|
||||||
|
|
||||||
|
from entities.Entity import Rotations
|
||||||
from src.entities.Entity import Entity
|
from src.entities.Entity import Entity
|
||||||
from src.entities.Statistics import Statistics
|
from src.entities.Statistics import Statistics
|
||||||
|
|
||||||
@ -16,8 +17,7 @@ class Player(Entity):
|
|||||||
|
|
||||||
# Entity constructor
|
# Entity constructor
|
||||||
super().__init__("player.png", size, (spawnpoint[0] * size, spawnpoint[1] * size))
|
super().__init__("player.png", size, (spawnpoint[0] * size, spawnpoint[1] * size))
|
||||||
# Where the player is facing, 0 - north, 1
|
|
||||||
self.rotation = Rotations.NORTH
|
|
||||||
self.statistics = Statistics(100, 0, 0, 100)
|
self.statistics = Statistics(100, 0, 0, 100)
|
||||||
# How many steps has the player taken through its lifetime
|
# How many steps has the player taken through its lifetime
|
||||||
self.movePoints = 0
|
self.movePoints = 0
|
||||||
@ -126,21 +126,6 @@ class Player(Entity):
|
|||||||
self.statistics.set_stamina(2)
|
self.statistics.set_stamina(2)
|
||||||
self.fatigueTimeout = 0
|
self.fatigueTimeout = 0
|
||||||
|
|
||||||
# TODO: Remove
|
|
||||||
def getFacingCoord(self):
|
|
||||||
"""
|
|
||||||
Get coordinates forward to the player.
|
|
||||||
:return: Position tuple
|
|
||||||
"""
|
|
||||||
if self.rotation == Rotations.NORTH:
|
|
||||||
return self.rect.x, self.rect.y - self.rect.h
|
|
||||||
elif self.rotation == Rotations.SOUTH:
|
|
||||||
return self.rect.x, self.rect.y + self.rect.h
|
|
||||||
elif self.rotation == Rotations.EAST:
|
|
||||||
return self.rect.x + self.rect.h, self.rect.y
|
|
||||||
elif self.rotation == Rotations.WEST:
|
|
||||||
return self.rect.x - self.rect.h, self.rect.y
|
|
||||||
|
|
||||||
def getStatistic(self, stat):
|
def getStatistic(self, stat):
|
||||||
"""
|
"""
|
||||||
Get the specified statistic as an integer.
|
Get the specified statistic as an integer.
|
||||||
@ -199,13 +184,6 @@ class Player(Entity):
|
|||||||
self.determineLife()
|
self.determineLife()
|
||||||
|
|
||||||
|
|
||||||
class Rotations(Enum):
|
|
||||||
NORTH = 0
|
|
||||||
EAST = 1
|
|
||||||
SOUTH = 2
|
|
||||||
WEST = 3
|
|
||||||
|
|
||||||
|
|
||||||
class StatisticNames(Enum):
|
class StatisticNames(Enum):
|
||||||
HP = 0
|
HP = 0
|
||||||
STAMINA = 1
|
STAMINA = 1
|
||||||
|
Loading…
Reference in New Issue
Block a user