Exemplo n.º 1
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按钮
    play_button = Button(ai_settings, screen, "Play")

    #创建一艘飞船,创建一个用于存储子弹的编组和一个外星人编组,一个用于存储游戏统计信息的实例,创建记分牌
    ship = Ship(ai_settings, screen)
    bullets = Group()
    aliens = Group()
    stats = GameStats(ai_settings)
    sb = Scoreboard(ai_settings, screen, stats)

    #创建一个外星人群
    gf.create_fleet(ai_settings, screen, ship, aliens)

    # 开始游戏的主循环
    while True:
        # 监视键盘和鼠标事件
        gf.check_events(ai_settings, screen, stats, sb, play_button, ship, aliens, bullets)

        if stats.game_active:
            ship.updata()
            gf.updata_bullets(ai_settings, screen, stats, sb, ship, bullets, aliens)
            gf.updata_aliens(ai_settings, stats, screen, ship, aliens, bullets, sb)

        gf.updata_screen(ai_settings, screen, stats, sb, ship, aliens, bullets, play_button)
Exemplo n.º 2
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")

    # 创建一艘飞船
    ship = Ship(ai_settings, screen)

    # 创建一个用于存储子弹的编组
    bullets = Group()

    # 创建一个外星人编组
    aliens = Group()
    # 创建外星人群
    gf.create_fleet(ai_settings, screen, aliens)

    # 开始游戏的主循环
    while True:
        # 监视键盘和鼠标事件
        gf.check_events(ai_settings, screen, ship, bullets)

        # 根据移动标志调整飞船的位置
        ship.update()

        # 更新子弹位置,并删除已消失的子弹
        gf.update_bullets(bullets)

        # 更新屏幕上的图像,并切换到新屏幕
        gf.updata_screen(ai_settings, screen, ship, aliens, bullets)
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")

    #创建一个飞船
    ship = Ship(ai_settings, screen)
    bullets = Group()
    aliens = Group()

    gf.create_fleet(ai_settings, screen, ship, aliens)

    stats = GameStats(ai_settings)

    play_button = Button(ai_settings, screen, "Play")

    scoreboard = Scoreboard(ai_settings, screen, stats)

    while True:

        gf.check_events(ai_settings, screen, stats, play_button, ship, aliens,
                        bullets, scoreboard)
        if stats.game_active == True:
            ship.update()
            gf.updata_bullets(bullets, aliens, ai_settings, screen, ship,
                              scoreboard, stats)
            gf.update_aliens(ai_settings, aliens, ship, screen, stats, bullets,
                             scoreboard)

        gf.updata_screen(ai_settings, screen, ship, aliens, bullets,
                         play_button, stats, scoreboard)
Exemplo n.º 4
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")

    # 创建一个飞机
    ship = Ship(ai_settings, screen)

    # 开始游戏主循环
    while True:
        gf.check_events(ship)
        ship.updata()
        gf.updata_screen(ai_settings, screen, ship)
Exemplo n.º 5
0
def run_game():
    pygame.init()
    pygame.display.set_caption("Alien Invasion")
    ai_settings = Settings()
    screen = pygame.display.set_mode(
        (ai_settings.screen_width, ai_settings.screen_height))

    ship = Ship(screen, ai_settings)
    bullets = Group()

    alien = Alien(ai_settings, screen)
    while True:
        gf.check_events(ai_settings, screen, ship, bullets)
        ship.updataLocation()
        gf.update_bullets(bullets)
        gf.updata_screen(ai_settings, screen, ship, bullets, alien)
Exemplo n.º 6
0
def run_game():
    #初始化pygame、设置、和屏幕对象
    pygame.init()
    ai_settings = Settings()
    screen = pygame.display.set_mode(
        (ai_settings.screen_width, ai_settings.screen_height))
    #screen = pygame.display.set_mode((1200,800))
    pygame.display.set_caption("Aline Invasion")

    #创建一个用于存储游戏统计信息的实例
    stats = GameStats(ai_settings)
    sb = Scoreboard(ai_settings, screen, stats)
    #创建一艘飞船
    ship = Ship(ai_settings, screen)
    #创建一个外星人编组
    aliens = Group()
    gf.create_fleet(ai_settings, screen, ship, aliens)
    #创建一个存储子弹的编组
    bullets = Group()
    #创建play按钮
    play_button = Button(ai_settings, screen, "Play")

    #开始游戏的主循环
    while True:
        gf.check_events(ai_settings, screen, stats, sb, play_button, ship,
                        aliens, bullets)
        if stats.game_active:
            ship.update()
            print(len(bullets))
            gf.updata_bullets(ai_settings, screen, stats, sb, ship, aliens,
                              bullets)
            gf.update_aliens(ai_settings, stats, screen, sb, ship, aliens,
                             bullets)
        #每次循环时都重绘屏幕
        gf.updata_screen(ai_settings, screen, stats, sb, ship, aliens, bullets,
                         play_button)
def run_game():
    # 初始化pygame 设置和屏幕对象
    pygame.init()
    ai_settings = Settings()
    screen = pygame.display.set_mode((ai_settings.screen_width,ai_settings.screeb_heigh))
    pygame.display.set_caption('alien invasion')
    # 创建一艘飞船
    ship = Ship(screen)
    # 设置背景色
    bg_color =(230,230,230)
    # 开始游戏主循环
    while True:
        gf.check_events(ship)
        gf.updata_screen(ai_settings,screen,ship)

        # 监视键鼠事件
        '''for event in pygame.event.get():
            if event.type==pygame.QUIT:
                sys.exit()'''
                # 每次循环时都重绘屏幕
        screen.fill(ai_settings.bg_color)
        ship.blitme()
        # 让最近绘制的屏幕可见
        pygame.display.flip()