본문 바로가기
Programming/파이썬(python)

[터틀 그래픽] 클릭하는 곳에 사각형 그리기

by 어깨 :) 2023. 5. 25.
728x90

클릭하는 곳에 거북이로 사각형을 그려보겠습니다.

 

1. 코드 입력

import turtle

def square(length):
    for _ in range(4):
        t.fd(length)
        t.lt(90)

def draw(x, y):
    t.up()
    t.goto(x, y)
    t.down()
    t.begin_fill()
    t.color('green')
    square(50)
    t.end_fill()

t = turtle.Turtle()
t.shape("turtle")
t.pensize(10)
t.speed(0)  # 거북이 속도를 가장 빠른 값으로 설정
s = turtle.Screen()
s.onscreenclick(draw)
s.mainloop()

위 코드는 거북이 그래픽을 사용하여 사용자가 화면을 클릭할 때마다 정사각형을 그리는 프로그램입니다. 아래는 코드의 동작과정을 자세히 설명한 것입니다:

 


1. square 함수:
-매개변수 length를 받아서 한 변의 길이가 length인 정사각형을 그리는 함수입니다.
-for 루프를 사용하여 4번 반복하면서 거북이를 앞으로 이동시키고 왼쪽으로 90도 회전시킵니다.


이렇게 하면 정사각형을 그릴 수 있습니다.

 

 

2. draw 함수:
- 매개변수 x, y로 클릭된 위치를 받습니다.
- 거북이를 클릭된 위치로 이동시키기 위해 up() 메서드를 호출하여 거북이의 펜을 들고 이동합니다.
- goto() 메서드를 사용하여 거북이를 클릭된 위치로 이동시킵니다.
- down() 메서드를 호출하여 거북이의 펜을 내려서 그림을 그릴 준비를 합니다.
- begin_fill() 메서드로 색상을 채우기 시작합니다.
- color() 메서드로 그릴 정사각형의 색상을 'green'으로 설정합니다.
- square() 함수를 호출하여 정사각형을 그립니다.
- end_fill() 메서드로 색상을 채우기를 종료합니다.

 

 

3. turtle.Turtle()을 사용하여 거북이 객체 t를 생성합니다.
- shape("turtle") 메서드로 거북이 모양으로 설정합니다.
- pensize(10) 메서드로 거북이의 펜 굵기를 10으로 설정합니다.

 

 

4. turtle.Screen()을 사용하여 화면 객체 s를 생성합니다.
- onscreenclick() 메서드를 사용하여 화면 클릭 이벤트를 처리할 콜백 함수 draw를 등록합니다.
- mainloop() 메서드로 화면을 업데이트하고 사용자 입력을 처리합니다.

 

프로그램은 사용자가 화면을 클릭할 때마다 정사각형을 그리는 기능을 제공합니다. 클릭된 위치로 거북이가 이동하여 정사각형을 그리며, 그릴 때마다 색상이 'green'으로 채워집니다.

 

 

 

 

2. 실행결과

728x90