0
파이썬에서 파이 게임을 사용하여 게임을 만들고 사용자가 예 또는 아니오 결정을 내릴 수있게하려고 시도하지만 어떤 이유로 pygame.event.get()의 이벤트에 대해 "내 루프 입력": "사용자가 예/아니오 결정을 내릴 수있게하는 함수를 만드는 방법
셸에서 오류 메시지를 생성하지 않고 원하는 작업을 수행하지 않고 다른 것은 아무것도하지 않는 것처럼 보입니다. 여기
는 Y/N 함수를 호출하는 기능입니다 :if SwordCheck == None:
dispOnTextBox("You don't have", 'anything to buy.', '')
elif SwordCheck == False:
displayMoney(Kelts, Parts, Shreds)
dispOnTextBox('Do you want to', 'purchase that?', "it's 200 kelts")
VALUE = waitForYNDecision()
if VALUE == None:
pygame.display.update()
FPSCLOCK.tick()
elif VALUE == False:
dispOnTextBox('No? Ok, but please', 'put it back when', "you are done")
return False
elif VALUE == True:
dispOnTextBox('Alright! here you', 'go. Thank you', 'for your purchase')
return True
을 그리고 여기 Y/N 기능이다 : 나는 다른 모든 기능과 유일한을 테스트 한
print 'CHOOSE Y/N with Up = Yes and Down = No'
for event in pygame.event.get():
if event.type == QUIT:
terminate()
elif event.type == KEYDOWN:
if event.key in (K_W, K_KP8):
return True
elif event.key in (K_S, K_KP5):
return False
return None
이들은 문제가 있습니다. 나는 이것에 아마추어이고 좋은 대답을 평가할 것입니다.
파이 게임은 쉘에서 이벤트를 수신하지 않는 경우 잘 모르겠어요, 즉시 그것을 할 수 있습니다 - 당신을 파이 게임 창에서 버튼을 누를 때만 알 수 있습니다. 따라서 파이 게임 창을 사용해야 할 경우'print()'를 사용하여 메시지를 표시하는 것은 의미가 없습니다. – furas
BTW : 우리는'CamelCase' 이름을 클래스에만 사용하고'UPPER_CASE' 이름은 상수에 대해서만 사용합니다. 변수와 함수에 대해서는'lower_case' 이름을 사용합니다 - 코드를 더 읽기 쉽게 만듭니다. – furas
BTW :'for event'는 코드를 차단하지 않고 키를 기다리지 않고 버튼을 누르기 만하면 더 빨리 실행됩니다. 'true '키를 눌러서 키를 잡아야합니다. – furas