import turtle
def Life(dot0=(0, 0), dot2=(0, 0)):
t = turtle.Turtle()
t.hideturtle()
t.penup()
t.goto(dot0)
t.pensize(SIZE)
t.pendown()
t.goto(dot2)
t.penup()
def Circle(dot0=(0, 0), Flag=1, radius=10, heading=0):
t = turtle.Turtle()
t.hideturtle()
t.penup()
t.goto(dot)
t.pendown()
t.pensize(S)
t.setheading(heading)
t.circle(radius, 180 * Flag)
t.penup()
def Circle1(dot0=(0, 0), radius=10, Flag=1, heading=0):
t = turtle.Turtle()
t.hideturtle()
t.penup()
t.goto(dot)
t.pendown()
t.pensize(S)
t.setheading(heading)
t.circle(radius, 270 * Flag)
t.penup()
TIMES, RADIUS, SIZE = 20, 10, 2
LINES = [[(0, 0), (6, 0)],
[(0, 1), (6, 1)],
[(0, 2), (6, 2)],
[(0, 3), (6, 3)],
[(0, 4), (6, 4)],
[(0, 5), (6, 5)],
[(0, 6), (6, 6)],
[(6, 0), (6, 6)],
[(5, 0), (5, 6)],
[(4, 0), (4, 6)],
[(3, 0), (3, 6)],
[(2, 0), (2, 6)],
[(1, 0), (1, 6)],
[(0, 0), (0, 6)],
]
for i, dot in enumerate(L):
dot0, dot2 = list(map(lambda x: x * T, dot[0])), list(map(lambda x: x * T, dot[1]))
if i < 7:
if i==6:
Life(dot0,(dot2[0]+10,dot2[1]) )
Circle1((dot2[0]+10, dot2[1]), RADIUS, 1)
elif i == 5:
Life(dot2,dot0 )
Circle((dot0[0], dot0[1]), RADIUS, -1)
elif i == 0:
Life((dot0[0]-10,dot0[0]),dot2)
Circle((dot2[0], dot2[1]), RADIUS, 1)
elif i % 2 == 0:
Life(dot0, dot2)
Circle((dot2[0], dot2[1]), RADIUS, 1)
else:
Life(dot2,dot0 )
Circle((dot0[0], dot0[1]), RADIUS, -1)
else:
if i % 2 != 1:
Life(dot0,dot2 )
Circle((dot2[0], dot2[1]), RADIUS, 1, -270)
elif i == 7:
Life((dot2[0], dot2[1] + 10), dot0)
Circle((dot0[0], dot0[1]), RADIUS, -1, 90)
elif i == len(LINES) - 1:
Life(dot2,(dot0[0],dot0[1]-10))
else:
Line(dot2,dot0)
Circle((dot0[0], dot0[1]), RADIUS, -1, 90)
def Circle1(dot0=(0, 0), radius=10, Flag=1, heading=0):
t = turtle.Turtle()
t.hideturtle()
t.penup()
t.goto(dot)
t.pendown()
t.pensize(SIZE)
t.setheading(heading)
t.circle(radius, 270 * Flag)
t.penup()
turtle.mainloop()