Я работаю над простой графической программой, которая принимает пользовательские команды в консоли, а затем в окне pygame отображает результаты в окне. До сих пор у меня это работало, когда я настраивал команды в жестком коде, но теперь, когда я пытаюсь разрешить ему принимать пользовательский ввод, у него возникают проблемы.
Внутри игры l oop:
while True:
command = input("Enter a command: " + "\n"
"1: input" + "\n"
"2: apply transformation" + "\n"
"3: display pixels" + "\n"
"4: output" + "\n"
"5: basic translate" + "\n"
"6: basic scale" + "\n"
"7: basic rotate" + "\n"
"8: scale" + "\n"
"9: rotate" + "\n"
"Command: ")
command = int(command)
if command == 1:
num = Inputlines(datalines, num)
elif command == 2:
datalines = ApplyTransformation(matrix, datalines)
elif command == 3:
Displaypixels(datalines, num)
pygame.display.update()
elif command == 4:
Outputlines(datalines, num)
elif command == 5:
Tx = int(input("Input a Tx value: "))
Ty = int(input("Input a Ty value: "))
matrix = BasicTranslate(Tx, Ty)
elif command == 6:
Sx = int(input("Input an Sx value: "))
Sy = int(input("Input an Sy value: "))
matrix = BasicScale(Sx, Sy)
elif command == 7:
angle = int(input("Input an Sx value: "))
matrix = BasicRotation(angle)
elif command == 8:
Sx = int(input("Input an Sx value: "))
Sy = int(input("Input an Sy value: "))
Cx = int(input("Input a Cx value: "))
Cy = int(input("Input a Cy value: "))
matrix = Scale(Sx, Sy, Cx, Cy)
elif command == 9:
angle = int(input("Input an angle value: "))
Cx = int(input("Input a Cx value: "))
Cy = int(input("Input a Cy value: "))
matrix = Rotate(angle, Cx, Cy)
else:
print("Not a valid command")
По сути, это всего лишь способ выбора пользователем функций из консоли. Функции работают по большей части, но проблема возникает, когда команда = 3. Она должна вызывать Displaypixels, которая является просто функцией добавления пикселей, необходимых в консоль. Затем я вызываю pygame.display.update () для обновления экрана, но ничего не происходит.
На экране написано Не отвечает. Я все еще могу продолжить программу через консоль, но ничего не работает. Возможно, я неправильно понял цель pygame.display.update ()?
Любая помощь или конструктивная критика очень ценится. Спасибо за ваше время.