Если я инициализирую "pyinstaller main.p
y "и перемещаю все файлы моего проекта в направлении .exe
, это статистика. Я могу что-то сделать в меню, созданном в консоли.
Но когда я выбираюДля начала игра зависает. Я читал в StackOverflow об изменении способа объявления шрифта в проекте, но я думаю, что этого недостаточно. Весь цикл игры находится в функции с именем game()
, поэтому ниже я опубликую кодэтой функции.
Кто-нибудь может мне помочь решить эту проблему?
Я пытался использовать версии GUI pyinstaller
, но это тоже не сработало.
def play(self):
self.reset()
self.random_field()
while self.game:
self.screen.fill(self.background_color_play)
direction = self.event_catcher()
if direction:
self.move(direction)
if direction != "back":
self.random_field()
if self.score > self.best:
self.best = self.score
for i in range(self.size*self.size):
self.tiles[i].update_color()
pygame.draw.rect(self.screen, self.tiles[i].color, [self.tiles[i].x1, self.tiles[i].y1,
self.tiles[i].x2, self.tiles[i].y2])
if self.tiles[i].value:
self.message_display(text=str(self.tiles[i].value), x=(2*self.tiles[i].x1+self.tiles[i].x2)/2,
y=(2*self.tiles[i].y1+self.tiles[i].y2)/2, font_size=100,
color=self.tiles[i].font_color, font="Clear Sans Bold")
# UNDO
if self.size_of_stack:
self.message_display(text=Screen.req_word("undo", self.lang)+": {}".format(self.stack.size()//len(self.tiles)),
x=20, y=(self.screen_height-self.screen_width+10)/2, font_size=30,
color=(69, 69, 69), pos="left")
else:
self.message_display(text=Screen.req_word("undo", self.lang)+": 0",
x=20, y=(self.screen_height-self.screen_width+10)/2, font_size=30,
color=(69, 69, 69), pos="left")
# SCORE
self.message_display(text=Screen.req_word("score", self.lang)+": {}".format(self.score),
x=self.screen_width*0.5, y=(self.screen_height-self.screen_width+10)/2, font_size=30,
color=(69, 69, 69))
# BEST SCORE
self.message_display(text=Screen.req_word("best", self.lang)+": {}".format(self.best),
x=self.screen_width-20, y=(self.screen_height-self.screen_width+10)/2, font_size=30,
color=(69, 69, 69), pos="right")
self.clock.tick(self.fps)
pygame.display.update()
self.main_menu()
Я ожидаю, что он не будет зависать на другом компьютере, на котором не установлен python. При необходимости здесь - полный код