Я создал небольшую игру с Pygame Zero и MU IDE. Игрок должен нажать (собрать) как можно больше бананов за определенное время. Каждый раз, когда банан собирается, новый банан появляется в случайном месте.
По истечении времени появляется новый экран с информацией о том, сколько бананов было собрано. Для этого я создал оператор If Else, но ветвь Else не выполняется программой (за исключением сокращения времени на 1 секунду и закрытия игрового окна). Я не знаю почему. У кого-нибудь есть идея, почему ветвь Else не выполняется?
from random import randint
import time
import pygame
HEIGHT = 800
WIDTH = 800
score = 0
time_left = 10
banana = Actor("banana")
monkey = Actor("monkey")
def draw():
screen.clear()
screen.fill("white")
banana.draw()
monkey.draw()
screen.draw.text("Number of bananas collected: " + str(score), color = "black", topleft=(10,10))
screen.draw.text("Time: " + str(time_left), color = "black", topleft=(10,50))
def place_banana():
banana.x = randint(125, 790)
banana.y = randint(186, 790)
monkey.x = 50
monkey.y = 740
def on_mouse_down(pos):
global score
if banana.collidepoint(pos):
score = score + 1
place_banana()
def update_time_left():
global time_left
if time_left: # wenn Zeit > 0 Sekunden ist
time_left = time_left - 1
else:
screen.fill("pink") # code is not executed
game_over()
place_banana()
clock.schedule_interval(update_time_left, 1.0)
def game_over():
screen.fill("pink") # code is not executed
global time_left
message = ("Ende. Number of bananas collected") # code is not executed
time_left = 0
time.sleep(5.5)
quit()