1、引言
作为一名资深程序单身狗,每天也在想着如何脱单成功,思来想去,能在花费最小代价下把妹成功的方法就是写一个表白程序了,认识我的人在看了以下内容肯定会说没想到你是这样一个闷骚的男人,我只想对你们说:是的。
2、效果图
最终效果图就是这样,是一个动态作画的过程。参考的文章是:https://blog.csdn.net/A757291228/article/details/106029202
当然大多数代码是抄袭人家的了,要避免重复造轮子嘛。
3、代码
from turtle import *
import random
def drawTree(length):
if length>1:
if length<30 and length>14:#缩小一下树干
pensize(4)
elif length<15 and length>5:#长度这个范围内那么就是绿叶
color('#04B486')#
pensize(3)
elif length<5 and length>1:#红花
color('#FE2E9A')
pensize(2)
else:
color('#5E5E5E')#其他范围就是正常的树干
pensize(5)
#随机角度与长度
randangle=2*random.random()
randlen=2*random.random()
#每次使用函数先绘制线段,再调整角度,这里是向右的角度转动
fd(length)
right(20*randangle)
drawTree(length - 10*randlen)
#这里是向左的角度转动
left(40 * randangle)
drawTree(length - 10*randlen)
#为什么需要再向右转20度?那是因为我一共向左转了40度,使用backward后退,必须是相同的角度,不然退回去角度就不同了位置就不会对
right(20 * randangle)
up()
backward(length)
down()
def fallingFlowers(m):
x,y=-1000,-750
for i in range(30):
up()
goto(x,y)
x+=100
down()
yval=50
for i in range(m):
a = 100*random.random()
b = (1.5)*random.random()
if a>59:
color('#FE2E9A')
else:
color('#04B486')
circle(5)
up()
goto(x,y+(yval*b))
fd(a)
yval+=50
down()
def drawword(sign):
poem_list=["Crazy miss, where are you.",
"You are my life, I can't live without you.",
"Not because of my persistence, but because you deserve it.",
"The whole world can be yours, but you can only be mine.",
"The most painful distance is that you are not around, but in my heart."
]
taolu=random.choice(poem_list)
color('#5E5E5E')
up()
goto(-980, 680)
down()
write(taolu, font=('Monotype Corsiva', 15,), align="left")
up()
goto(500, 600)
down()
write("- "+sign, font=('Monotype Corsiva', 15,), align="left")
if __name__ == "__main__":
#sign = input("请输入你的名字:")
sign = "People who love you"
setworldcoordinates(-1000,-750,1000,750)
title("Happy 520!")
tracer(200,1)
bgcolor('#F0FFFF')
color('#5E5E5E')
pensize(5)
up()
goto(0,-700)#跳到绘制起始点
down()
left(80)
fd(140)
drawTree(110)
fallingFlowers(10)#绘制落叶
drawword(sign)
# 点击窗口关闭
window = Screen()
window.exitonclick()
drawTree函数是用来画树的,采用了递归的方法,其中有一些随机数,因此每次画的树形状也不一样,也有几率画出的树很丑,那就翻车了。fallingFlowers函数是用来画落花的,其实就是一堆小圈圈了。drawword函数是我加入用来写诗和签名的。
4、服务
但是给女神的不能是一串代码吧,除非她愿意让你手把手搭建python环境,考虑到这一点,我将程序编译打包为可执行的exe文件,图标是一朵玫瑰花哟,女神双击就可以了,剩下的过程只负责感动就好了。
这时候就要说出我的真正目的了:
白嫖拿走版客户请直接复制代码。
普通积分版客户的exe文件下载链接是:https://download.csdn.net/download/weixin_41803339/12439661。
奢华定制版客户请在下方留言或者私信我,红包大于10元我才会为你定制哟。
5、结语
好兄弟看了exe的执行结果后说到:这不就是特效嘛。其实就是的,可能这个特效还是有点low,但是这就是单身程序员的执念,纵然特效工具漫天飞,我依然选择面向“对象”编程!
Happy 520!(不是520这个日子也可以用哟~)