用程式碼畫兩棵聖誕樹送給你【附詳細程式碼】

專注的阿熊發表於2022-12-30

from turtle import *

import random

import time

n = 100.0

setup(500, 700, startx=None, starty=None)  

# 畫筆速度

speed("fastest")

# 背景顏色

screensize(bg='cornflowerblue')

# 畫筆顏色,填充顏色

color("dark green")

fillcolor('yellow')

pensize(10)

# 畫筆方向,向上

left(90)

# 每筆畫素

forward(2.8*n)  

# 隨機生成顏色

def get_color():

     color_arr = ['light coral', 'tomato', 'orange red', 'red','brown',

     'firebrick','salmon', 'dark salmon','light salmon', 'orange',

     'chocolate','yellow','gold', 'goldenrod',

     'dark goldenrod', 'rosy brown','indian red', 'saddle brown',

     'dark orange','coral',  'hot pink', 'deep pink',

     'pink', 'light pink','pale violet red', 'maroon', 'medium violet red',

     'violet red','medium orchid']

     index = random.randint(0,len(color_arr)) - 1

     return color_arr[index]

# 畫雪花

def snow(snow_count):

     hideturtle()

     pensize(2)

     for i in range(snow_count):

         pencolor("white")

         pu()

         goto(random.randint(-180, 180), random.randint(-180, 340))

         pd()

         dens = random.randint(10, 12)

         snowsize = random.randint(6, 10)

         for _ in range(dens):

             forward(snowsize)  # 向當前畫筆方向移動 snowsize 畫素長度

             backward(snowsize)  # 向當前畫筆相反方向移動 snowsize 畫素長度

             right(360 / dens)  # 順時針移動 360 / dens

# 飄落名字

def name(name_count):

     hideturtle()

     pensize(2)

     for i in range(name_count):

         pencolor(get_color())

         pu()

         goto(random.randint(-220, 220), random.randint(-300, 340))

         pd()

         # 這裡可以換成自己的名字、自己想要的詞語

         name_arr = [' ',' 寧一 ',' 平安 ',' 喜樂 ']

         namesize =外匯跟單gendan5.com random.randint(10, 15)

         index = random.randint(0,len(name_arr)) - 1

         dens = random.randint(10, 12)

         write(name_arr[index],, font=("Arial", namesize, "bold"))

# 畫星星

def koc(size):

   pensize(3)

   pencolor(get_color())

   begin_fill()

   fillcolor('yellow')

   for i in range(5):

       left(72)

       fd(size)

       right(144)

       fd(size)

   end_fill()

# 畫樹幹

backward(n*4.8)

def tree(d, s):

     if d <= 0: return

     if d == 1:

         koc(5)

     pensize(d)

     forward(s)

     tree(d-1, s*.81)

     right(120)

     tree(d-3, s*.5)

     right(120)

     tree(d-3, s*.5)

     right(120)

     backward(s)

     color("dark green")

# 執行函式

tree(14, n)

snow(40)

name(15)

# Merry Christmas 文字

penup()

seth(0)

goto(190, -305)

pendown()   

color("red")

write("Merry Christmas",, font=("Arial", 50, "bold"))

done()


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2930306/,如需轉載,請註明出處,否則將追究法律責任。

相關文章