from turtle import * |
import time |
class TreeBackBone(): |
def __init__( self ): |
pencolor( "Green" ) |
pensize( 10 ) |
self .layer1() |
self .layer2() |
self .layer3() |
self .layer4() |
self .trunk() |
def layer1( self ): |
penup() |
hideturtle() |
goto( 0 , 150 ) |
showturtle() |
pendown() |
shape(name = "classic" ) |
seth( - 120 ) |
for i in range ( 10 ): |
fd( 12 ) |
right( 2 ) |
penup() |
goto( 0 , 150 ) |
seth( - 60 ) |
pendown() |
for i in range ( 10 ): |
fd( 12 ) |
left( 2 ) |
seth( - 150 ) |
penup() |
fd( 10 ) |
pendown() |
for i in range ( 5 ): |
fd( 10 ) |
right( 15 ) |
seth( - 150 ) |
penup() |
fd( 8 ) |
pendown() |
for i in range ( 5 ): |
fd( 10 ) |
right( 15 ) |
seth( - 155 ) |
penup() |
fd( 5 ) |
pendown() |
for i in range ( 5 ): |
fd( 7 ) |
right( 15 ) |
def layer2( self ): |
penup() |
goto( - 55 , 34 ) |
pendown() |
seth( - 120 ) |
for i in range ( 10 ): |
fd( 8 ) |
right( 5 ) |
penup() |
goto( 50 , 35 ) |
seth( - 60 ) |
pendown() |
for i in range ( 10 ): |
fd( 8 ) |
left( 5 ) |
seth( - 120 ) |
penup() |
fd( 10 ) |
seth( - 145 ) |
pendown() |
for i in range ( 5 ): |
fd( 10 ) |
right( 15 ) |
penup() |
fd( 10 ) |
seth( - 145 ) |
pendown() |
for i in range ( 5 ): |
fd( 12 ) |
right( 15 ) |
penup() |
fd( 8 ) |
seth( - 145 ) |
pendown() |
for i in range ( 5 ): |
fd( 10 ) |
right( 15 ) |
penup() |
seth( - 155 ) |
fd( 8 ) |
pendown() |
for i in range ( 5 ): |
fd( 11 ) |
right( 15 ) |
def layer3( self ): |
penup() |
goto( - 100 , - 40 ) |
seth( - 120 ) |
pendown() |
for i in range ( 10 ): |
fd( 6 ) |
right( 3 ) |
penup() |
goto( 80 , - 39 ) |
seth( - 50 ) |
pendown() |
for i in range ( 10 ): |
fd( 6 ) |
left( 3 ) |
seth( - 155 ) |
penup() |
fd( 10 ) |
pendown() |
for i in range ( 5 ): |
fd( 8 ) |
right( 10 ) |
penup() |
fd( 8 ) |
seth( - 145 ) |
pendown() |
for i in range ( 7 ): |
fd( 8 ) |
right( 10 ) |
penup() |
fd( 8 ) |
seth( - 145 ) |
pendown() |
for i in range ( 7 ): |
fd( 7 ) |
right( 10 ) |
penup() |
fd( 8 ) |
seth( - 145 ) |
pendown() |
for i in range ( 7 ): |
fd( 7 ) |
right( 10 ) |
penup() |
fd( 8 ) |
seth( - 140 ) |
pendown() |
for i in range ( 7 ): |
fd( 6 ) |
right( 10 ) |
def layer4( self ): |
penup() |
goto( - 120 , - 95 ) |
seth( - 130 ) |
pendown() |
for i in range ( 7 ): |
fd( 10 ) |
right( 5 ) |
penup() |
goto( 100 , - 95 ) |
seth( - 50 ) |
pendown() |
for i in range ( 7 ): |
fd( 10 ) |
left( 5 ) |
penup() |
seth( - 120 ) |
fd( 10 ) |
seth( - 155 ) |
pendown() |
for i in range ( 6 ): |
fd( 8 ) |
right( 10 ) |
penup() |
seth( - 160 ) |
fd( 10 ) |
seth( - 155 ) |
pendown() |
for i in range ( 6 ): |
fd( 8 ) |
right( 10 ) |
penup() |
seth( - 160 ) |
fd( 10 ) |
seth( - 155 ) |
pendown() |
for i in range ( 6 ): |
fd( 8 ) |
right( 10 ) |
penup() |
seth( - 160 ) |
fd( 10 ) |
seth( - 160 ) |
pendown() |
for i in range ( 6 ): |
fd( 8 ) |
right( 10 ) |
penup() |
seth( - 160 ) |
fd( 10 ) |
seth( - 160 ) |
pendown() |
for i in range ( 6 ): |
fd( 8 ) |
right( 10 ) |
penup() |
seth( - 160 ) |
fd( 10 ) |
seth( - 165 ) |
pendown() |
for i in range ( 5 ): |
fd( 10 ) |
right( 11 ) |
def trunk( self ): |
penup() |
goto( - 70 , - 165 ) |
seth( - 85 ) |
pendown() |
for i in range ( 3 ): |
fd( 5 ) |
left( 3 ) |
penup() |
goto( 70 , - 165 ) |
seth( - 95 ) |
pendown() |
for i in range ( 3 ): |
fd( 5 ) |
right( 3 ) |
seth( - 170 ) |
penup() |
fd( 10 ) |
pendown() |
pendown() |
for i in range ( 10 ): |
fd( 12 ) |
right( 2 ) |
penup() |
goto( 70 , - 165 ) |
pendown() |
seth( - 90 ) |
pensize( 8 ) |
pencolor( "DarkSeaGreen" ) |
circle( - 20 , 90 ) |
penup() |
goto( 30 , - 185 ) |
pendown() |
seth( - 180 ) |
pensize( 8 ) |
pencolor( "DarkSeaGreen" ) |
fd( 40 ) |
penup() |
goto( - 5 , - 170 ) |
pendown() |
seth( - 180 ) |
pensize( 8 ) |
pencolor( "DarkSeaGreen" ) |
fd( 35 ) |
right_up( - 70 , - 150 , 160 ) |
right_up( 100 , - 150 , 160 ) |
right_down( 110 , - 110 , 50 ) |
right_up( 160 , - 140 , 150 ) |
clockwise( 80 , - 120 , 180 ) |
right_up( 70 , - 85 , 165 ) |
right_up( - 40 , - 85 , 165 ) |
right_down( 90 , - 50 , 50 ) |
right_up( 130 , - 80 , 150 ) |
pencolor( "Green" ) |
clockwise( - 40 , - 60 , 180 ) |
pencolor( 'DarkSeaGreen' ) |
clockwise( 80 , - 30 , 180 ) |
pencolor( "Green" ) |
clockwise( 40 , 10 , 180 ) |
pencolor( "DarkSeaGreen" ) |
right_up( - 60 , 30 , 120 ) |
right_up( - 20 , - 20 , 150 ) |
right_down( 45 , 40 , 60 ) |
right_up( - 30 , 40 , 170 ) |
right_up( - 30 , 110 , 115 ) |
right_down( 40 , 90 , 60 ) |
right_up( 80 , 50 , 160 ) |
pencolor( "DarkSeaGreen" ) |
class ChristmasTree(): |
def __init__( self ): |
setup( 500 , 500 , startx = None , starty = None ) |
speed( 0 ) |
TreeBackBone() |
pencolor( "#de8891" ) |
self .small_bowknots() |
self .big_bowknots() |
self .christmashats() |
self .stars() |
self .socks() |
penup() |
seth( 0 ) |
goto( 100 , - 230 ) |
pendown() |
write( "Merry Christmas " , align = "center" , font = ( "Comic Sans MS" , 24 , "bold" )) |
done() |
def small_bowknots( self ): |
seth( 0 ) |
unit( 40 , - 160 ) |
basebowknot( - 80 , - 120 ) |
red_anticlockwise( - 67 , - 115 , 120 ) |
red_anticlockwise( - 86 , - 123 , 150 ) |
basebowknot( 40 , - 50 ) |
red_anticlockwise( 52 , - 45 , 130 ) |
red_anticlockwise( 34 , - 55 , 160 ) |
seth( 0 ) |
unit( - 20 , - 60 ) |
red_anticlockwise( - 4 , - 60 , 100 ) |
red_anticlockwise( - 20 , - 60 , 120 ) |
basebowknot( - 30 , 20 ) |
red_anticlockwise( - 15 , 25 , 130 ) |
red_anticlockwise( - 40 , 20 , 180 ) |
unit( 30 , 70 ) |
red_anticlockwise( 45 , 70 , 100 ) |
red_anticlockwise( 30 , 70 , 120 ) |
def big_bowknots( self ): |
pencolor( "red" ) |
pensize( 5 ) |
penup() |
seth( 0 ) |
goto( 0 , 150 ) |
pendown() |
circle( 10 ) |
seth( - 15 ) |
fd( 40 ) |
seth( 90 ) |
fd( 40 ) |
seth( 200 ) |
fd( 40 ) |
seth( 160 ) |
fd( 40 ) |
seth( - 90 ) |
fd( 40 ) |
seth( 15 ) |
fd( 40 ) |
seth( - 70 ) |
pencolor( "red" ) |
pensize( 4 ) |
fd( 40 ) |
seth( - 180 ) |
fd( 10 ) |
seth( 100 ) |
fd( 40 ) |
seth( - 100 ) |
fd( 40 ) |
seth( - 180 ) |
fd( 10 ) |
seth( 70 ) |
fd( 40 ) |
penup() |
seth( 0 ) |
goto( 0 , 130 ) |
pencolor( "pink" ) |
pendown() |
def christmashats( self ): |
seth( 0 ) |
pink_anticlockwise( 35 , 145 , 100 ) |
pink_anticlockwise( - 7 , 145 , 110 ) |
pencolor( "red" ) |
pensize( 7 ) |
penup() |
goto( - 35 , 135 ) |
pendown() |
seth( - 20 ) |
pensize( 2 ) |
penup() |
goto( - 30 , - 120 ) |
pencolor( "black" ) |
pendown() |
fillcolor( "red" ) |
fd( 30 ) |
circle( 4 , 180 ) |
fd( 30 ) |
circle( 4 , 180 ) |
penup() |
goto( - 25 , - 115 ) |
seth( 75 ) |
pendown() |
begin_fill() |
for i in range ( 5 ): |
fd( 6 ) |
right( 20 ) |
seth( - 10 ) |
for i in range ( 5 ): |
fd( 8 ) |
right( 15 ) |
seth( 145 ) |
for i in range ( 5 ): |
fd( 5 ) |
left( 2 ) |
seth( 90 ) |
for i in range ( 5 ): |
fd( 1 ) |
left( 2 ) |
seth( - 90 ) |
for i in range ( 4 ): |
fd( 4 ) |
right( 6 ) |
seth( 161 ) |
fd( 30 ) |
end_fill() |
pensize( 1 ) |
pencolor( "black" ) |
def stars( self ): |
seth( - 15 ) |
star( - 120 , - 70 , 10 ) |
seth( 10 ) |
star( 100 , - 20 , 10 ) |
seth( - 10 ) |
star( 10 , 40 , 10 ) |
seth( 30 ) |
star( - 80 , 60 , 10 ) |
star( 100 , - 150 , 10 ) |
star( - 140 , - 150 , 10 ) |
star( 20 , 120 , 10 ) |
def socks( self ): |
seth( - 20 ) |
pensize( 2 ) |
penup() |
goto( - 20 , 80 ) |
pencolor( "black" ) |
pendown() |
fillcolor( "red" ) |
fd( 25 ) |
circle( 4 , 180 ) |
fd( 25 ) |
circle( 4 , 180 ) |
penup() |
goto( - 15 , 80 ) |
pendown() |
begin_fill() |
fillcolor( "red" ) |
seth( - 120 ) |
fd( 20 ) |
seth( 150 ) |
fd( 5 ) |
circle( 7 , 180 ) |
fd( 15 ) |
circle( 5 , 90 ) |
fd( 30 ) |
seth( 160 ) |
fd( 18 ) |
end_fill() |
def basebowknot(x, y): |
penup() |
goto(x, y) |
seth( 80 ) |
pendown() |
pensize( 2 ) |
circle( 5 ) |
seth( 10 ) |
fd( 15 ) |
seth( 120 ) |
fd( 20 ) |
seth( 240 ) |
fd( 20 ) |
seth( 180 ) |
fd( 20 ) |
seth( - 60 ) |
fd( 20 ) |
seth( 50 ) |
fd( 20 ) |
seth( - 40 ) |
fd( 30 ) |
seth( - 130 ) |
fd( 5 ) |
seth( 135 ) |
fd( 30 ) |
seth( - 60 ) |
fd( 30 ) |
seth( - 150 ) |
fd( 6 ) |
seth( 110 ) |
fd( 30 ) |
def right_up(x, y, z): |
penup() |
goto(x, y) |
seth( - z) |
pendown() |
for angel in range ( 5 ): |
fd( 10 ) |
right( 10 ) |
def right_down(x, y, z): |
penup() |
goto(x, y) |
seth( - z) |
pendown() |
for angel in range ( 5 ): |
fd( 10 ) |
left( 10 ) |
def clockwise(x, y, z): |
penup() |
goto(x, y) |
seth( - z) |
pendown() |
for angel in range ( 5 ): |
fd( 6 ) |
right( 10 ) |
seth( - 150 ) |
fd( 20 ) |
def unit(x, y): |
penup() |
goto(x, y) |
pendown() |
pensize( 2 ) |
circle( 5 ) |
seth( - 10 ) |
fd( 15 ) |
seth( 90 ) |
fd( 15 ) |
seth( 200 ) |
fd( 15 ) |
seth( 160 ) |
fd( 15 ) |
seth( - 90 ) |
fd( 15 ) |
seth( 10 ) |
fd( 15 ) |
seth( - 60 ) |
fd( 20 ) |
seth( - 180 ) |
fd( 5 ) |
seth( 110 ) |
fd( 20 ) |
seth( - 90 ) |
fd( 20 ) |
seth( - 180 ) |
fd( 6 ) |
seth( 70 ) |
fd( 15 ) |
hideturtle() |
def red_anticlockwise(x, y, z): |
penup() |
goto(x, y) |
pendown() |
seth(z) |
for po in range ( 5 ): |
fd( 4 ) |
left( 36 ) |
def pink_anticlockwise(x, y, z): |
penup() |
goto(x, y) |
pencolor( "red" ) |
pendown() |
seth(z) |
for po in range ( 10 ): |
fd( 4 ) |
left( 18 ) |
def star(x, y, size): |
pensize( 2 ) |
pencolor( "black" ) |
penup() |
goto(x, y) |
pendown() |
begin_fill() |
fillcolor( "yellow" ) |
for i in range ( 5 ): |
left( 72 ) |
fd(size) |
right( 144 ) |
fd(size) |
end_fill() |
if __name__ = = '__main__' : |
ChristmasTree() |
初级程序员
by: 云代码会员 发表于:2022-12-29 15:58:58 顶(1) | 踩(1) 回复
666
回复评论