проблемы с запуском exe

написал прикольную игру на pygame, скомпилировал в exe. Но она запускается и сразу заканчивается! А если через IDLE открыть - все работает! Спасибо! Компилировал через pyinstaller. Windows 10.

#alien_invation.py

import pygame
from pygame.sprite import Group
from settings import Settings
from game_stats import GameStats
from ship import Ship
import game_functions as gf
import sys
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("'Инопланетное вторжение' от Антона Артюхова.")
    stats = GameStats(ai_settings)
    bg_color = (230, 230, 230)
    ship = Ship(ai_settings, screen)
    bullets = Group()
    aliens = Group()
    gf.create_fleet(ai_settings, screen, ship, aliens)
    while True:
        if stats.game_active:
            ship.update()
            gf.update_bullets(ai_settings, screen, ship, aliens, bullets)
            gf.update_aliens(ai_settings, stats, screen, ship, aliens, bullets)
        else:
            screen.fill ([0,0,0])
            f1 = pygame.font.Font(None, 100)
            text2 = f1.render('Game Over. ', 1, (255, 0, 255))
            screen.blit(text2, [400,400])
            f1 = pygame.font.Font(None, 36)
            text2 = f1.render('Игра окончена. Но не переживайте, вместо вас уже летит 50 ракет. ', 1, (255, 255, 255))
            screen.blit(text2, [0,600])
            f1 = pygame.font.Font(None, 36)
            text2 = f1.render('Они точно выиграют этих проклятых пришельцев! ', 1, (255, 255, 255))
            screen.blit(text2, [0,700])
            pygame.display.flip()
            print ('Ваш результат: ' + str (ai_settings.points) + ' очков.')
            file = open ('alien invation.txt','a')
            file.write (str (ai_settings.points) + '\n')
            file.close()
            file = open ('alien invation.txt','r')
            lines = file.readlines ()
            mylist = []
            for line in lines:
                line.replace ('\n','')
                mylist.append (int (line))
            file.close()
            print ('рекорд:' + str (max (mylist)))
            sys.exit()
        gf.check_events(ai_settings, screen, ship, bullets)
        gf.update_screen(ai_settings, screen, ship, aliens, bullets)
run_game ()




Ответы (0 шт):