X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;ds=sidebyside;f=koperkapel%2Froaches.py;fp=koperkapel%2Froaches.py;h=904b8c7dfc9bdf927018cb200372080ce97ca635;hb=4d670fa2d34bf9e663a86a5b823470b255b9a173;hp=586b508a394be68fe10f01aed14b5869d9f67a17;hpb=abf2e680598a8fe729943b2a7c64add04dcfe7a7;p=koperkapel.git diff --git a/koperkapel/roaches.py b/koperkapel/roaches.py index 586b508..904b8c7 100644 --- a/koperkapel/roaches.py +++ b/koperkapel/roaches.py @@ -3,8 +3,15 @@ import random from pgzero.clock import each_tick from pgzero.loaders import images +from pygame.constants import BLEND_RGBA_MULT from .actors.surf import SurfActor +ROACH_COLORS = { + "blue": (0, 0, 255, 255), + "green": (0, 255, 0, 255), + "purple": (255, 0, 255, 255), +} + class RoachActor(SurfActor): def __init__(self, frames): @@ -30,15 +37,22 @@ class RoachFactory: self.suffix = suffix self.frames = 4 - def assemble_frame(self, i, roach_data): + def roach_color(self, roach_data): + return random.choice(list(ROACH_COLORS.values())) + + def assemble_frame(self, i, color, roach_data): roach = images.load("roach%s/roach_%d" % (self.suffix, i + 1)) eyes = images.load("roach%s/eyes_%d" % (self.suffix, i + 1)) + roach = roach.copy() + roach.fill(color, None, BLEND_RGBA_MULT) roach.blit(eyes, (0, 0)) return roach def assemble(self, roach_data): + color = self.roach_color(roach_data) frames = [ - self.assemble_frame(i, roach_data) for i in range(self.frames)] + self.assemble_frame(i, color, roach_data) + for i in range(self.frames)] return RoachActor(frames)