45 lines
1.5 KiB
Python
45 lines
1.5 KiB
Python
|
import pygame
|
||
|
from colors import *
|
||
|
from dimensions import *
|
||
|
from sprites import *
|
||
|
|
||
|
class Plant(pygame.sprite.Sprite):
|
||
|
def __init__(self, field, species):
|
||
|
super(Plant, self).__init__()
|
||
|
self.surf = plant_img_0
|
||
|
self.position = field.position
|
||
|
self.field = field
|
||
|
self.rect = self.surf.get_rect(
|
||
|
topleft=((MARGIN + WIDTH) * self.position[0] + MARGIN, (MARGIN + HEIGHT) * self.position[1] + MARGIN))
|
||
|
self.growth = 0
|
||
|
self.isHealthy = True
|
||
|
self.species = species
|
||
|
if self.species == "beetroot":
|
||
|
self.growth_speed = 1.5
|
||
|
self.humidity_needed = 2
|
||
|
elif self.species == "wheat":
|
||
|
self.growth_speed = 1
|
||
|
self.humidity_needed = 1
|
||
|
elif self.species == "cotton":
|
||
|
self.growth_speed = 0.8
|
||
|
self.humidity_needed = 1
|
||
|
|
||
|
|
||
|
def grow(self):
|
||
|
if self.field.hydration >= self.humidity_needed:
|
||
|
self.growth += self.growth_speed
|
||
|
if self.field.hydration == 0:
|
||
|
self.growth -= self.growth_speed
|
||
|
if self.growth > 4:
|
||
|
self.growth = 4
|
||
|
if self.growth < 0:
|
||
|
self.growth = 0
|
||
|
if self.growth == 0:
|
||
|
self.surf = plant_img_0
|
||
|
elif self.growth == 1:
|
||
|
self.surf = plant_img_1
|
||
|
elif self.growth == 2:
|
||
|
self.surf = plant_img_2
|
||
|
elif self.growth == 3:
|
||
|
self.surf = plant_img_3
|