Как вывести строку, когда мышь находится в пределах определенной координаты x / y - PullRequest
0 голосов
/ 11 июля 2019

Я пишу игру палач для забавы и не могу понять, что пошло не так с моим кодом. Когда я выбираю A в графическом интерфейсе, независимо от координаты y он выберет A, или B, или наоборот.

Я пытался сменить операторов на случай, если это была логическая ошибка, но ничего не произошло.

def mainGame(length, Base, Wall, Roof, Rope):
    global characterSelected
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                exit()
            mouse = pygame.mouse.get_pos()
            if event.type == pygame.MOUSEBUTTONDOWN:
                if pygame.mouse.get_pos()[0] >= 50 and pygame.mouse.get_pos()[1] >= 100:
                    if pygame.mouse.get_pos()[0] >= 82 and pygame.mouse.get_pos()[1] >= 132:
                        win.blit(Blank, (50, 100))
                        characterSelected = 'A'
                        characterValidation(length, word, 'A', Base, Wall, Roof, Rope)

Я ожидаю, что он выберет A только тогда, когда курсор находится внутри поля, но он делает это в любом месте в пределах тех же координат x, но не координат Y

1 Ответ

0 голосов
/ 11 июля 2019

Вообще говоря, вы не должны использовать переполнение стека для отладки справки. Некоторая отладка или просто вдумчивый анализ покажет вам проблему.

Ваше первое условие проверяет, находится ли курсор вправо или ниже (50 100), а второе условие проверяет, находится ли курсор вправо или ниже (82, 132). Вы, вероятно, хотите проверить, находится ли pygame.mouse.get_pos()[0] между 50 и 82 и pygame.mouse.get_pos()[1] между 100 и 132.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...