1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mvpred-snake

 / Детали:

Что произойдёт, если одна змея столкнётся с другой: вызовет ли это переполнение стека?

Предстоит сделать
Владелец
Создано  
01.12.2024

Если одна змея сталкивается с другой, это вызывает gameover:

for snakeBody1 in snakeSegments1[1:]:  # Игрок 2 столкнулся с игроком 1, игрок 2 проиграл
                if snakePosition2[0] == snakeBody1[0] and snakePosition2[1] == snakeBody1[1]:
                    gameOver2(playSurface, score1, score2)

В этот момент в gameover повторно вызывается main(). Будет ли это вызывать переполнение стека при рекурсивном вызове main()?

def gameOver2(playSurface,score1,score2):
    gameOverFont = pygame.font.SysFont('arial', 32)
    gameOverSurf = gameOverFont.render(' blue snake Game Over    '+'pink'+str(score1-3)+'   '+'blue:'+str(score2-3), True, greyColour)
    gameOverRect = gameOverSurf.get_rect()
    gameOverRect.midtop = (320, 10)
    playSurface.blit(gameOverSurf, gameOverRect)
    pygame.display.flip()
    time.sleep(5)
    main()

Возможно, можно улучшить код.

Комментарий (0)

GitLife Service Account Задача создана

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/mvpred-snake.git
git@api.gitlife.ru:oschina-mirror/mvpred-snake.git
oschina-mirror
mvpred-snake
mvpred-snake