【python】待君有餘暇,看春賞櫻花,這不得來一場浪漫的櫻花旅~
import turtle
from random import random
from random import randint
def draw_petal(turtle_obj, flower):
# 繪製掉落的花瓣
for i in range(int(flower)):
# 有正有負就可以讓畫筆往二個方向走
x = flower - 4 * flower * random()
# 花瓣整體寬度 (-10, 10)
y = 10 - 20 * random()
# 提筆,向前 y ,左轉 90 ,走 x ,落筆
turtle_obj.penup()
turtle_obj.forward(y)
turtle_obj.left(90)
turtle_obj.forward(x)
turtle_obj.pendown()
# 珊瑚色
turtle_obj.pencolor("lightcoral")
# 畫圓
turtle_obj.circle(1)
# 回到起點
# 提筆,後退 x ,右轉 90, 後退 y ,落筆
turtle_obj.penup()
turtle_obj.backward(x)
turtle_obj.right(90)
turtle_obj.backward(y)
turtle_obj.pendown()
# 畫樹枝部分
def draw_tree(turtle_obj, branch, tree_color):
# 設定一個最小分支長度
min_branch = 4
if branch > min_branch:
if branch < 8:
# 以 0.5 的機率,向左、右分支
if randint(0, 1) == 0:
# 左為白色
turtle_obj.pencolor("snow")
else:
# 右為珊瑚色
turtle_obj.pencolor("lightcoral")
# 枝幹
turtle_obj.pensize(branch / 2)
elif 8 <= branch <= 16:
# 以 0.33 的機率,分為左、中、右分支
if randint(0, 2) == 0:
# 左為白色
turtle_obj.pencolor("snow")
else:
# 中、右為珊瑚色
turtle_obj.pencolor("lightcoral")
# 樹枝
turtle_obj.pensize(branch / 4)
else:
# 褐色
turtle_obj.pencolor(tree_color)
# 細枝
turtle_obj.pensize(branch / 10)
# 最開始的樹幹長度
turtle_obj.forward(branch)
# 隨機度數因子
a = 1.5 * random()
# 順時針旋轉隨機角度( 0 ~ 30 度)
turtle_obj.right(20 * a)
# 隨機長度因子
b = 1.5 * random()
# 往右畫,直到畫不動為止
draw_tree(turtle_obj, branch - 10 * b, tree_color)
# 左轉隨機角度
turtle_obj.left(40 * a)
# 往左畫,跟單網gendan5.com直到畫不動位置
draw_tree(turtle_obj, branch - 10 * b, tree_color)
# 右轉一定角度
turtle_obj.right(20 * a)
# 提筆
turtle_obj.penup()
# 遞迴結束回到起點
turtle_obj.backward(branch)
turtle_obj.pendown()
def get_screen(width, height, color, speed):
# 建立畫幕
screen_obj = turtle.Screen()
# 畫布大小: (width, height) ,顏色: color
screen_obj.screensize(width, height, bg=color)
screen_obj.setup(1.0, 1.0)
# speed 倍加速
screen_obj.tracer(speed)
return screen_obj
def trees(tree_num):
# 顏色
color = ['brown', 'tan', 'black']
for j in range(tree_num):
# 樹幹顏色
tree_color = color[randint(0, len(color) - 1)]
# 畫筆大小
pensize = randint(2, 5)
# 前進畫素
forward = ((-1) ** pensize) * pensize * randint(20, 50)
# 後退畫素
if pensize <= 3:
backward = ((-1) ** pensize) * (5 - pensize) * randint(10, 15)
else:
backward = pensize * randint(45, 50)
# 建立畫筆
turtle_obj = turtle.Turtle()
# 畫筆粗細
turtle_obj.pensize(pensize)
# 提筆,向前 forward ,左轉 90 , backward ,落筆
turtle_obj.penup()
turtle_obj.forward(forward)
turtle_obj.left(90)
turtle_obj.backward(backward)
turtle_obj.pendown()
# 畫筆顏色:褐色
turtle_obj.pencolor(tree_color)
# 枝幹粗細
branch = pensize * 15
# 落花數
flowers = branch
# 第 j 棵樹
draw_tree(turtle_obj, branch, tree_color)
# 花瓣
draw_petal(turtle_obj, flowers)
if __name__ == '__main__':
# 建立畫幕
my_screen_width = 800
my_screen_height = 600
my_screen_color = 'wheat'
my_screen_speed = 5
my_screen_obj = get_screen(my_screen_width, my_screen_height,
my_screen_color, my_screen_speed,)
# 櫻花樹
# 棵數
my_tree_num = 10
trees(my_tree_num)
# 點選關閉畫布
my_screen_obj.exitonclick()
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2920917/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 一場櫻花雨(Python實現)Python
- Python——畫一棵漂亮的櫻花樹(不同種櫻花+玫瑰+聖誕樹喔)Python
- bzoj 2721: [Violet 5]櫻花
- Python敲出櫻花開放,你不懂這門技術有多神奇!Python
- 洛谷P1445 [Violet]櫻花
- 櫻花熱水器全國各市售後服務電話官方24小時櫻花維修中心
- 使用Python的turtle模組繪製美麗的櫻花樹Python
- 程式設計師的浪漫,武大學生程式碼敲出櫻花開放【附原始碼】程式設計師原始碼
- [HEOI 2015] 兔子與櫻花(貪心) | 錯題本
- 心情不好的時候,用 Python 畫棵櫻花樹送給自己吧Python
- 科技愛好者週刊(第 218 期):葡萄酒,櫻花,全球變暖
- 青原櫻
- 似幻似真的太正浪漫:《櫻花大戰》誕生史話(中)
- 2020年CTS音視訊開發者大會圓滿落幕 回顧櫻花盛放時
- 程式人生 | 春風得意馬蹄疾,一日看盡長安花
- 櫻花空調全國售後服務電話官方24小時維修熱線號碼
- 使用者之聲 | 冬去春來,靜待花開 ——淺談GBase 8a學習感悟
- Spring Boot 配置檔案中的花樣,看這一篇足矣!Spring Boot
- Spring Boot 配置檔案中的花樣,看這一篇足矣Spring Boot
- 春節將至,喜慶的煙花安排上(js實現煙花)JS
- Python帶你跨年!用Python送你一場跨年煙花秀Python
- 《櫻桃灣之夏》今日超元氣測試開放 元氣偶像櫻你而生!
- SLG搶量有多燒錢?這款遊戲一年花5億、兩年花8億遊戲
- 中國人工智慧,賞花更要尋根人工智慧
- 《夢幻花園》御花園春版本:感受春日好時光,用心做好中國風
- 【leetcode】741 摘櫻桃(動態規劃)LeetCode動態規劃
- 慶祝法國隊奪冠:用Python放一場煙花秀Python
- 給 UIView 來點菸花UIView
- 從《小動物之星》看這些年Steam碩果如何在移動市場開花
- 聊聊boss戰設計(一):從只狼的櫻龍戰開始
- 值得你花時間看的擴散模型教程,來自普渡大學模型
- 美團旅行:2018年中國春季賞花指南
- 花姐的python學習目錄Python
- 解缺芯之困以工匠之心靜待花開
- 花五分鐘看這篇之前,你才發現你不懂RESTfulREST
- Node中的一股清流,比流川楓還要櫻花木道
- 新提案:Go 泛型玩出花來了,switch type 登場!Go泛型
- ConcurrentHashMap 怎麼聊出花來?HashMap