Exemplo n.º 1
0
 def __init__(self, screen, egen, title_rect, image, menu, menu_rect,
              moves):
     self.screen = screen
     self.events = egen
     self.events.add_callback(self)
     frame = Frame(self.screen, title_rect)
     self.title = ImageBox(frame, image)
     frame = Frame(self.screen, menu_rect)
     self.menu = TextMenuBox(frame, menu, self.events, moves)
Exemplo n.º 2
0
 def create_status_box(self):
     frame = Frame(self.game.screen, Rect(660, 20, 200, 200))
     data = {
         'score': 0,
         'level': 1,
     }
     self.status_box = DictBox(frame, data)
Exemplo n.º 3
0
 def __init__(self):
     self.game = Game()
     floorframe = Frame(self.game.screen, Rect(0, 542, MAX_X + 36, 596))
     self.floor = TiledMap(self.game, floorframe)
     self.floor.fill_map('#', (25, 2))
     self.player = Player(self.game)
     self.aliens = Group()
     self.create_aliens()
     self.shots = Group()
     self.alien_shots = Group()
Exemplo n.º 4
0
 def test_game_paused(self, screen):
     """Display pause box."""
     frame = Frame(screen, Rect(100, 100, 260, 160))
     egen = EventGenerator()
     egen.add_scripted_keys(['a'])
     gp = GamePausedBox(frame,
                        config.PAUSE_IMAGE,
                        text='test game paused signal',
                        egen=egen)
     gp.draw()
     pygame.display.update()
     gp.activate()
Exemplo n.º 5
0
def show_highscores(new_score, screen, rect, filename, image, textpos):
    """
    Display high score list and gets a name if the score is high enough.
    """
    screen.clear()
    frame = Frame(screen, rect)
    events = EventGenerator()
    hs = HighscoreList(filename)
    hs = HighscoreBox(frame, events, hs, image, textpos)
    hs.enter_score(new_score)
    hs.activate()
    screen.clear()
    pygame.display.update()
Exemplo n.º 6
0
 def test_highscores(self, screen):
     """Enters something into the highscore list."""
     os.system('cp %s %s' % (HIGHSCORE_BACKUP, config.HIGHSCORE_FILE))
     hl = HighscoreList(config.HIGHSCORE_FILE)
     events = EventGenerator()
     events.add_scripted_keys(['B', 'C', chr(K_RETURN), chr(K_RETURN)])
     events.add_scripted_event(QUIT_EVENT)
     screen.clear()
     frame = Frame(screen, config.HIGHSCORE_RECT)
     hs = HighscoreBox(frame, events, hl, config.HIGHSCORE_IMAGE,
                       config.HIGHSCORE_TEXT_POS)
     hs.enter_score(33333)
     hs.activate()
     assert hl.scores[0] == (33333, 'BC')
Exemplo n.º 7
0
    def __init__(self):
        self.game = Game()

        self.level = None
        self.pac = None
        self.ghosts = []
        self.status_box = None

        self.create_level()
        self.create_pac()
        self.create_ghosts()
        self.create_status_box()
        frame = Frame(self.game.screen, Rect(660, 220, 200, 200))
        self.lives = BarDisplay(frame, self.game, 3, 'p')

        self.collided = False
        self.mode = None
        self.update_mode = self.update_ingame
Exemplo n.º 8
0
            self.steps -= 1
        if self.steps <= 0:
            self.finished = True
            if self.callback:
                self.callback()

    def draw(self):
        self.tile.draw(self.frame, self.current_vector)


def wait_for_move(move, screen=None, draw=None, delay=0.01):
    while not move.finished:
        if screen:
            screen.clear()
        move.move()
        if draw:
            draw()
        move.draw()
        pygame.display.update()
        time.sleep(delay)


if __name__ == '__main__':
    screen = Screen(Vector(800, 520), '../lightsouls/data/background.png')
    frame = Frame(screen, Rect(64, 64, 320, 320))
    tile_factory = TileFactory('../lightsouls/data/tiles.conf')
    pac = tile_factory.get('b.pac_right')
    move = Move(frame, pac, Vector(50, 50), RIGHT * 2, 200)
    wait_for_move(move, screen)
    time.sleep(1)
Exemplo n.º 9
0
 def test_game_over(self, screen):
     """Display box with Game Over message."""
     frame = Frame(screen, Rect(100, 100, 260, 160))
     go = GameOverBox(frame, config.GAME_OVER_IMAGE,
         font=config.DEMIBOLD_BIG, color=config.WHITE)
     go.activate()
Exemplo n.º 10
0
        self.map.draw()

    def increase(self):
        self.value += 1
        self.redraw()

    def decrease(self):
        if self.value > 0:
            self.value -= 1
        self.redraw()


if __name__ == '__main__':
    screen = Screen()
    tile_factory = TileFactory()
    frame = Frame(screen, Rect(96, 64, 640, 32))
    bananas = BarDisplay(frame, tile_factory, 0, 'b', False)
    frame = Frame(screen, Rect(64, 64, 32, 320))
    cherries = BarDisplay(frame, tile_factory, 10, 'c', True)
    for i in range(15):
        pygame.display.update()
        time.sleep(0.1)
        # screen.clear()
        bananas.increase()
        cherries.decrease()
        pygame.display.update()
    for i in range(15):
        pygame.display.update()
        time.sleep(0.1)
        screen.clear()
        bananas.decrease()