У меня есть проект pygame, который я разделил на 3 разных экрана: начальный экран, экран игры и экран повторного воспроизведения. На экране игры я хочу вернуть состояние игры, а также рейтинг, чтобы я мог показать его на экране воспроизведения снова. Но мой игровой экран запускается дважды, прежде чем перейти к экрану воспроизведения снова.
# Game Loop
state = INIT
while state != DONE:
if state == INIT:
state, highscore = init_screen(screen)
elif state == PLAYING:
state, highscore = game_screen(screen)
elif state == PLAYAGAIN:
state = play_again(screen)
else:
state = DONE
# What game screen returns
return state, highscore
#What I'm using in the play again screen to get the highscore from the game screen
highscore = game_screen(screen)[1]
hits = pygame.sprite.spritecollide(player, world_sprites, True, pygame.sprite.collide_mask)
if len(hits) > 0:
if score > highscore:
highscore = score
state = PLAYAGAIN
Этот последний код должен сделать игровой экран go на экране воспроизведения снова который работал до того, как я решил поставить рекорды.
Кстати, где я должен поместить первое значение для рекорда (highscore = 0)?