Python浪漫520表白代码
时间: 2023-11-19 21:56:54 浏览: 206
是Python浪漫520表白代码,可以用turtle库绘制爱心动画:
```python
import turtle as t
import random as ra
import math
# 设置画布大小和背景颜色
t.setup(800, 600)
t.bgcolor('black')
# 定义爱心类
class Heart():
def __init__(self):
self.r = ra.randint(10, 15) # 爱心的半径
self.x = ra.randint(-400, 400) # 爱心的横坐标
self.y = ra.randint(-200, 200) # 爱心的纵坐标
self.f = ra.uniform(-3.14, 3.14) # 爱心左右移动呈正弦函数
self.speed = ra.randint(5, 10) # 爱心移动速度
self.color = ra.choice(['red', 'pink', 'purple', 'blue', 'green', 'yellow']) # 爱心的颜色
self.outline = 1 # 爱心的外框大小(可不要)
# 爱心移动函数
def move(self):
if self.y <= 200: # 当爱心还在画布中时
self.y += self.speed # 设置上下移动速度
self.x += self.speed * math.sin(self.f) # 设置左右移动速度
self.f += 0.1 # 可以理解成标志,改变左右移动的方向
else: # 当爱心漂出了画布时,重新生成一个爱心
self.r = ra.randint(10, 15)
self.x = ra.randint(-400, 400)
self.y = -200
self.f = ra.uniform(-3.14, 3.14)
self.speed = ra.randint(5, 10)
self.color = ra.choice(['red', 'pink', 'purple', 'blue', 'green', 'yellow'])
self.outline = 1
# 画爱心函数,就是用turtle画爱心
def draw(self):
t.pensize(self.outline)
t.penup()
t.color(self.color)
t.goto(self.x, self.y)
t.pendown()
t.begin_fill()
t.fillcolor('pink')
t.setheading(120)
t.circle(self.r, 195)
t.fd(self.r * 2.4)
t.lt(90)
t.fd(self.r * 2.4)
t.circle(self.r, 195)
t.end_fill()
# 实例化爱心对象
hearts = []
for i in range(20):
hearts.append(Heart())
# 循环绘制爱心动画
while True:
for heart in hearts:
heart.move()
heart.draw()
t.update()
# 点击关闭窗口
t.done()
```
阅读全文
相关推荐
















