Example #1
0
 def __init__(self, starting_level=None):
   self.settings = Settings(constants.DEFAULT_SETTINGS, "game")
   self.font_manager = FontManager()
   self.sound_manager = SoundManager(self.settings)
   self.sound_manager.trigger_music("movemovemove.ogg", 0.7)
   self.levels = []
   # this is dumb :P
   for i in xrange(1, 10000):
     try:
       level = level_loader.load_level(i, self)
       self.levels.append(level.name)
     except:
       break
   if starting_level is not None:
     self.current_level = starting_level
     self.max_level = self.current_level
     self.stage = STAGE_LEVEL
     self.restart_level()
     self.menu = None
   else:
     self.current_level = 1
     self.max_level = self.current_level
     self.stage = STAGE_MENU
     self.level = None
     self.menu = menu.MainMenu(self, None)
   self.menu_stack = []
   self.events = []
   self.should_quit = False
   self.victory = None
Example #2
0
    def __init__(self):
        """Initializes game data."""
        # Player starts at the center
        player = Player(WINDOW_WIDTH // 2, 25, PLAYER_VERTICES, COLOR_PLAYER, PLAYER_START_HP, PLAYER_START_SHIELDS, 1)
        self.do_the_thing = True
        self.object_container = GameObjectContainer(player)
        self.clock = pygame.time.Clock()
        # TODO Make level into an array of levels, and once the player finishes a level, move to the next one
        self.level = load_level("level1")  # Maye sometime later, add more levels
        self.timer = 0
        pygame.display.init()
        pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT), DOUBLEBUF | OPENGL)
        pygame.display.set_caption('Shitty Shooting Game')
        glClearColor(0.0, 0.0, 0.0, 1.0)

        for obstacle in self.level:
            if obstacle["type"] == OBSTACLE_WALL:
                new_wall = Wall(WINDOW_WIDTH // 2, 0, obstacle["data"], COLOR_WALL)
                self.object_container.walls.append(new_wall)
            elif obstacle["type"] == OBSTACLE_ENEMY:
                x, y = obstacle["data"]
                new_enemy = Enemy(x, y, ENEMY_VERTICES, COLOR_ENEMY, 2, 2)
                self.object_container.enemies.append(new_enemy)
                # self.object_container.enemies.append(obstacle["data"])

        self.clock.tick()
Example #3
0
 def restart_level(self):
   self.hot_swap(level_loader)
   self.level = level_loader.load_level(self.current_level, self)