python代码爱心
时间: 2023-12-02 15:43:00 浏览: 40
以下是Python实现动态漂浮爱心的源码:
```python
import random
import math
import os
class Heart():
# 每个爱心(爱心类)
def __init__(self):
self.r = random.randint(10, 15) # 爱心的半径
self.x = random.randint(-1000, 1000) # 爱心的横坐标
self.y = random.randint(-500, 500) # 爱心的纵坐标
self.color = (random.randint(50, 255), random.randint(50, 255), random.randint(50, 255)) # 爱心的颜色
def move(self):
self.x += math.sin(self.y / 100) * 5
self.y -= 5
def draw(self, canvas):
canvas.draw_circle((self.x, self.y), self.r, 1, self.color, "pink")
def is_out_of_screen(self):
return self.y < -500 or self.x < -1000 or self.x > 1000
def __str__(self):
return "Heart[r=%d, x=%d, y=%d, color=%s]" % (self.r, self.x, self.y, str(self.color))
class Hearts():
# 所有爱心(爱心组类)
def __init__(self, count):
self.count = count
self.hearts = []
for i in range(count):
self.hearts.append(Heart())
def move(self):
for heart in self.hearts:
heart.move()
if heart.is_out_of_screen():
self.hearts.remove(heart)
self.hearts.append(Heart())
def draw(self, canvas):
for heart in self.hearts:
heart.draw(canvas)
def __str__(self):
return "Hearts[count=%d, hearts=%s]" % (self.count, str(self.hearts))
def draw(canvas):
global hearts
hearts.move()
hearts.draw(canvas)
# 创建爱心组
hearts = Hearts(50)
# 创建画布
frame = simplegui.create_frame("Heart", 1000, 500)
frame.set_canvas_background("white")
frame.set_draw_handler(draw)
# 启动画布
frame.start()
```