Окно Pygame не отвечает из-за ввода пользователя в консоль - PullRequest
0 голосов
/ 09 июля 2020

Я новичок в модуле pygame, и то, что я пытался здесь сделать, - это сначала аутентифицировать пользователей в игре, прежде чем откроется окно pygame. Это фрагмент кода:

import pygame
import random

pygame.init()

win = pygame.display.set_mode((800,800))

...

def create_username(): 
username = input("Enter a new username: ")
file.write("\n")
file.write(username)
print("You now have a username! ")
return username

def existing_username(): 
username = input("Enter your username: ")
for line in file:
    if username in line:
        print(f"Welcome back {username}!")
        return username
    else:
        print("That is not an existing username.")

player1_name = input("PLAYER ONE: Do you have an account? (y/n) ")
if player1_name.lower() == "y":
    player1_name = existing_username()
elif player1_name.lower()  == 'n':
    player1_name = create_username()

player2_name = input("PLAYER TWO: Do you have an account? (y/n) ")
if player2_name.lower() == "y":
    player2_name = existing_username()
elif player2_name.lower() == 'n':
    player2_name = create_username()

player_one = player(player1_name)
player_two = player(player2_name)

run = True
while run:
    win.fill((255,255,255))

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False

    pygame.display.update()

pygame.quit()

Часть ввода отлично работает на консоли, но окно pygame не отвечает (просто вылетает). Если я закомментирую весь раздел ввода, окно pygame откроется без каких-либо проблем. Может ли кто-нибудь помочь мне исправить это, пожалуйста, спасибо! Не отвечает окно

1 Ответ

0 голосов
/ 09 июля 2020

Попробуйте использовать это в своей игре L oop: заполните экран (победа) после события для l oop

run = True
while run:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False

    win.fill((255,255,255))
    pygame.display.update()

pygame.quit()

Я также предполагаю, что у вас есть начальный рабочий шаблон, т.е. инициализация pygame и настройка экрана (win)

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