def __init__(self):
        WorldInterface.__init__(self)

        self.local_sprites = []
        self.local_sprites.append(
            Sprite(load_image("res/spoon_expansion_cutscene1.png"),
                   Vec2(320, 240), (640, 480)))
        self.local_sprites.append(
            Sprite(load_image("res/spoon_expansion_cutscene2.png"),
                   Vec2(320, 240), (640, 480)))
        self.local_sprites.append(
            Sprite(load_image("res/spoon_expansion_cutscene3.png"),
                   Vec2(320, 240), (640, 480)))
        self.local_sprites.append(
            Sprite(load_image("res/spoon_expansion_cutscene4.png"),
                   Vec2(320, 240), (640, 480)))
        self.local_sprites.append(
            Sprite(load_image("res/spoon_expansion_cutscene5.png"),
                   Vec2(320, 240), (640, 480)))

        self.states = {}
        self.states[0] = self.cutscene_begin
        self.states[1] = self.cutscene_startexpansion
        self.states[2] = self.cutscene_finalexpansion
        self.states[3] = self.cutscene_standstill
        self.states[4] = self.cutscene_party

        self.current_state = 0
        self.current_frame = 0
Esempio n. 2
0
    def __init__(self):
        WorldInterface.__init__(self)
        self.world_size = (1920, 1080)

        self.bg = Sprite(
            load_image('res/space.png'),
            Vec2(self.world_size[0] // 2, self.world_size[1] // 2),
            (self.world_size[0], self.world_size[1]))
        self.enter_planet = Sprite(
            load_image("res/press_space_to_continue1.png"), Vec2(0, 0),
            (250, 50))
        self.boss_planet = (Sprite(
            load_image('res/planet_final.png'),
            Vec2((self.world_size[0] // 2) + 250,
                 (self.world_size[1] // 2) - 150), (200, 200)), 0.5)
        self.player = [
            Sprite(load_image("res/spaceship2.png"),
                   Vec2(self.world_size[0] // 2, self.world_size[1] // 2),
                   (80, 80)), 48, True, 4
        ]  # Sprite, invincibility timer, which picture

        self.planets = []
        self.meteors = []
        self.spawn_planets(5)
        self.spawn_meteors(8)

        self.player_speed = 10
        self.player_rot_speed = 5

        self.meteor_speed = self.player_speed + 0.5
        self.meteor_rot_speed = 25
        self.planet_rot_speed = 0.3

        self.current_planet = None
        self.collided_meteor = False
 def spawn_enemy(self, enemy_type, pos):
     if enemy_type == 1:
         enemy = {} #STICK
         enemy['enemy'] = (Sprite(None, Vec2(pos.x, pos.y), (80, 100))) 
         enemy['animator'] = Animator(self.anims['enemy_stick'], 'walk', enemy['enemy'])
         enemy['direction'] = 0
         enemy['next_dir'] = 0
         enemy['speed'] = 5.0
         enemy['type'] = 1 
         enemy['hp'] = 2
         enemy['important'] = True
         enemy['stuck'] = False
         enemy['stuck_time'] = 0
         enemy['hitbox'] = (70, 85)
         self.enemies.append(enemy)
     elif enemy_type == 2:
         enemy = {} #CONE
         enemy['enemy'] = (Sprite(None, Vec2(pos.x, pos.y), (80, 100)))  
         enemy['animator'] = Animator(self.anims['enemy_cone'], 'walk', enemy['enemy'])
         enemy['direction'] = 0
         enemy['next_dir'] = 0
         enemy['speed'] = 4.0
         enemy['type'] = 2
         enemy['hp'] = 2
         enemy['important'] = True
         enemy['stuck'] = False
         enemy['stuck_time'] = 0
         enemy['hitbox'] = (70, 90)
         self.enemies.append(enemy)
     elif enemy_type == 3:
         enemy = {} #BOAT
         enemy['enemy'] = (Sprite(None, Vec2(pos.x, pos.y), (80, 58))) 
         enemy['animator'] = Animator(self.anims['enemy_boat'], 'walk', enemy['enemy'])
         enemy['direction'] = 0
         enemy['next_dir'] = 0
         enemy['next_boat'] = 40
         enemy['speed'] = 2.0
         enemy['type'] = 3
         enemy['hp'] = 2
         enemy['important'] = True
         enemy['stuck'] = False
         enemy['stuck_time'] = 0
         enemy['hitbox'] = (70, 58)
         self.enemies.append(enemy)
     elif enemy_type == 4:
         enemy = {}
         enemy['enemy'] = (Sprite(None, Vec2(pos.x,pos.y), (60, 43))) 
         enemy['animator'] = Animator(self.anims['mini_boat'], 'walk', enemy['enemy'])
         enemy['direction'] = 0
         enemy['next_dir'] = 0
         enemy['speed'] = 3.0
         enemy['type'] = 4
         enemy['hp'] = 1
         enemy['important'] = False
         enemy['stuck'] = False
         enemy['stuck_time'] = 0
         enemy['hitbox'] = (43,43)
         self.enemies.append(enemy)
    def __init__(self):
        WorldInterface.__init__(self)
        self.bg = Sprite(load_image('res/space.png'), Vec2(320, 240),
                         (640, 480))
        self.player = [
            Sprite(load_image('res/spaceship2.png'), Vec2(320, 400), (60, 60)),
            True, 4
        ]
        self.meteorites = []

        self.generate_meteorite_waves(randint(5, 10))
        self.meteor_speed = 5
        self.player_speed = 15
        self.player_rot_speed = 10
Esempio n. 5
0
 def spawn_planets(self, amount):
     self.planets[:] = []  # Clear planets (just in case)
     size = (50, 50)
     for i in range(amount):
         rand = randint(1, 5)
         sprite = Sprite(load_image("res/planet" + str(rand) + ".png"),
                         self.random_pos(size), size)
         self.planets.append([sprite, True,
                              rand])  # Sprite, isEnterable, type
Esempio n. 6
0
 def spawn_meteors(self, amount):
     self.meteors[:] = []  # Clear meteors (just in case)
     size = (25, 25)
     for i in range(amount):
         sprite = Sprite(
             load_image('res/asteroid' + str(randint(1, 4)) + '.png'),
             self.random_pos(size), size)
         self.meteors.append([sprite,
                              self.random_dir(),
                              randint(5, 10)
                              ])  # Sprite, move direction, time to move
Esempio n. 7
0
    def __init__(self, flying_direction):
        WorldInterface.__init__(self)

        self.background_images = {}
        self.background_images["speedlines_vertical"] = load_image("res/speedlines_vertical.png")
        
        self.player_image = load_image("res/player_falling.png")

        self.whatever_idontcare = Sprite(self.background_images["speedlines_vertical"], Vec2(320, 240), (640, 480))
        self.local_sprites = {"speedlines_vertical": [Sprite(self.background_images["speedlines_vertical"], Vec2(320, 240), (640, 480)), \
                                                      Sprite(self.background_images["speedlines_vertical"], Vec2(320, 720), (640, 480))],\
                              "flyer": Sprite(self.player_image, Vec2(320, 240), (40, 62))}

        self.current_background = self.local_sprites["speedlines_vertical"]
        self.current_flyer = self.local_sprites["flyer"]

        # speed and rotation constants
        if flying_direction == "down":
            self.background_speed = -100
            self.flyer_speed = Vec2(0, 8)
            self.flyer_rotationspeed = 11
            self.flyer_rotationdirection = -1   # 1: counter-clockwise, -1: clockwise
            self.flyer_defaultpos = Vec2(320, -31)
            self.termination_check = lambda ypos: ypos > 480 + 31
        elif flying_direction == "up":
            self.background_speed = 100
            self.flyer_speed = Vec2(0, -20)
            self.flyer_rotationspeed = 100
            self.flyer_rotationdirection = 1   # 1: counter-clockwise, -1: clockwise
            self.flyer_defaultpos = Vec2(320, 480 + 31)
            self.termination_check = lambda ypos: ypos < -31

        self.flying_direction = flying_direction

        # positions
        self.flyer_pos = Vec2(0, 0)
        self.flyer_pos.x = self.flyer_defaultpos.x
        self.flyer_pos.y = self.flyer_defaultpos.y
    def generate_meteorite_waves(self, amount):
        self.meteorites[:] = []

        for i in range(amount):
            last_x = 0
            y = (-i * 250)
            free_space = self.generate_free_space(y)
            while True:
                meteor = Sprite(load_image('res/asteroid2.png'),
                                Vec2(last_x + 50, y), (50, 50))
                if collides_with(meteor.pos, meteor.size, free_space[0],
                                 free_space[1]):
                    meteor.pos[0] += free_space[1][0]
                last_x = meteor.pos[0]
                self.meteorites.append(
                    (meteor, randint(1, 5)))  # Sprite, rot speed

                if meteor.pos[0] + meteor.size[0] > 640: break
Esempio n. 9
0
    def __init__(self):
        WorldInterface.__init__(self)

        self.local_backgrounds = {}
        self.local_backgrounds["space"] = Sprite(load_image("res/space.png"),
                                                 Vec2(320, 240), (640, 480))
        self.local_backgrounds["onplanet"] = Sprite(
            load_image("res/onplanet_final.png"), Vec2(320, 240), (640, 480))

        self.local_sprites = {}
        self.local_sprites["player_falling"] = Sprite(
            load_image("res/player_falling.png"), Vec2(100, -31), (40, 62))

        self.walker_pos = Vec2(80, 380)
        self.eater_pos = Vec2(510, 380)
        self.planet_pos = Vec2(320, 240)
        self.planet_current = 0
        self.spaceship_pos = Vec2(320, 240)
        self.spaceship_speed = Vec2(12, -12)
        self.local_sprites["player_walking_body"] = []
        self.local_sprites["player_walking_body"].append(
            Sprite(load_image("res/player_large_body_walk2.png"),
                   self.walker_pos, (100, 62)))
        self.local_sprites["player_walking_body"].append(
            Sprite(load_image("res/player_large_body_walk1.png"),
                   self.walker_pos, (100, 62)))
        self.local_sprites["player_walking_body"].append(
            Sprite(load_image("res/player_large_body_eat1.png"),
                   self.walker_pos, (100, 62)))
        self.local_sprites["player_walking_body"].append(
            Sprite(load_image("res/player_large_body_eat2.png"),
                   self.walker_pos, (100, 62)))

        self.local_sprites["player_walking_legs"] = []
        self.local_sprites["player_walking_legs"].append(
            Sprite(load_image("res/player_legs1.png"), self.walker_pos,
                   (100, 62)))
        self.local_sprites["player_walking_legs"].append(
            Sprite(load_image("res/player_legs2.png"), self.walker_pos,
                   (100, 62)))

        self.local_sprites["planet"] = []
        self.local_sprites["planet"].append(
            Sprite(load_image("res/planet_final.png"), self.planet_pos,
                   (110, 110)))
        self.local_sprites["planet"].append(
            Sprite(load_image("res/planet_final_eaten1.png"), self.planet_pos,
                   (110, 110)))
        self.local_sprites["planet"].append(
            Sprite(load_image("res/planet_final_eaten2.png"), self.planet_pos,
                   (110, 110)))
        self.local_sprites["planet"].append(
            Sprite(load_image("res/planet_final_eaten3.png"), self.planet_pos,
                   (110, 110)))
        self.local_sprites["planet"].append(
            Sprite(load_image("res/planet_final_eaten4.png"), self.planet_pos,
                   (110, 110)))
        self.local_sprites["planet"].append(
            Sprite(load_image("res/planet_final_eaten5.png"), self.planet_pos,
                   (110, 110)))
        self.local_sprites["planet"].append(
            Sprite(load_image("res/planet_final_eaten6.png"), self.planet_pos,
                   (110, 110)))
        self.local_sprites["planet"].append(
            Sprite(load_image("res/planet_final_eaten7.png"), self.planet_pos,
                   (110, 110)))
        self.local_sprites["planet"].append(
            Sprite(load_image("res/planet_final_eaten8.png"), self.planet_pos,
                   (110, 110)))
        self.local_sprites["planet"].append(
            Sprite(load_image("res/planet_final_eaten9.png"), self.planet_pos,
                   (110, 110)))

        self.local_sprites["spaceship"] = []
        self.local_sprites["spaceship"].append(
            Sprite(load_image("res/spaceship1.png"), self.spaceship_pos,
                   (80, 80), -45))
        self.local_sprites["spaceship"].append(
            Sprite(load_image("res/spaceship2.png"), self.spaceship_pos,
                   (80, 80), -45))

        self.spaceship_speed_start = Vec2(12, 12)
        self.spaceship_pos_start = Vec2(-100, -160)
        self.local_sprites["spaceship_1"] = []
        self.local_sprites["spaceship_1"].append(
            Sprite(load_image("res/spaceship1.png"), self.spaceship_pos_start,
                   (80, 80), -135))
        self.local_sprites["spaceship_1"].append(
            Sprite(load_image("res/spaceship2.png"), self.spaceship_pos_start,
                   (80, 80), -135))

        self.states = {}
        self.states[0] = self.cutscene_approaching
        self.states[1] = self.cutscene_falling
        self.states[2] = self.cutscene_walking
        self.states[3] = self.cutscene_eating
        self.states[4] = self.cutscene_planeteating
        self.states[5] = self.cutscene_eating
        self.states[6] = self.cutscene_planeteating
        self.states[7] = self.cutscene_eating
        self.states[8] = self.cutscene_planeteating
        self.states[9] = self.cutscene_thefinalbite

        self.current_state = 0
        self.current_frame = 0
Esempio n. 10
0
 def __init__(self):
     WorldInterface.__init__(self)
     
     #load all res
     self.res = {}
     self.res['bgs'] = [load_image("res/onplanet1.png"), \
                        load_image("res/onplanet2.png"), \
                        load_image("res/onplanet3.png"), \
                        load_image("res/onplanet4.png"),
                        load_image("res/onplanet5.png")]
     
     self.res['player'] = [load_image("res/player_small_body_walk1.png"), \
                           load_image("res/player_small_body_walk2.png"), \
                           load_image("res/player_small_body_eat1.png"), \
                           load_image("res/player_small_body_eat2.png"), \
                           load_image("res/player_medium_body_walk1.png"), \
                           load_image("res/player_medium_body_walk2.png"), \
                           load_image("res/player_medium_body_eat1.png"), \
                           load_image("res/player_medium_body_eat2.png"), \
                           load_image("res/player_large_body_walk1.png"), \
                           load_image("res/player_large_body_walk2.png"), \
                           load_image("res/player_large_body_eat1.png"), \
                           load_image("res/player_large_body_eat2.png"), \
                           load_image("res/player_legs1.png"), \
                           load_image("res/player_legs2.png")]
                           
     self.res['enemies'] = [load_image("res/icecreamstick1.png"), \
                            load_image("res/icecreamstick2.png"), \
                            load_image("res/icecreamcone1.png"), \
                            load_image("res/icecreamcone2.png"), \
                            load_image("res/icecreamcone1_open.png"), \
                            load_image("res/icecreamcone2_open.png"), \
                            load_image("res/icecreamboat1.png"), \
                            load_image("res/icecreamboat2.png"), \
                            load_image("res/icecreamboat3.png"), \
                            load_image("res/icecreamsmallboat1.png"), \
                            load_image("res/icecreamsmallboat2.png")]
                           
    
     #Animation configurations
     self.anims = {}
     self.anims['player'] = {}
     self.anims['player']['small_walk'] = (self.res['player'][0:2], 10, 'small_walk')
     self.anims['player']['medium_walk'] = (self.res['player'][4:6], 10, 'medium_walk')
     self.anims['player']['large_walk'] = (self.res['player'][8:10], 10, 'large_walk')        
     self.anims['player']['small_eat'] = (self.res['player'][2:4], 10, 'small_walk')
     self.anims['player']['medium_eat'] = (self.res['player'][6:8], 10, 'medium_walk')
     self.anims['player']['large_eat'] = (self.res['player'][10:12], 10, 'large_walk')        
     self.anims['player_legs'] = {}
     self.anims['player_legs']['legs_walk'] = (self.res['player'][12:14], 10, 'legs_walk')
     self.anims['enemy_stick'] = {}
     self.anims['enemy_stick']['walk'] = (self.res['enemies'][0:2], 8, 'walk')
     self.anims['enemy_cone'] = {}
     self.anims['enemy_cone']['walk'] = (self.res['enemies'][2:4], 8, 'open')
     self.anims['enemy_cone']['open'] = (self.res['enemies'][4:6], 8, 'walk')
     self.anims['enemy_boat'] = {}   
     self.anims['enemy_boat']['walk'] = (self.res['enemies'][6:9] + [self.res['enemies'][7]], 6, 'walk')
     self.anims['mini_boat'] = {} 
     self.anims['mini_boat']['walk'] = (self.res['enemies'][9:11], 4, 'walk')
            
     #Ticks
     self.ticks = {}
     self.ticks['player_attack'] = 0
     self.ticks['enemy_attack'] = 0
     self.ticks['enemy_move'] = 0       
                                         
     #BG
     self.bg = (Sprite(None, Vec2(320, 240), (640, 480)))
     
     #Player
     self.player = (Sprite(None, Vec2(150, 320), (100, 62)))
     self.player_legs = (Sprite(None, Vec2(200, 360), (100, 62)))
     self.player_speed = 7.0
     self.player_can_attack = True
     self.player_next_attack = 0
     self.player_flipped = False
     self.player_dmg = 1
     self.player_hitbox = (33,55)
     self.player_attack_hitbox_offset = Vec2(0,0)
     self.player_attack_size = (1,1)
     
     #Enemy
     self.enemies = []
Esempio n. 11
0
 def __init__(self):
     WorldInterface.__init__(self)
     self.bg = Sprite(load_image('res/gameover.png'), Vec2(320, 240),
                      (640, 480))
Esempio n. 12
0
 def __init__(self):
     WorldInterface.__init__(self)
     self.gamejam = Sprite(load_image('res/gamejam.png'), Vec2(320, 200),
                           (300, 300))
     self.load_bar = Sprite(load_image('res/load_bar.png'), Vec2(100, 400),
                            [5, 30])