Ejemplo n.º 1
0
class SuperPilot:
    def __init__(self):
        pygame.init()
        self.settings = Settings()

        self.screen = pygame.display.set_mode((0, 0), pygame.FULLSCREEN)
        self.settings.screen_width = self.screen.get_rect().width
        self.settings.screen_height = self.screen.get_rect().height
        pygame.display.set_caption("Super Pilot!")

        self.plane = Plane(self)

    def run_game(self):
        while True:
            self._check_events()
            self.plane.update()
            self._update_screen()

    def _check_events(self):
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                sys.exit()
            elif event.type == pygame.KEYDOWN:
                self._check_keydown_events(event)
            elif event.type == pygame.KEYUP:
                self._check_keyup_events(event)

    def _check_keydown_events(self, event):
        if event.key == pygame.K_RIGHT:
            self.plane.moving_right = True
        elif event.key == pygame.K_LEFT:
            self.plane.moving_left = True
        elif event.key == pygame.K_UP:
            self.plane.moving_up = True
        elif event.key == pygame.K_DOWN:
            self.plane.moving_down = True
        elif event.key == pygame.K_q:
            sys.exit()

    def _check_keyup_events(self, event):
        if event.key == pygame.K_RIGHT:
            self.plane.moving_right = False
        elif event.key == pygame.K_LEFT:
            self.plane.moving_left = False
        elif event.key == pygame.K_UP:
            self.plane.moving_up = False
        elif event.key == pygame.K_DOWN:
            self.plane.moving_down = False

    def _update_screen(self):
        self.screen.fill(self.settings.bg_color)
        self.plane.blitme()
        pygame.display.flip()
Ejemplo n.º 2
0
def init_game():
    pygame.init()

    game_settings = Settings()

    screen=pygame.display.set_mode((game_settings.screen_width,game_settings.screen_height), pygame.FULLSCREEN)
    # screen = pygame.display.set_mode((game_settings.screen_width, game_settings.screen_height))
    plane=Plane(screen)
    stats=GameStats(game_settings)

    bird_1 = Bird_1(screen)
    bird_2 = Bird_2(screen)
    bird_3 = Bird_3(screen)
    bird_4 = Bird_4(screen)
    bird_5 = Bird_5(screen)

    bird_6=Bird_6(screen)
    background=Background(screen)
    pygame.display.set_caption("Green Plane")


    bullets=Group()
    enemies = Group()
    enemies.add(bird_1, bird_2, bird_3, bird_4, bird_5, bird_6)
    friends=Group()
    friends.add()
    planes=Group()
    planes.add(plane)

    button = Button(screen, game_settings, "Play")
    sb = Scoreboard(game_settings, screen, stats)


    while True:
        g_f.chek_events(game_settings, plane, screen, bullets, button, stats, enemies, sb)
        g_f.update_screen(background, planes, bullets, enemies, screen, button, friends, stats, sb)



        if stats.game_active:
            g_f.update_bullets(bullets, enemies, planes, friends, bird_6, stats, sb, screen)
            g_f.aliens_move(enemies, screen, friends, planes, bullets, plane)



            plane.update()
            plane.blitme()
Ejemplo n.º 3
0
def run_game():
    # 初始化游戏并创建一个屏幕对象
    pygame.init()
    set_game = Setting()
    screen = pygame.display.set_mode(
        (set_game.screen_width, set_game.screen_height))
    battel_plane = Plane(screen)
    bg_color = (35, 191, 234)
    pygame.display.set_caption("Alien Invasion")

    while True:
        check_events(battel_plane)
        # 让最近绘制的屏幕可见
        screen.fill(bg_color)
        battel_plane.blitme()
        battel_plane.update_location()
        pygame.display.flip()