알아 보기
이 프로그램에서는 함수를 다섯 개 정의했습니다. turn_right, turn_up, turn_left, turn_down 함수는 setheading 명령을 사용해서 거북이의 방향을 각각 오른쪽으로, 위로, 왼쪽으로, 아래로 돌립니다. blank 함수는 clear 명령을 사용해서 화면을 지웁니다.
사용자가 입력한 대로 프로그램이 동작하려면 위에서 정의한 함수를 필요할 때마다 호출해서 거북이를 조종하거나 화면을 지워야 합니다. 그런데 프로그램을 보면 함수를 직접 호출하는 부분이 보이지 않습니다. 왜 그럴까요?
이 궁금증은 거북이 그래픽의 onkeypress 함수의 기능을 알면 이해할 수 있습니다. onkeypress 함수는 t.onkeypress(함수, "키 이름") 형태로 되어 있습니다. 이는 사용자가 ‘키 이름’에 해당하는 키를 누르면 지정한 함수를 호출해서 실행하라고 파이썬에 등록을 하는 기능입니다.
예를 들어 t.onkeypress(turn_right, "Right")는 사용자가 키보드의 오른쪽 방향키(→)를 누르면 파이썬이 turn_right 함수를 호출하도록 예약해 둔 것입니다. 이런 식으로 방향키 네 개를 모두 예약해 두고, ESC를 눌렀을 때는 blank 함수를 실행하도록 예약한 것입니다.
마지막으로 t.listen()은 거북이 그래픽 창이 키보드 입력을 받을 수 있도록 거북이 창에 포커스를 주는 문장입니다. 여기까지 작성해야 사용자의 키보드 입력을 받을 수 있습니다. 다시 말해 사용자가 누르는 키에 따라 turn_right와 같은 함수나 blank 함수가 실행되면서 거북이가 그림을 그릴 수 있습니다. t.listen()을 지워서 실행해 보면 무슨 말인지 이해가 될 것입니다.
이번에는 키보드가 아닌 마우스로 거북이를 조종해서 그림을 그려 보겠습니다.