Pygame Window not Responding after few seconds

Your game is not responding, because you ask for an input inside the application loop. input stops the application loop and waits for input to be confirmed. If you stop the application loop, the window stops responding. Use the KEYDOWN event to get an input in PyGame (see pygame.event):

for event in pygame.event.get():
    # [...]

    if event.type == pygame.KEYDOWN:
        guessed.append(event.unicode)

guessed has to be initialized before the application loop. Don’t reset it in the loop:

import pygame
pygame.init()

running  = True

window_width = 600
window_height = 600
window = pygame.display.set_mode((window_width, window_height))

clock = pygame.time.Clock()

word = "something"
guessed = []

answer = ""
for c in word:
    answer += c + " " if c in guessed else "_ "
print(answer)

while running:
    dt = clock.tick(60)

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        if event.type == pygame.KEYDOWN:
            guessed.append(event.unicode)
            answer = ""
            for c in word:
                answer += c + " " if c in guessed else "_ "
            print(answer)
   
pygame.quit()

Leave a Comment