2024-03-22 16:59:39 +01:00
|
|
|
import pygame
|
|
|
|
from abc import ABC, abstractmethod
|
|
|
|
|
2024-03-10 17:08:39 +01:00
|
|
|
class Animal:
|
2024-03-22 16:59:39 +01:00
|
|
|
def __init__(self, x, y, image, adult=False):
|
|
|
|
self.x = x - 1
|
|
|
|
self.y = y - 1
|
2024-03-10 17:08:39 +01:00
|
|
|
self.image = image
|
2024-03-22 16:59:39 +01:00
|
|
|
self.adult = adult
|
2024-03-22 20:11:58 +01:00
|
|
|
self._feed = 0 #nowe zwierze jest głodne
|
2024-03-22 16:59:39 +01:00
|
|
|
|
|
|
|
def draw(self, screen, grid_size):
|
|
|
|
self.image = pygame.transform.scale(self.image, (grid_size, grid_size))
|
|
|
|
if self.adult:
|
|
|
|
# If adult, draw like AdultAnimal
|
|
|
|
new_width = grid_size * 2
|
|
|
|
new_height = grid_size * 2
|
|
|
|
scaled_image = pygame.transform.scale(self.image, (new_width, new_height))
|
|
|
|
screen.blit(scaled_image, (self.x * grid_size, self.y * grid_size))
|
|
|
|
else:
|
|
|
|
# If not adult, draw like normal Animal
|
|
|
|
screen.blit(self.image, (self.x * grid_size, self.y * grid_size))
|
|
|
|
|
|
|
|
|
|
|
|
@abstractmethod
|
|
|
|
def feed(self):
|
|
|
|
pass
|
|
|
|
|
|
|
|
@abstractmethod
|
|
|
|
def getting_hungry(self):
|
|
|
|
pass
|
2024-03-10 17:08:39 +01:00
|
|
|
|
2024-03-22 16:59:39 +01:00
|
|
|
def feed_animal(self):
|
|
|
|
if self.feed():
|
|
|
|
self._feed = 0
|