from food_spring.level.Level import Level

class Pineapple(Level):

    def __init__(self, parent):
        Level.__init__(self, parent, parent.PINEAPPLE)
from random import randint

from lib.pgfw.pgfw.GameChild import GameChild
from food_spring.level.platform.Platform import Platform

class Platforms(GameChild, list):

    def __init__(self, parent):
        GameChild.__init__(self, parent)
        self.display_surface = self.get_display_surface()
        self.edge = self.display_surface.get_width()
        self.load_configuration()
        self.reset()

    def load_configuration(self):
        config = self.get_configuration("platform")
        self.gap_range = config["gap"]
        self.width_range = config["width"]
        self.first_gap = config["first-gap"]
        self.buffer = config["buffer"]

    def reset(self):
        list.__init__(self, [])
        self.add_first()
        self.populate()

    def add_first(self):
        gap = self.first_gap
        self.append(Platform(self, self.edge, -gap))
        self.add_platform(gap)

    def populate(self):
        while self.get_end() < self.edge:
            self.add_platform()

    def get_end(self):
        if not self:
            return 0
        return self[-1].rect.right

    def add_platform(self, gap=None):
        if gap is None:
            gap = randint(*self.gap_range)
        x = self.get_end() + gap
        self.append(Platform(self, randint(*self.width_range), x))

    def update(self):
        self.retire_platforms()
        self.populate()
        for platform in self:
            platform.update()

    def retire_platforms(self):
        for platform in self:
            if platform.rect.right < -self.buffer:
                self.remove(platform)
from random import randint

from pygame import Surface
from pygame.draw import line

from lib.pgfw.pgfw.Sprite import Sprite

class Platform(Sprite):

    def __init__(self, parent, width, x):
        Sprite.__init__(self, parent)
        self.width = width
        self.load_configuration()
        self.rect.topleft = x, self.display_surface.get_height() - self.height
        self.add_frame()

    def load_configuration(self):
        config = self.get_configuration("platform")
        self.height = config["height"]
        self.thickness = config["thickness"]

    def add_frame(self):
        surface = Surface((self.width, self.thickness))
        surface.fill(self.parent.parent.background_color)
        self.draw_borders(surface)
        Sprite.add_frame(self, surface)

    def draw_borders(self, surface):
        width, height = surface.get_size()
        color = (255, 255, 255)
        line(surface, color, (0, 0), (width - 1, 0))
        line(surface, color, (0, 0), (0, height - 1))
        line(surface, color, (width - 1, 0), (width - 1, height))
        line(surface, color, (0, height - 1), (width - 1, height - 1))

    def update(self):
        self.move(-self.parent.parent.velocity[0])
        Sprite.update(self)
from random import randint, randrange

from pygame import Surface, Color

from lib.pgfw.pgfw.Sprite import Sprite

class Star(Sprite):

    def __init__(self, parent):
        Sprite.__init__(self, parent, randint(100, 1000))
        self.load_configuration()
        self.add_frames()
        self.place()

    def load_configuration(self):
        config = self.get_configuration("stars")
        self.size = config["size"]
        self.saturation = config["saturation"]

    def add_frames(self):
        size = randint(*self.size)
        color = Color(0, 0, 0)
        hue = randint(0, 360)
        for _ in xrange(10):
            color.hsla = hue, randint(*self.saturation), randint(0, 100), 100
            surface = Surface((size, size))
            surface.fill(color)
            self.add_frame(surface)

    def place(self):
        width, height = self.display_surface.get_size()
        self.location.center = randrange(0, width), randrange(0, height)
from random import randint

from lib.pgfw.pgfw.GameChild import GameChild
from food_spring.level.stars.Star import Star

class Stars(GameChild, list):

    def __init__(self, parent):
        GameChild.__init__(self, parent)
        self.load_configuration()
        self.populate()

    def load_configuration(self):
        config = self.get_configuration("stars")
        self.count = config["count"]

    def populate(self):
        for _ in xrange(randint(*self.count)):
            self.append(Star(self))

    def update(self):
        for star in self:
            star.update()
from food_spring.level.Level import Level

class Watermelon(Level):

    def __init__(self, parent):
        Level.__init__(self, parent, parent.WATERMELON)
from lib.pgfw.pgfw.GameChild import GameChild
from food_spring.level.door.Foreground import Foreground
from food_spring.level.door.Background import Background

class Door(GameChild):

    def __init__(self, parent):
        GameChild.__init__(self, parent)
        self.foreground = Foreground(self)
        self.background = Background(self)

    def reset(self):
        self.foreground.reset()
        self.background.reset()
18.224.73.43
18.224.73.43
18.224.73.43
 
January 28, 2014


E F F L U E N C E