언어/python

turtle - clone

파아랑새 2018. 2. 2. 16:57

import turtle as tur

# function _1
def f_circle(p):
    p.circle(70)

# function _2
def f_triangle(p):
    for i in range(3):
        p.forward(70)
        p.left(120)

# function _3
def f_square(p):
    for i in range(4):
        p.forward(70)
        p.left(90)

# function _4
def f_star(p):
    for i in range(5):
        p.forward(70)
        p.left(144)

def main():
    p = tur.Pen()
    cloneList = list()
    for i in range(3):
        # 0, 1, 3
        c_turtle = p.clone()
        cloneList.append(c_turtle)

    # original circle
    f_circle(p)

    # c1 triangle
    c1 = cloneList[0]
    c1.penup()
    c1.forward(150)
    c1.pendown()
    f_triangle(c1)

    # c2 square
    c2 = cloneList[1]
    c2.right(90)
    c2.penup()
    c2.forward(150)
    c2.pendown()
    f_square(c2)

    # c3 star
    c3 = cloneList[2]
    c3.right(90)
    c3.penup()
    c3.forward(150)
    c3.left(90)
    c3.forward(150)
    c3.pendown()
    f_star(c3)

    p.circle(40)
    tur.exitonclick()


if __name__ == "__main__":
    main()