Как сделать логику с отрицательным временем реакции в моем коде Python

# Основная функция игры (обновленная версия)
def reaction_game_basic(file_name):
running = True
clock = pygame.time.Clock()
circle_x, circle_y = 0, 0
circle_visible = False
circle_appear_time = 0
space_pressed_time = 0

while running:
    window.fill(WHITE)

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_SPACE:
                if not circle_visible:  # Если круг еще не отображен
                    reaction_time = pygame.time.get_ticks() - space_pressed_time
                    print(f"Время реакции: {-reaction_time / 1000} секунд")
                    write_reaction_time(-reaction_time / 1000, file_name, "Основная версия")
                elif circle_visible:  # Если круг уже отображен
                    reaction_time = pygame.time.get_ticks() - circle_appear_time
                    print(f"Время реакции: {reaction_time / 1000} секунд")
                    write_reaction_time(reaction_time / 1000, file_name, "Основная версия")
                circle_visible = False
                space_pressed_time = pygame.time.get_ticks()

    if not circle_visible:
        current_time = pygame.time.get_ticks()
        if current_time - space_pressed_time >= 1000:
            circle_visible = True
            circle_appear_time = current_time
            circle_x = random.randint(CIRCLE_RADIUS, WIDTH - CIRCLE_RADIUS)
            circle_y = random.randint(CIRCLE_RADIUS, HEIGHT - CIRCLE_RADIUS)

    if circle_visible:
        pygame.draw.circle(window, RED, (circle_x, circle_y), CIRCLE_RADIUS)

    pygame.display.flip()
    clock.tick(60)

pygame.quit()

Всем привет, друзья. Помогите с кодом. У меня есть простая игра, появляется круг и ждет реакции игрока (нажатия на пробел) после нажатия круг исчезает на одну секунду. Я сделал логику предугадывания появления на круг, то есть когда круг не отображен и игрок нажимает на пробел то записывается время реакции со знаком минус, НО, во-первых, время записывается неправильное. Сейчас записывается время от исчезновения круга до нажатия на пробел со знаком минус, а нужно чтобы записывалось время от нажатия на пробел до появления следующего круга. Во-вторых, сейчас если спамить пробел, пока круг не отображен, то он вовсе и не появится. Нужно сделать так чтобы нажатия на пробел не влияли на время появления круга. Помогите пж, объясните как это сделать


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