Language/Python

[ Python ] 눈사람 그리기 프로그램

곽수진 2021. 9. 2. 11:52
반응형
눈사람을 그리는 함수를 작성하고 사용자가 마우스를 클릭하는 위치에 눈사람을 그리는 프로그램을 작성해보자.

 

import turtle, random
t=turtle.Turtle()
t.shape('turtle')
s=turtle.Screen()
s.bgcolor('skyblue')

def draw_snowman(x,y):
    t.up()
    t.goto(x,y)
    t.down()
    t.color('white')
    t.begin_fill()
    t.circle(20)
    t.end_fill()
    t.goto(x,y-25)
    t.setheading(135)
    t.forward(50)
    t.backward(50)

    t.setheading(30)
    t.forward(50)
    t.backward(50)
    t.setheading(0)

    t.begin_fill()
    t.circle(15)
    t.end_fill()
    t.goto(x,y-70)
    t.begin_fill()
    t.circle(30)
    t.end_fill()


s.onscreenclick(draw_snowman)

bgcolor() : 터틀 그래픽의 배경 색상 설정

▶ draw_snowman 사용자 정의 함수를 생성해 사용자가 마우스로 클릭하는 위치로 이동

→ 하얀색으로 지름 20 크기의 원을 그리고 y축으로 -25만큼 이동해 135도 각도로 앞으로 50, 뒤로 50 이동

→ 30도 각도로 앞으로 50, 뒤로 50 이동 후 0도 각도를 바라봄

→ 지름 15 크기의 원을 그리고 y축으로 -70만큼 이동해 지름 30 크기의 원을 그림

def draw_snowman(x,y):
    t.up()
    t.goto(x,y)
    t.down()
    t.color('white')
    t.begin_fill()
    t.circle(20)
    t.end_fill()
    t.goto(x,y-25)
    t.setheading(135)
    t.forward(50)
    t.backward(50)

    t.setheading(30)
    t.forward(50)
    t.backward(50)
    t.setheading(0)

    t.begin_fill()
    t.circle(15)
    t.end_fill()
    t.goto(x,y-70)
    t.begin_fill()
    t.circle(30)
    t.end_fill()

onscreenclick(draw_snowman) : 사용자가 마우스를 클릭하는 곳에 draw_snowman 함수에 저장된 그림을 그림

 

결과값 출력 모습

 

반응형