def __init__(self, x, y): super(Octopus, self).__init__(x, y, 16, 16, randint(10, 30)) self.timer = Timer(randint(1, 5) * 1000, True) self.sprite = Sprite(x - 16, y - 16, SpriteType.OCTOPUS) self.shadow = Sprite(x - 16 - 8, y - 16 + 16, SpriteType.OCTOPUS_SHADOW) self.i = 0
def __init__(self, y, left): super(Fishy, self).__init__(-32 if left else Camera.BOUNDS.width + 16, y, 16, 16, randint(1, 10) * 10) self.type = randint(0, 1) self.velocity.x = -1 if left else 1 if self.velocity.x > 0: if self.type == 0: self.sprite = Sprite( self.x, self.y, SpriteType.FISH_SMALL_L if left else SpriteType.FISH_SMALL_R) elif self.type == 1: self.sprite = Sprite( self.x, self.y, SpriteType.FISH_LARGE_L if left else SpriteType.FISH_LARGE_R) else: if self.type == 0: self.sprite = Sprite( self.x, self.y, SpriteType.FISH_SMALL_L if left else SpriteType.FISH_SMALL_L) elif self.type == 1: self.sprite = Sprite( self.x, self.y, SpriteType.FISH_LARGE_L if left else SpriteType.FISH_LARGE_L) self.captured = False
def __init__(self, x, y, type): super(QBlock, self).__init__(x, y, 16, 16) self.active = False if type == 0: self.sprite = Sprite(self.x, self.y, SpriteType.Q_BLOCK_0) else: self.sprite = Sprite(self.x, self.y, SpriteType.Q_BLOCK_1) self.sprite.increment_sprite_y(16) self.active = True
def __init__(self, x, y, width=10, height=10, speed=50): super(Player, self).__init__(x, y, width, height, speed) self.sprite = Sprite(self.x - 3, self.y - 22, SpriteType.PLAYER_F) self.arms = Sprite(self.x - 3, self.y - 22, SpriteType.PLAYER_ARM_SIDE_F) self.shadow = Sprite(self.x - 3, self.y - 21, SpriteType.PLAYER_SHADOW) self.set_color(Color.RED) self.item_carrying = None self.animation_walk = Animation(6, 6, 100) self.walking = False
def __init__(self, x, y, beans=50): super(Boat, self).__init__(x, y, 83, 16, 50) self.beans = beans self.playbounds = Rectangle(0, 16 * 3, Camera.BOUNDS.width, Camera.BOUNDS.height - 16 * 3) self.sprite = Sprite(x - 16, y - 48, SpriteType.BOAT) self.shadow = Sprite(x - 16 - 16, y - 16, SpriteType.BOAT_SHADOW) self.blinks = 5 self.invis_duration = 1600 self.invis_timer = Timer(self.invis_duration) self.blink_timer = Timer(self.invis_duration / self.blinks / 2) self.damaged = False self.flashing = False self.dead = False
def __init__(self, x, y): super(Player, self).__init__(x, y, 12, 28, 100) self.sprite = Sprite(self.x - 10, self.y - 16, SpriteType.PLAYER) self.walk_animation = Animation(6, 6, 100) self.direction = Direction.NONE self.area = None self.query_result = None self.default_jump_height = 16 * 4 self.jump_duration = 1 self.default_run_acceleration = 10 self.default_ground_friction = 7 self.default_air_friction = 1 self.jump_initial_velocity = 0 self.gravity = 0 self.lateral_acceleration = 0 self.ground_friction = 0 self.air_friction = 0 self.grounded = False self.jumping = False self.attempt_block_shift = False self.attacked = False self.restart = False self.pause = False self.transitioning = False self.restart_delay = Timer(2600) self.queue_restart = False
def __init__(self, x=0, y=0, width=1, height=1): super(Entity, self).__init__(x, y, width, height) self.sprite = Sprite(x, y, SpriteType.NONE) self.color = Color.WHITE self.layer = 0 self.remove = False self.ignore = False self.__bounds_that_actually_draw_correctly = Rectangle( self.x, self.y, self.width, self.height, self.color, 2)
def __init__(self, x, y, layer, total_layers): super(SandWall, self).__init__(x, y - layer * 10, 64, 32) self.layer = layer self.sprite = Sprite(self.x, self.y, SpriteType.SAND_WALL) self.direction = 1 self.parallax_layers = total_layers self.parallax_variance = 10 self.parallax_speed = 0 self.calculate_parallax_speed()
def __init__(self, x, y): super(Boulder, self).__init__(x, y, 0, 0, 0) if randint(1, 10) % 2 == 0: self.sprite = Sprite(self.x, self.y, SpriteType.FALLING_ROCK_BIG) self.radius = 16 self.set_width(32) self.set_height(32) else: self.sprite = Sprite(self.x, self.y, SpriteType.FALLING_ROCK_SMALL) self.radius = 8 self.set_width(16) self.set_height(16) self.center = Vector2(self.x + self.radius, self.y + self.radius) self.default_gravity = 16 * randint(3, 6) self.gravity = 0 self.circle = Circle(self.center.x, self.center.y, self.radius, Color.GREEN, 2)
def __init__(self, y, left, layer, total_layers): super(OceanWall, self).__init__( 0 + layer * 20 if left else Camera.BOUNDS.width - 32 - layer * 20, y, 32, 64) self.layer = layer self.sprite = Sprite( self.x, self.y, SpriteType.ROCK_WALL_L if left else SpriteType.ROCK_WALL_R) self.direction = 1 self.parallax_layers = total_layers self.parallax_variance = 10 self.parallax_speed = 0 self.calculate_parallax_speed()
def __init__(self, x, y, type, can_move=True, horizontal=True, start_direction=1, walk_duration=5000): super(NPC, self).__init__(x, y, 10, 10, 25) self.type = type self.sprite = Sprite(self.x - 3, self.y - 22, SpriteType.NONE) self.shadow = Sprite(self.x - 3, self.y - 21, SpriteType.PLAYER_SHADOW) self.speech_bubble = SpeechBubble(self.x - 11, self.y - 32 - 11, self) self.radius = 32 self.show_prompt = False self.set_color(Color.RED) self.walk_direction = 1 if start_direction >= 0 else -1 self.horizontal = horizontal self.can_move = can_move self._walk_timer = Timer(walk_duration, True) self.animation_walk = Animation(6, 6, 100) self.walking = True self._set_walking_sprite() self._set_random_emotion()
def __init__(self): super(BossCrab, self).__init__(96, 128, 128, 8) self.body = Sprite(self.x - 64, self.y - 32, SpriteType.CRAB_BOSS_BODY) self.bandaid = Sprite(self.x + 2 * 16, self.y - 1 * 16, SpriteType.CRAB_BOSS_BANDAID) self.face = Sprite(self.x + 2 * 16, self.y + 2 * 16, SpriteType.CRAB_FACE_SLEEPING) self.emote = Sprite(self.x + 5 * 16, self.y - 2 * 16, SpriteType.CRAB_BOSS_EMOTE_SLEEPY) self.state_index = 0 self.total_flashes = 3 self.flashes = 0 self.flash_duration = 200 self.invinsibility_flash_timer = Timer(self.flash_duration) self.hurt = False self.flashing = False self.injured = False self.crab_smash = False self.sync_smash = 0 self.special_attack = False self.idle_timer = Timer(5000)
def __init__(self, boss, is_left): super(Claw, self).__init__(96, 128, 56, 74, 200) self.boss = boss self.is_left = is_left self.sprite = Sprite(self.x, self.y, SpriteType.CRAB_BOSS_ARM) if self.is_left: self.set_location(self.x - 16, self.y + 6) else: self.sprite.flip_horizontally(True) self.set_location(self.x + 5 * 16, self.y + 6) self.initial_y = self.sprite.y self.windup = False self.slamming = False self.cooldown = False self.needs_setup = True
def __init__(self, x, y): super(Crab, self).__init__(x, y, 11, 9, 25) self.sprite = Sprite(self.x - 18, self.y - 19, SpriteType.CRAB) self.walk_animation = Animation(4, 4, 150) self.direction = Direction.RIGHT self.area = None self.query_result = None self.default_jump_height = 16 * 1.5 self.jump_duration = 0.5 self.jump_initial_velocity = 0 self.gravity = 0 self.lateral_acceleration = 0 self.aggravated_move_speed = 100 self.internal_bounds = Rect(self.x + 5, self.y + 5, 1, 1) self.grounded = False self.aggravated = False self.dead = False
def __init__(self, x, y): super(FlowerPot, self).__init__(x, y + 10, 16, 16) self.sprite = Sprite(self.x, self.y - 32, SpriteType.FLOWER_POT)
def __init__(self, ocean_depth): super(Hook, self).__init__(0, 0, 13, 13, 80) self.ocean_depth = ocean_depth self.sprite = Sprite(self.x, self.y - 7, SpriteType.HOOK) self.direction = 1 self.total_hooked_fish = 0
def __init__(self, x, y): super(Sofa, self).__init__(x + 4, y + 10, 56, 16) self.sprite = Sprite(self.x - 4, self.y - 16, SpriteType.SOFA)
def __init__(self, x, y, speed=75): super(Rock, self).__init__(x, y, 34, 14, speed) self.sprite = Sprite(x - 7, y - 16, SpriteType.ROCK) self.shadow = Sprite(self.x - 7 - 8, self.y - 16, SpriteType.ROCK_SHADOW) self.dead = False
def __init__(self, x, y): super(StoolTall, self).__init__(x, y + 10, 16, 6) self.sprite = Sprite(self.x, self.y - 16 - 6, SpriteType.STOOL_TALL)
def __init__(self, x, y, empty=True): super(Shelf, self).__init__(x, y + 10, 32, 16) if empty: self.sprite = Sprite(self.x, self.y - 48, SpriteType.SHELF_EMPTY) else: self.sprite = Sprite(self.x, self.y - 48, SpriteType.SHELF_FULL)
def __init__(self, x, y, value): super(Eggs, self).__init__(x, y, value) self._type = ItemType.EGGS self._sprite = Sprite(x, y, SpriteType.EGGS_RAW)
def __init__(self, x, y, value): super(Crop, self).__init__(x, y, value) self._type = ItemType.CROP self._sprite = Sprite(x, y, SpriteType.CROP_RAW)
def __init__(self, x, y): super(CounterShop, self).__init__(x, y + 10, 112, 16) self.sprite = Sprite(self.x, self.y - 32, SpriteType.SHOP_COUNTER)
def __init__(self, x, y, value): super(Coffee, self).__init__(x, y, value) self._type = ItemType.COFFEE self._sprite = Sprite(x, y, SpriteType.COFFEE_RAW)
def __init__(self, x, y): super(Table, self).__init__(x, y + 10, 32, 12) self.sprite = Sprite(self.x, self.y - 16, SpriteType.TABLE)
def __init__(self, x, y): super(StoolShort, self).__init__(x, y + 10 + 4, 16, 6) self.sprite = Sprite(self.x, self.y - 16 - 4, SpriteType.STOOL_SHORT)
def __init__(self, x, y): super(Bed, self).__init__(x, y + 10, 32, 48) self.sprite = Sprite(self.x, self.y - 16, SpriteType.BED)
def __init__(self, x, y, speed=50): super(Bullet, self).__init__(x, y, 11, 12, speed) self.sprite = Sprite(x, y - 2, SpriteType.INK_BULLET) self.shadow = Sprite(x, y - 2 + 16, SpriteType.INK_BULLET_SHADOW) self.dead = False
def __init__(self, x, y, value): super(Fish, self).__init__(x, y, value) self._type = ItemType.FISH self._sprite = Sprite(x, y, SpriteType.FISH_RAW)
def __init__(self, x, y): super(CounterDiner, self).__init__(x, y + 10 + 2, 256, 12) self.sprite = Sprite(self.x, self.y - 80 + 12, SpriteType.DINER_COUNTER)