Example #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('陆小宝打怪兽!')

    # 创建Play按钮
    play_button = Button(ai_settings, screen, 'Play')

    # 创建一个用于存储游戏统计信息的实例
    stats = GameStats(ai_settings)

    # 创建一艘飞船,一个子弹编组,和一个外星人编组
    ship = Ship(ai_settings, screen)
    bullets = Group()
    aliens = Group()

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

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

        gf.update_screen(ai_settings, screen, stats, ship, aliens, bullets, play_button)
def run_game():
    """初始化pygame、设置和屏幕"""
    pygame.init()
    gui_setting = Settings()
    screen = pygame.display.set_mode(
        (gui_setting.screen_width, gui_setting.screen_height))

    pygame.display.set_caption("Alien Invasion")
    play_button = Button(gui_setting, screen, "PLAY")
    stats = GameStats(gui_setting)
    sb = ScoreBoard(gui_setting, screen, stats)
    # 创建飞船、子弹、外星人
    ship = Ship(screen, gui_setting)

    bullets = Group()

    aliens = Group()
    # 创建一群外星人
    gf.creat_aliens(gui_setting, screen, aliens)

    # 开始游戏主循环
    while True:
        gf.check_events(gui_setting, screen, ship, bullets, stats, play_button,
                        aliens, sb)
        if stats.game_active == True:
            ship.update()
            gf.update_bullets(gui_setting, screen, bullets, aliens, sb, stats)
            gf.update_alien(gui_setting, stats, screen, ship, aliens, bullets,
                            sb)
        gf.update_screen(gui_setting.bg_color, gui_setting, screen, stats,
                         ship, bullets, aliens, play_button, sb)
def run_game():
    # Initialize game and create a screen object.
    pygame.init()
    settings = Settings()
    screen = pygame.display.set_mode(
        (settings.screen_width, settings.screen_height))
    pygame.display.set_caption("Alien Invasion")
    Shiper = ship(settings, screen)
    alien = Alien(settings, screen)
    bullets = Group()
    aliens = Group()
    stats = GameStats(settings)
    gf.create_fleet(settings, screen, aliens)
    play_button = Button(settings, screen, "Play")
    while True:
        gf.check_events(settings, screen, stats, play_button, Shiper, aliens,
                        bullets)
        if stats.game_active:
            Shiper.update()
            gf.update_bullets(settings, screen, ship, aliens, bullets, stats)
            gf.update_alien(settings, stats, screen, Shiper, aliens, bullets)
        else:
            pygame.display.set_caption("Game Over")

        gf.update_screen(settings, screen, Shiper, aliens, bullets, stats,
                         play_button)
Example #4
0
def run_game():
    #init游戏并创建一个窗口对象
    pygame.init()
    ai_settings=Settings()#创建Settings类的实例
    screen=pygame.display.set_mode((ai_settings.screen_width,ai_settings.screen_height))
    pygame.display.set_caption("地球保卫战 v1.0")

    #创建实例
    sscol=Group()
    stone=Stone(screen)
    stats=GameStats(ai_settings)
    bullets=Group()
    ship=Ship(ai_settings,screen)
    sscol.add(ship)
    aliens=Group()
    button=Button(ai_settings,screen,"Play")
    score=Score(ai_settings,screen,stats)

    
    while True:

        #帧数
        pygame.time.Clock().tick(120)
        #监视键盘和鼠标事件
        func.check_events(ai_settings,screen,ship,aliens,bullets,button,stats,score)

        #决定游戏是否开始
        if stats.game_status:
            ship.update()
            func.release_bullet(ai_settings,bullets,screen,aliens,stats,score)
            func.update_alien(ai_settings,screen,aliens,ship,stats,bullets,score,stone,sscol)
        
        
            #每次循环都重绘屏幕
        func.update_screen(ai_settings,screen,ship,bullets,aliens,stats,button,score,stone)
Example #5
0
def run_game():
    pygame.init()
    ai_setting = Settings()
    screen = pygame.display.set_mode(
        (ai_setting.screen_width, ai_setting.screen_height))
    pygame.display.set_caption(ai_setting.capton)
    ship = Ship(ai_setting, screen)
    bullets_list = Group()
    alien_list = Group()
    play_button = Button(ai_setting, screen, 'Play')
    stats = GameStats(ai_setting)
    sb = Scoreboard(ai_setting, screen, stats)
    # 开始游戏的主循环

    # 创建外星人群
    gf.create_fleet(ai_setting, screen, ship, alien_list)

    while True:

        # 监视键盘和鼠标事件
        gf.check_events(ai_setting, screen, stats,
                        play_button, ship, alien_list, bullets_list)
        # 键盘移动更新图像位置

        if stats.game_active:
            ship.update()
            gf.update_bullets(ai_setting, screen, stats, sb, ship,
                              alien_list, bullets_list)
            gf.update_alien(ai_setting, stats, screen,
                            ship, alien_list, bullets_list)
            # 更新屏幕上的图像,切换到新屏幕
        gf.update_screen(ai_setting,  screen, stats, sb, ship, alien_list,
                         bullets_list, play_button)
def run_game():
    #initialize game and create a screen object
    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)

    #Make a group to store bullets in .
    bullets = Group()
    aliens = Group()
    stars = Group()
    gf.create_fleet(ai_settings, screen, ship, aliens)
    #start the main loop for the run_game
    while True:
        #Watch for keyboard and mouse events .
        gf.check_events(ai_settings, screen, ship, bullets)
        ship.update()
        gf.create_star(ai_settings, screen, stars)
        gf.update_star(stars)
        gf.update_alien(ai_settings, aliens)
        gf.update_bullets(bullets)
        gf.update_screen(ai_settings, screen, ship, aliens, bullets, stars)
Example #7
0
def run_game():
    pygame.init()
    ai_settings = Settings()
    screen = pygame.display.set_mode(
        (ai_settings.screen_width, ai_settings.screen_height))
    ship = Ship(ai_settings, screen)
    bullets = Group()
    aliens = Group()

    # 创建外星人群
    gf.create_fleet(ai_settings, screen, ship, aliens)
    pygame.display.set_caption("Alien Invasion")

    # 创建一个用于存储游戏统计信息实例
    stats = GameStates(ai_settings)
    # 创建Play按钮
    play_button = Button(ai_settings, screen, "Play")

    while True:
        gf.check_events(ai_settings, screen, stats, play_button, ship, aliens,
                        bullets)

        if stats.game_active:
            gf.update_bullets(ai_settings, screen, ship, aliens, bullets)
            gf.update_alien(ai_settings, stats, screen, ship, aliens, bullets)
            gf.check_events(ai_settings, screen, stats, play_button, ship,
                            aliens, bullets)
        gf.update_screen(ai_settings, screen, stats, ship, aliens, bullets,
                         play_button)
def run_game():
    # Initialize game and create a screen object.
    pygame.init()
    ai_settings = Settings()
    screen = pygame.display.set_mode((ai_settings.width, ai_settings.height))
    ship = Ship(ai_settings, screen)
    pygame.display.set_caption("For The True Emperor!")
    play_button = Button(ai_settings, screen, "Play")

    stats = GameStats(ai_settings)
    sb = Scoreboard(ai_settings, screen, stats)

    bullets = Group()
    aliens = Group()
    gf.create_fleet(ai_settings, screen, aliens, ship)
    # Start the main loop for the game.

    while True:
        # Watch for keyboard and mouse events.
        gf.check_events(ai_settings, screen, stats, play_button, sb, ship,
                        aliens, bullets)

        if stats.game_active:
            ship.update()
            gf.update_bullets(ai_settings, screen, stats, sb, ship, bullets,
                              aliens)
            gf.update_alien(ai_settings, stats, screen, ship, aliens, bullets)

        gf.update_screen(screen, ai_settings, sb, ship, stats, bullets, aliens,
                         play_button)

        ship.blitme()
        ship.update()
        # Make the most recently drawn screen visible.
        pygame.display.flip()
Example #9
0
def run_game():
    # 初始化游戏,创建一个屏幕对象,设置其屏幕属性
    pygame.init()
    make_settings = Settings()
    screen = pygame.display.set_mode(
        (make_settings.screen_width, make_settings.screen_height))
    pygame.display.set_caption('Alien Invasion')
    # 创建一艘飞船实例
    ship = Ship(make_settings, screen)
    # 将飞船置于下方中间
    ship.ship_center()
    # 创建一个用于存储统计信息的实例
    stats = GameStats(make_settings)
    # 创建一个Group类的实例,并将其命名为bullet,就是子弹组
    bullets = Group()
    # 创建一个实例,外星人组
    aliens = Group()
    # 在一行中创建多个外星人
    gf.create_fleets(make_settings, screen, ship, aliens)
    # 开始游戏的主循环
    while True:
        # 监视键盘和鼠标事件
        gf.check_event(make_settings, screen, ship, bullets)
        if stats.game_activity:
            gf.update_bullets(make_settings, screen, ship, bullets, aliens)
            gf.update_alien(make_settings, screen, stats, ship, bullets,
                            aliens)
            # 每次循环都重新绘制更新背景屏幕,并将屏幕显示出来
            gf.update_screen(make_settings, screen, ship, aliens, bullets)
Example #10
0
def run_game():

    pygame.init()
    game_settings = Settings()
    screen = pygame.display.set_mode(
        (game_settings.screen_width, game_settings.screen_height))
    pygame.display.set_caption("Alien Invasion")
    ship = Ship(screen, game_settings)

    bullets = Group()

    aliens = Group()
    gf.create_fleet(aliens, screen, game_settings, ship)

    stats = Game_Stats(game_settings)

    play_button = Button(screen, "PLAY")
    sb = Scoreboard(game_settings, screen, stats)

    while True:

        gf.check_events(ship, bullets, screen, game_settings, stats,
                        play_button, aliens, sb)
        if stats.game_active:
            ship.update()
            bullets.update()
            gf.update_bullets(bullets, aliens, screen, game_settings, ship,
                              stats, sb)
            gf.update_alien(aliens, ship, bullets, game_settings, stats,
                            screen, sb)
            gf.check_fleet_edges(game_settings, aliens)

        gf.update_screen(game_settings, ship, screen, bullets, aliens, stats,
                         play_button, sb)
Example #11
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("Pick the stars")

    people = People(ai_settings, screen)
    stars = Stars(ai_settings, screen)
    alien = Alien(ai_settings, screen)
    bullets = Group()
    stats = GameStats(ai_settings)
    sb = Scoreboard(ai_settings, screen, stats)
    play_button = Button(ai_settings, screen, "Play")

    while True:
        gf.check_events(ai_settings, stats, sb, people, alien, bullets,
                        play_button)
        bullets.update()
        for bullet in bullets.copy():
            if bullet.rect.bottom >= ai_settings.screen_height:
                bullets.remove(bullet)
        if stats.game_active:
            people.update()
            gf.update_alien(alien)
            gf.update_stars(ai_settings, stats, sb, people, stars)
            if alien.rect.x % 120 == 0:
                gf.update_bullet(ai_settings, stats, screen, people, alien,
                                 bullets)

        gf.update_screen(ai_settings, stats, sb, screen, people, stars, alien,
                         bullets, play_button)
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()
    # 创建外星人群
    gf.creat_fleet(ai_settings, screen, ship, aliens)

    #设置背景色
    bg_colar = (230, 230, 230)
    #开始游戏的主循环

    #创建一个外星人
    #alien=Ailen(ai_settings,screen)
    # 创建一个用于存储游戏统计信息的实例
    stats = GameStats(ai_settings)
    # 创建存储游戏统计信息的实例,并创建计分牌
    sb = Scoreboard(ai_settings, screen, stats)
    while True:
        # 监视键盘和鼠标事件
        # gf.check_events(ship)
        gf.check_events(ai_settings, screen, stats, sb, play_button, ship,
                        aliens, bullets)
        if stats.game_active:
            ship.update()
            #让最近绘制的屏幕可见

            bullets.update()
            # 删除已消除的子弹
            gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens,
                              bullets)
            gf.update_alien(ai_settings, screen, stats, sb, ship, aliens,
                            bullets)
            # gf.update_screen(ai_settings,screen,ship,alien,bullets)
            print(len(bullets))
        gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets,
                         play_button)
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")

    #创建一个用于存储游戏统计信息的实例
    stats = GameStates(ai_settings)
    sb = Scoreboard(ai_settings, screen, stats)

    #创建一艘飞船
    ship = Ship(ai_settings, screen)
    #创造一个用于存储子弹的编组
    bullets = Group()
    aliens = Group()

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

    bg_color = (230, 230, 230)

    #alien = Alien(ai_settings,screen)

    #开始游戏的主循环
    while True:

        #监视键盘和鼠标事件
        gf.check_events(ai_settings, screen, stats, sb, play_button, ship,
                        aliens, bullets)

        if stats.ship_left > 0:
            ship.update()
            gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens,
                              bullets)
            gf.update_alien(ai_settings, screen, stats, sb, ship, aliens,
                            bullets)
            #print(len(bullets))

        gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets,
                         play_button)

        #让最近绘制的屏幕可见
        pygame.display.flip()
Example #14
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_caption("Alien Invasion")
    play_button = Button(ai_settings, screen, "play")
    stats = GameStats(ai_settings)  #创建一个统计游戏信息的stats实例
    sb = ScoreBoard(ai_settings, screen, stats)  #创建记分牌实例

    #创建一艘飞船
    ship = Ship(ai_settings, screen)  #提供screen实参,表示将在screen上绘制飞船

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

    #创建一个外星人空的编组
    aliens = Group()

    #创建外星人群
    gf.creat_fleet(ai_settings, stats, screen, ship, aliens)

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

        if stats.game_active:
            #调用飞船移动位置坐标更新的方法
            ship.update()
            bullets.update()

            #删除已消失的子弹
            gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens,
                              bullets)

            #更新外星人的坐标位置
            gf.update_alien(ai_settings, stats, screen, sb, ship, aliens,
                            bullets)

        #更新屏幕,包括screen和ship
        gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets,
                         play_button)
Example #15
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(screen, ai_settings)
    bullets = Group()
    aliens = Group()
    gf.create_fleet(ai_settings, screen, ship, aliens)

    while True:
        gf.check_events(ai_settings, screen, ship, bullets)
        ship.update()
        gf.update_bullets(bullets, aliens)
        gf.update_alien(ai_settings, aliens)
        gf.update_screen(ai_settings, screen, ship, bullets, aliens)
Example #16
0
def run_game():
    """ Initialize Game and Create a Screen Object """

    # Setting Object
    game_setting = Settings()
    screen = pg.display.set_mode((game_setting.screen_width, game_setting.screen_height))
    pg.display.set_caption("Alien Invasion")

    #Make Play Button
    playButton = Button(game_setting, screen, 'Play')


    #Create an Instance to store game statistics
    stats = Game_stats(game_setting)
    
    #Creating Instance of ScoreBoard
    sb = Scoreboard(game_setting, screen, stats)

    #Make a Ship
    ship = Ship(game_setting, screen)
    bullets = Group()
    aliens = Group()

    #Background
    bg = pg.image.load('./images/bg.png')

    # #Set Background color
    # bg_color = game_setting.bg_color
    gf.create_fleet(game_setting, screen, ship, aliens)

    while True:
        "Main Game Loop"

        # Keyboard and Mouse Events
        gf.check_events(game_setting, screen, stats, sb, ship, aliens, bullets, playButton)

        if stats.game_active:
            ship.update()
            gf.update_bullets(game_setting, screen, stats, sb, ship, aliens, bullets)
            gf.update_alien(game_setting, stats, screen, sb, ship, aliens, bullets)
            
        gf.update_screen(game_setting, screen, stats, sb, ship, aliens, bullets, bg, playButton)
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')
    #创建唯一一个保存游戏统计信息的实例
    stats = GameStats(ai_settings)
    #创建记分牌
    sb = Scoreboard(ai_settings, screen, stats)

    #创建飞船
    ship = Ship(ai_settings, screen)
    #创建一个管理bullet的group
    bullets = Group()
    #创建一个管理alien的group
    aliens = Group()
    #创建外星人舰队
    gf.creat_fleet(ai_settings, screen, ship, aliens)
    #创建按钮
    play_button = Button(ai_settings, screen, 'Play')

    #开始游戏的主循环
    while True:
        #事件监视
        gf.check_events(ai_settings, screen, stats, sb, ship, aliens, bullets,
                        play_button)
        if stats.game_active:
            # 更新飞船位置
            ship.update()
            # 更新子弹
            gf.update_bullets(ai_settings, screen, stats, sb, bullets, ship,
                              aliens)
            # 更新外星人位置
            gf.update_alien(ai_settings, stats, sb, screen, ship, aliens,
                            bullets)

        #更新屏幕
        gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets,
                         play_button)
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")

    # 创建一个用于存储游戏统计信息的实例
    stats = GameStats(ai_settings)
    sb = Scoreboard(ai_settings, screen, stats)

    # 创建一艘飞船
    ship = Ship(ai_settings, screen)
    # 创建一个用于存储子弹的编组
    bullets = Group()
    # 创建一个外星人编组
    aliens = Group()
    # alien = Alien(ai_settings, screen)

    # 创建外星人群
    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 == True:
            ship.update()
            gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens, 
                bullets)
            gf.update_alien(ai_settings, screen, stats, sb, ship, aliens, bullets)

        gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets,
            play_button)
Example #19
0
def run_game():
    # 初始化游戏窗口
    pygame.init()
    my_game_setting = GameSettings()
    screen = pygame.display.set_mode(
        (my_game_setting.screen_width, my_game_setting.screen_height))
    my_ship = Ship(my_game_setting, screen)
    pygame.display.set_caption("MyGame")
    # 设置背景颜色
    bg_color = my_game_setting.bg_color
    # 创建子弹集合
    bullets = Group()
    aliens = Group()
    gf.create_fleet(my_game_setting, screen, aliens, my_ship)

    # game loop
    while True:
        gf.check_events(my_ship, my_game_setting, screen, bullets)
        my_ship.update()
        gf.update_bullet(aliens, bullets)
        gf.update_alien(my_game_setting, aliens)
        gf.update_screen(my_game_setting, screen, my_ship, bullets, aliens)
Example #20
0
def run_game():
    # 初始化pygame、设置和屏幕对象
    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')
    # 创建一个用于存储游戏统计信息的实例
    stats = GameStats(ai_settings)

    # 创建一艘飞船
    ship = Ship(ai_settings, screen)
    # 创建以个用于储存子弹的编组
    bullets = Group()  # Group 是创建一个类似列表的,里面可以装子弹的实例
    # 创建一个外星人
    alien = Alien(ai_settings, screen)
    # 创建一个外星人编组
    aliens = Group()
    # 创建外星人群
    gf.create_fleet(ai_settings, screen, ship, aliens)

    while True:
        # 导入game_function的检查函数函数
        gf.check_events(ai_settings, screen, stats, play_button, ship, bullets)
        if stats.game_active:
            # 更新飞船最新位置
            ship.update()
            # 更新子弹最新位置,并删除过期子弹
            gf.update_bullets(ai_settings, screen, ship, aliens, bullets)
            # 更新外星人的位置
            gf.update_alien(ai_settings, stats, screen, ship, aliens, bullets)
            # 调用gf的update_screen方法,在屏幕绘出图像
        gf.update_screen(ai_settings, screen, stats, ship, aliens, bullets,
                         play_button)
Example #21
0
def run_game():
    pygame.init()
    print("start")

    ai_settings = Settings()
    screen = pygame.display.set_mode(ai_settings.screen_size)
    pygame.display.set_caption("Alien Invasion")

    #创建一艘飞船
    ship = Ship(ai_settings, screen)
    #创建一个用于存储子弹的编组
    bullets = Group()
    #创建外星人
    aliens = Group()
    gf.creat_fleet(ai_settings, screen, aliens, ship)
    status = Gs(ai_settings)

    while (True):
        gf.check_events(ai_settings, screen, ship, bullets)
        if status.game_active:
            gf.update_bullets(ai_settings, screen, aliens, ship, bullets)
            gf.update_alien(ai_settings, status, screen, ship, aliens, bullets)
        gf.update_screen(ai_settings, screen, ship, bullets, aliens)
Example #22
0
def run_game():
    #Initialize the game and create the screen object.
    pygame.init()
    ai_settings = Settings()
    screen = pygame.display.set_mode(
        (ai_settings.screen_width, ai_settings.screen_height))
    pygame.display.set_caption("Star Chaser")

    clock = pygame.time.Clock()

    #Make the character
    nova = Star_Character(ai_settings, screen)

    #make bullet group to store bullets
    bullets = Group()

    alien_1_group = Group()

    #gf.create_fleet(ai_settings,screen,alien_1_group)

    #Set the background image
    bg_color = (255, 255, 255)

    alien_1 = Alien1(ai_settings, screen)

    #Start the main loop for the game.
    while True:

        gf.check_events(ai_settings, screen, nova, bullets)

        nova.update()

        gf.update_bullets(bullets)

        gf.update_alien(ai_settings, alien_1_group)

        gf.update_screen(ai_settings, screen, nova, alien_1, bullets)
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")
    #创建一个用于存储游戏统计信息的实例,并创建记分牌
    stats = GameStats(ai_settings)
    sb = Scoreboard(ai_settings, screen, stats)

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

    #创建一艘飞船,一个子弹编组和一个外星人编组
    ship = Ship(ai_settings, screen)
    bullets = Group()
    aliens = Group()
    #创建外星人群
    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.update()
            gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens,
                              bullets)
            gf.update_alien(ai_settings, stats, sb, screen, ship, aliens,
                            bullets)

        gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets,
                         play_button)
Example #24
0
def run_game():
    #初始化pycharm,设置,屏幕对象
    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")

    # 创建一个用于存储游戏统计信息的实例,并创建记分牌
    stats = GameStats(ai_settings)
    sb = Scoreboard(ai_settings, screen, stats)

    #创建一艘飞船 子弹 外星人的编组
    ship = Ship(ai_settings, screen)
    bullets = Group()
    aliens = Group()
    # 创建一个外星人qun
    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.update()
            gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens,
                              bullets)
            # print(len(bullets))
            gf.update_alien(ai_settings, screen, stats, sb, ship, aliens,
                            bullets)
        gf.update_screen(ai_settings, screen, stats, sb, ship, aliens, bullets,
                         play_button)
def run_game():
    pygame.init()
    ai_setting = Setting()
    screen = pygame.display.set_mode(
        (ai_setting.screen_width, ai_setting.screen_height))
    pygame.display.set_caption("Alien invansion")

    #ship
    ship = Ship(screen, ai_setting)

    #make bullets
    bullets = Group()

    #make an alien
    alien = Group()
    gf.create_alien_fleet(ai_setting, screen, alien, ship)

    #stats
    stats = GameStats(ai_setting)
    sb = Scoreboard(ai_setting, screen, stats)
    #botton
    play_botton = Botton(screen, ai_setting, "play")

    #GameOver
    gameover = GameOver(screen, ai_setting)
    while True:
        gf.check_events(ai_setting, screen, ship, bullets, play_botton, stats,
                        alien)
        if stats.game_active:
            ship.update()
            bullets.update()
            gf.update_bullets(bullets, alien, ai_setting, screen, ship, stats,
                              sb)
            gf.update_alien(ai_setting, stats, screen, ship, alien, bullets)
        gf.update_screen(ai_setting, screen, ship, bullets, alien, stats,
                         gameover, play_botton, sb)
def run_game():
    #游戏初始化
    pygame.init()
    # 初始化混音器模块
    pygame.mixer.init(frequency=22050, size=-16, channels=2, buffer=512)
    #创建屏幕对象
    ai_settings = Settings()
    # 创建一个用于存储游戏统计信息的实例
    stats = GameStats(ai_settings)
    screen = pygame.display.set_mode(
        (ai_settings.screen_width, ai_settings.screen_height))
    pygame.display.set_caption(('奥特曼之保卫地球'))
    # 添加音效
    pygame.mixer.music.load('sound/bgm.mp3')
    # loops = -1,表示无限重复播放
    pygame.mixer.music.play(-1)
    # 创建Play按钮
    play_button = Button(ai_settings, screen, 'Play')
    # # 创建GameOver
    # GameOver_button = Button(ai_settings, screen, 'Game  Over!')

    # 创建飞船
    ship = Ship(ai_settings, screen)
    # 创建子弹组
    bullets = Group()
    # 创建冲击波组
    impacts = Group()
    # 创建激光
    laser = Group()
    laser.add(Laser(ai_settings, screen))
    # 创建敌人
    aliens = Group()
    # 创建爆炸
    explosions = [Explosion(ai_settings, screen) for _ in range(20)]

    # 创建一个时间对象,设置帧率为 200
    fps = 150
    Game_clock = pygame.time.Clock()

    # 开始游戏主循环
    while True:
        gf.check_events(ai_settings, screen, stats, play_button, ship, aliens,
                        bullets, impacts)
        if ship.hp <= 0:
            pygame.mouse.set_visible(True)
            stats.game_active = False
            ai_settings.speed_reset()
            ai_settings.speedchange()
            if stats.game_active:
                stats.reset_stats()

        if stats.game_active:
            if len(aliens) == 0:
                ai_settings.speedup()
                ai_settings.speedchange()
                gf.create_fleet(ai_settings, screen, ship, aliens)
            ship.update()
            hit = gf.update_alien(ai_settings, ship, aliens)
            if hit:
                aliens.empty()
                continue
            gf.update_impact(ai_settings, stats, aliens, impacts, explosions)
            gf.update_laser(ai_settings, stats, laser, ship, aliens,
                            explosions)
            gf.update_bullets(ai_settings, stats, aliens, bullets, explosions)
            gf.update_explosion(explosions)

        # 调用Clock()类创建的对象中的tick()函数
        Game_clock.tick(fps)

        gf.update_screen(ai_settings, screen, stats, ship, aliens, bullets,
                         laser, impacts, explosions, play_button)