Esempio n. 1
0
def update_UFO(ai_settings, screen, stats, sb, ship, bullets, UFO):
    UFO.update()

    check_bullet_UFO_collision(ai_settings, screen, stats, sb, ship, bullets,
                               UFO)
def run_game():
    # Initialize pygame, settings, and 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")

    # Make the play button.
    play_button = Button(ai_settings, screen, "Play")
    highscore_button = Button(ai_settings, screen, 'High Score')
    hs_file = open("score.txt", "r")
    ai_settings.hs = int(hs_file.read())
    hs_file.close()
    msgg = 'The high score is ' + str(ai_settings.hs)
    score = Button(ai_settings, screen, msgg)
    score.rect.centery += 150
    score.msg_image_rect.center = score.rect.center
    highscore_button.rect.centery += 80
    highscore_button.msg_image_rect.center = highscore_button.rect.center
    savescore = 0
    space_invaders = Button(ai_settings, screen, "Space Invaders")
    space_invaders.rect.centery -= 350
    space_invaders.msg_image_rect.center = space_invaders.rect.center
    s10 = Button(ai_settings, screen, " =  10")
    s10.rect.centerx = 1200 / 2 + 100
    s10.rect.top = 80
    s10.msg_image_rect.center = s10.rect.center
    s20 = Button(ai_settings, screen, " =  20")
    s20.rect.centerx = 1200 / 2 + 100
    s20.rect.top = 140
    s20.msg_image_rect.center = s20.rect.center
    s30 = Button(ai_settings, screen, " =  30")
    s30.rect.centerx = 1200 / 2 + 100
    s30.rect.top = 200
    s30.msg_image_rect.center = s30.rect.center
    # Create an instance to store game statistics and create a scoreboard.
    stats = GameStats(ai_settings)
    sb = Scoreboard(ai_settings, screen, stats)
    stats.high_score = ai_settings.hs

    # Make a ship, a group of bullets, and a group of aliens.
    ship = Ship(ai_settings, screen)
    ufo = UFO(ai_settings, screen)
    bullets = Group()
    alienbullets = Group()
    aliens = Group()
    alien = Alien(ai_settings, screen)

    # Create the fleet of aliens.
    gf.create_fleet(ai_settings, screen, ship, aliens)

    # Music
    music1 = pygame.mixer.Sound('audio/deep1.wav')
    music2 = pygame.mixer.Sound('audio/deep2.wav')
    music3 = pygame.mixer.Sound('audio/deep3.wav')

    # Start the main loop for the game.
    while True:
        if ai_settings.hs < stats.high_score and stats.game_active:
            ai_settings.hs = stats.high_score
            msgg = 'The high score is ' + str(ai_settings.hs)
            score = Button(ai_settings, screen, msgg)
            score.rect.centery += 150
            score.msg_image_rect.center = score.rect.center
        gf.check_events(ai_settings, screen, stats, sb, play_button, ship,
                        aliens, bullets, savescore, highscore_button, msgg)
        if stats.game_active:
            ship.update()
            ufo.update()
            gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens,
                              bullets, alienbullets, play_button, ufo)
            gf.update_aliens(ai_settings, screen, stats, sb, ship, aliens, bullets, play_button, alienbullets)

        gf.update_screen(ai_settings, screen, stats, sb, ship, aliens,
                         bullets, play_button, highscore_button, score, alien, space_invaders, s10, s20, s30, music1,
                         music2, music3, alienbullets, ufo)
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))

    screen = pygame.display.set_mode((1200, 800))
    pygame.display.set_caption("Alien Invasion")

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

    hi_button =  Button2(ai_settings, screen)

    # Create an instance to store game statistics.
    stats = GameStats(ai_settings)
    # foo = open("foo.txt", "w")
    # foo.write("0")
    # foo.close()
    fo = open("foo.txt", "r+")
    stats.high_score = int(fo.readline())
    stats.high_score2 = int(fo.readline())
    stats.high_score3 = int(fo.readline())
    fo.close()
    print("hiscore: " + str(stats.high_score))


    # Create an instance to store game statistics and create a scoreboard.
    sb = Scoreboard(ai_settings, screen, stats)
    title = Title(ai_settings, screen, "", stats)


    # Make a ship, a group of bullets, and a group of aliens.

    ship = Ship(ai_settings, screen)

    ufo = UFO(ai_settings, screen)

    # Make a group to store bullets in.
    # blue = Blue(ai_settings, screen)
    # red = Red(ai_settings, screen)
    # green = Green(ai_settings, screen)
    bullets = Group()
    alien_bullets = Group()
    aliens = Group()

    # Create the fleet of aliens.
    gf.create_fleet(ai_settings, screen, ship, aliens, alien_bullets)

    # Start the main loop for the game.
    while True:
        title.prep_title("")
        title.prep_rules("")
        title.prep_blue_msg("")
        title.prep_red_msg("")
        title.prep_green_msg("")
        gf.check_events(ai_settings, screen, stats, sb, play_button, hi_button, ship,
            aliens, bullets, alien_bullets)

        if stats.game_active:
            ship.update(clock)
            ufo.update()
            # ship.explode(hit)
            # if hit == True and ship.image == 'images/Ship Full.gif':
            #     ship.center_ship()
            # We update the aliens’ positions after the bullets have been updated,
            # because we’ll soon be checking to see whether any bullets hit any aliens.
            gf.update_bullets(ai_settings, screen, stats, sb, ship, aliens,
                bullets, alien_bullets)
            # print(len(bullets))
            gf.update_aliens(ai_settings, screen, stats, sb, ship, aliens,
                bullets, alien_bullets)

        gf.update_screen(ai_settings, screen, stats, sb, ship, aliens,
                         ufo, title, bullets, alien_bullets, play_button,
                         hi_button)