Merge remote-tracking branch 'origin/entities_branch' into Player

This commit is contained in:
Marcin Kostrzewski 2020-04-04 20:06:29 +02:00
commit 3d5c8690ff
5 changed files with 106 additions and 17 deletions

View File

@ -1,5 +1,31 @@
import src.entities.Entity as Entity
from src.entities.Entity import Entity
class Collidable(Entity):
pass
def __init__(self, texture, pos, id):
super().__init__(texture, pos, id)
def check_for_collision(self, x_pos, y_pos):
if self.pos[0] == x_pos:
if self.pos[1] == y_pos:
return True
return False
col = Collidable(1, 1, 1)
"""
def interact_with_hp(self, hp, Statistics):
Statistics.set_hp(hp)
def interact_with_hunger(self, hunger, Statistics):
Statistics.set_hunger(hunger)
def interact_with_thirst(self, thirst, Statistics):
Statistics.set_thirst(thirst)
def interact_with_stamina(self, stamina, Statistics):
Statistics.set_stamina(stamina)"""

View File

@ -1,5 +1,6 @@
class Entity:
def __init__(self):
self.texture
self.pos
self.id
def __init__(self, texture, pos, id):
self.texture = texture
self.pos = pos
self.id = id

View File

@ -1,5 +1,24 @@
import src.entities.Entity as Entity
from src.entities.Entity import Entity
class Interactable(Entity):
pass
def __init__(self, texture, pos, id):
super().__init__(texture, pos, id)
@staticmethod
def interact_with_hp(hp, Statistics):
Statistics.set_hp(hp)
@staticmethod
def interact_with_hunger(hunger, Statistics):
Statistics.set_hunger(hunger)
@staticmethod
def interact_with_thirst(thirst, Statistics):
Statistics.set_thirst(thirst)
@staticmethod
def interact_with_stamina(stamina, Statistics):
Statistics.set_stamina(stamina)

View File

@ -1,7 +1,10 @@
import src.entities.Collidable as Collidable
from src.entities.Collidable import Collidable
from src.entities.Interactable import Interactable
class Npc(Collidable):
def __init__(self):
self.path
self.speed
class Npc(Collidable, Interactable):
def __init__(self, texture, pos, id, path, speed):
Collidable.__init__(self, texture, pos, id)
Interactable.__init__(self, texture, pos, id)
self.path = path
self.speed = speed

View File

@ -1,6 +1,46 @@
class Statistics:
def __init__(self):
self.hp
self.hunger
self.thirst
self.stamina
self.hp = 100
self.hunger = 100
self.thirst = 100
self.stamina = 100
# methods that don't let the values pass below 0 and over 100 during change
def set_hp(self, hp_diff):
if 0 <= self.hp + hp_diff <= 100:
self.hp = self.hp + hp_diff
else:
if self.hp + hp_diff <= 0:
self.hp = 0
else:
self.hp = 100
def set_hunger(self, hunger_diff):
if 0 <= self.hp + hunger_diff <= 100:
self.hp = self.hp + hunger_diff
else:
if self.hp + hunger_diff <= 0:
self.hp = 0
else:
self.hp = 100
def set_thirst(self, thirst_diff):
if 0 <= self.hp + thirst_diff <= 100:
self.hp = self.hp + thirst_diff
else:
if self.hp + thirst_diff <= 0:
self.hp = 0
else:
self.hp = 100
def set_stamina(self, stamina_diff):
if 0 <= self.hp + stamina_diff <= 100:
self.hp = self.hp + stamina_diff
else:
if self.hp + stamina_diff <= 0:
self.hp = 0
else:
self.hp = 100