def run_game():
    pygame.init()
    setting = Setting()
    screen = pygame.display.set_mode([setting.width, setting.height])

    #Now create the object of the ship
    ship = Ship(screen, setting)
    pygame.display.set_caption("Alien Games")

    # Make the Play button
    play_button = Button(setting, screen, "Play")

    #create an instance of gameStats
    stats = GameStats(setting)
    sb = Scoreboard(setting, screen, stats)

    #store a bullet in a list
    bullets = Group()
    aliens = Group()
    gf.create_fleet(setting, screen, aliens, ship)

    while True:
        gf.check_event(setting, screen, stats, play_button, sb, ship, aliens,
                       bullets)
        if stats.game_active:
            ship.update()
            gf.update_bullet(setting, screen, stats, sb, ship, bullets, aliens)
            gf.update_alien(setting, stats, screen, ship, aliens, bullets)
        gf.update_screen(screen, setting, sb, ship, stats, bullets, aliens,
                         play_button)
        screen.blit(setting.bg_image, setting.bg_image.get_rect())
        ship.blitme()
        ship.update()
        pygame.display.flip()
Exemplo n.º 2
0
def run_game():
    #初始化游戏并创建一个屏幕对象
    pygame.init()
    #生成游戏场景对象,screen对象,飞船,外星人,子弹,游戏状态,按钮,记分牌
    game_setting = Setting()
    screen = pygame.display.set_mode(
        (game_setting.screen_width, game_setting.screen_height))
    pygame.display.set_caption("Alien Invsion")
    bullets = []
    ship = Ship(screen)
    play_button = Button(screen, 'Play')
    stats = GameStats(game_setting)
    score_board = ScoreBoard(game_setting, screen, stats)
    aliens = []
    gf.create_alien_feet(game_setting, screen, ship, aliens)
    #开始游戏的主循环
    while True:
        #获取事件响应
        gf.check_event(game_setting, screen, ship, bullets, stats, play_button,
                       aliens)
        if stats.game_active:
            ship.update()
            gf.update_bullet(game_setting, screen, ship, bullets, aliens,
                             score_board, stats)
            gf.update_alien(game_setting, screen, bullets, aliens, ship, stats)
        gf.update_screen(game_setting, screen, ship, bullets, aliens,
                         play_button, stats, score_board)
Exemplo n.º 3
0
def run_game():
    pygame.init()
    ai_settings = Settings()
    screen = pygame.display.set_mode(
        (ai_settings.screen_width, ai_settings.screen_height))
    pygame.display.set_caption("Alien Invasion")
    play_button = Button(ai_settings, screen, "Play")
    ship = Ship(ai_settings, screen)
    bullets = Group()
    aliens = Group()
    gf.create_fleet(ai_settings, screen, ship, aliens)
    # alien = Alien(ai_settings,screen)
    # print('x:'+str(alien.rect.x) + ' y:'+str(alien.rect.y) + ' centerx:' + str(alien.rect.centerx))
    stats = GameStats(ai_settings)
    stats.get_high_score()
    sco_boa = Scoreboard(ai_settings, screen, stats)
    while True:
        gf.check_events(ai_settings, screen, stats, sco_boa, play_button, ship,
                        aliens, bullets)
        if stats.game_active:
            ship.update()
            gf.update_bullets(ai_settings, screen, stats, sco_boa, ship,
                              aliens, bullets)
            gf.update_alien(ai_settings, stats, screen, sco_boa, ship, aliens,
                            bullets)
        gf.update_screen(ai_settings, screen, stats, sco_boa, ship, aliens,
                         bullets, play_button)
Exemplo n.º 4
0
def run_game():
    # 初始化游戏并创建一个屏幕对象
    pygame.init()
    pygame.mixer.init()
    ai_settings = Settings()
    screen = pygame.display.set_mode(
        (ai_settings.screen_width, ai_settings.screen_height))
    pygame.display.set_caption("Alien Invasion")
    play_button = Button(ai_settings, screen, 'play')
    #创建一艘飞船
    ship = Ship(ai_settings, screen)
    #创建一个用于存储游戏统计信息的实例
    status = gs.GameStatus(ai_settings)
    #创建一个用于存储子弹的编组
    bullets = Group()
    #创建一个外星人编组
    aliens = Group()
    #创建外星人群
    gf.create_fleet(ai_settings, screen, aliens, ship)
    #创建分数
    sb = Scoreboard(ai_settings, screen, status)
    #创建音乐
    music_game = MusicPlay()
    # 开始游戏的主循环
    while True:
        # 监视键盘和鼠标事件
        gf.check_events(ai_settings, screen, ship, bullets, status,
                        play_button, aliens, sb, music_game)
        if status.game_active:
            music_game.background_music_play()
            ship.update()
            gf.update_bullets(bullets, aliens, ai_settings, screen, ship,
                              status, sb, music_game)
            gf.update_alien(aliens, ai_settings, ship, status, bullets, screen,
                            sb)
            #每次循环时都重绘屏幕
        gf.update_screen(ai_settings, screen, ship, bullets, aliens,
                         play_button, status, sb)
Exemplo n.º 5
0
def run_game():
    #初始化游戏并创建一个屏幕
    pygame.init()
    # screen = pygame.display.set_mode((1200,800))
    ai_settings = Settings()
    screen = pygame.display.set_mode((ai_settings.screen_width,ai_settings.screen_height))
    pygame.display.set_caption("Alien Invasion")

    #设置屏幕背景色
    # bg_color = (230,230,230)

    #绘制飞船
    ship = Ship(ai_settings,screen)

    #存储子弹的编组
    bullets = Group()

    #创建外星人
    # alien =Alien(ai_settings,screen)
    aliens = Group()
    gf.create_fleet(ai_settings,screen,ship,aliens)

    #存储统计信息
    stats = GameStats(ai_settings)
    sb = Scoreboard(ai_settings,screen,stats)
    #创建按钮
    play_button = Button(ai_settings,screen,"start")

    #开始游戏主循环
    while True:
        gf.check_events(ai_settings,screen,stats,play_button,ship,aliens,bullets)
        if stats.game_active:
            ship.update()
            gf.update_bullets(ai_settings,screen,stats,sb,ship,aliens,bullets)
            gf.update_alien(ai_settings,stats,screen,ship,aliens,bullets)
        gf.update_screen(ai_settings,screen,stats,sb,ship,aliens,bullets,play_button)