파이썬/파이썬 코드 예제 만들기

파이썬 코드. Turtle 모듈(거북이 모듈) 키보드로 그림 그리기

Tomitom 2022. 10. 20. 15:40
반응형
 

 

 모듈 중에 교육용 모듈로 인기가 좋은 Turtle 거북이 모듈이 있습니다. 
그래픽 모듈로 그림을 그릴 때 사용합니다. 
거북이가 움직이면서 그림을 그리는 모듈이에요. 
# 모듈은 메뉴얼이 있어서 주어진 메뉴얼대로 하는 것
# 문법적으로 외우지 말것

import turtle

#커서 꾸미기 메소드들 (설정들)
cursor = turtle.Turtle()
cursor.color("tomato")   # 놀랍게도 토마토 색이 있어요.
cursor.shape("turtle")   # 모양 정하기
canvas = cursor.getscreen()

#penup()이 되어 있으면 펜이 들려있어서 그림을 그리지 않는 상태
cursor.penup()


# forward 는 앞으로, backward 는 뒤로 이동
def gf():
    cursor.forward(20)
def gd():
    cursor.backward(20)  

# right 는 오른쪽 left 는 왼쪽 이동
def tr():
    cursor.right(15)
def tl():
    cursor.left(15)

# spacebar를 눌렀을 때 펜이 들려있다면 pendown을 해서 그림을 그리는 상태로 바꾸고,
# 그렇지 않다면(펜이 내려가있다면) penup을 하는 함수 작성.
# 스페이스바를 눌러서 그림을 그렸다가 안 그렸다가 할 수 있어요.

def sp():
    if cursor.isdown():
        cursor.penup()
    else :
        cursor.pendown()


def cir():
    cursor.circle(30)   # 원을 그리는 함수. 원의 크기. 이거 실행하면 되게 귀여워요.

def end():
    canvas.bye() # 종료하는 함수


canvas.onkeypress(gf, "Up")   # 키보드 이벤트 핸들러를 동작하는 함수
canvas.onkeypress(gd, "Down")  # 즉 키보드랑 매칭을 해주어요.
canvas.onkeypress(tr, "Right")
canvas.onkeypress(tl, "Left")
canvas.onkeypress(sp, "space")
canvas.onkeypress(cir, "o")
canvas.onkeypress(end, "q")

canvas.listen() #초점이 캔버스에 맞춰져 있다.
canvas.mainloop() #계속 돌아가는 상태를 유지한다.

 

반응형