
import tkinter as tk
import random
import threading
import time
import math
def dow(msg, x, y, target_x, target_y, speed=2):
window = tk.Tk()
window.geometry(f"180x70+{int(x)}+{int(y)}")
bg_colors = ['#00FFFF', '#7FFFD4', '#00BFFF', '#FFB6C1', '#FF69B4', '#FFD700', '#F0F0F0',
'#98FB98', '#ADD8E6', '#FFA07A', '#FFC0CB', '#BDB76B', '#87CEFA']
bg_color = random.choice(bg_colors)
label = tk.Label(window, text=msg, bg=bg_color, font=('楷体', 16))
label.pack(fill=tk.BOTH, expand=True)
dx = target_x - x
dy = target_y - y
steps = 50
step_x = dx / steps
step_y = dy / steps
for i in range(steps):
x += step_x
y += step_y
window.geometry(f"180x70+{int(x)}+{int(y)}")
window.update()
time.sleep(0.01)
window.mainloop()
def get_heart_points(num_points, center_x, center_y, scale=300):
"""生成爱心形状的点坐标"""
points = []
for i in range(num_points):
t = i * 2 * math.pi / num_points
x = 16 * math.sin(t) ** 3
y = 13 * math.cos(t) - 5 * math.cos(2 * t) - 2 * math.cos(3 * t) - math.cos(4 * t)
x = center_x + x * scale / 16
y = center_y - y * scale / 16
points.append((x, y))
return points
def main():
messages = [
"顺遂长安!", "付陈君!", "永远被爱包围!",
"岁岁平安!", "生辰喜乐!", "万事胜意!",
"心想事成!", "笑口常开!", "前程似锦!",
"身体健康!", "工作顺利!", "学业进步!",
"财源广进!", "家庭幸福!", "爱情甜蜜!",
"友谊长存!", "好运连连!", "平安喜乐!",
"幸福美满!", "吉祥如意!", "福如东海!",
"寿比南山!", "一帆风顺!", "二龙腾飞!",
"三羊开泰!", "四季平安!", "五福临门!",
"六六大顺!", "七星高照!", "八方来财!",
"九九同心!", "十全十美!", "百事可乐!",
"千事吉祥!", "万事如意!", "心想事成!",
"美梦成真!", "好运连连!", "幸福安康!",
"笑口常开!", "青春永驻!", "活力四射!",
"神采飞扬!", "自信满满!", "魅力无限!",
"光芒万丈!", "才华横溢!", "智慧过人!",
"勇敢无畏!", "坚韧不拔!", "乐观向上!",
"积极进取!", "勇于创新!", "追求卓越!",
"超越自我!", "成就非凡!", "创造辉煌!",
"梦想成真!", "理想实现!", "目标达成!",
"挑战成功!", "突破极限!", "超越巅峰!",
"团结一心!", "众志成城!", "携手共进!",
"合作共赢!", "共创未来!", "共享成果!",
"感恩遇见!", "珍惜当下!", "展望未来!",
"把握机遇!", "迎接挑战!", "拥抱变化!",
"适应发展!", "不断进步!", "持续成长!",
"终身学习!", "与时俱进!", "开拓创新!",
"勇于探索!", "发现美好!", "创造价值!",
"服务社会!", "贡献力量!", "实现价值!",
"追求梦想!", "坚持信念!", "永不放弃!",
"勇往直前!", "砥砺前行!", "乘风破浪!",
"披荆斩棘!", "迎难而上!", "永不言败!",
"愈挫愈勇!", "永不退缩!", "百折不挠!",
"坚韧不拔!", "毅力惊人!", "决心坚定!",
"信心满满!", "自信自强!", "自立更生!",
"自强不息!", "厚德载物!", "上善若水!",
"海纳百川!", "有容乃大!", "宁静致远!",
"淡泊明志!", "知足常乐!", "感恩生活!",
"热爱生命!", "享受当下!", "珍惜时光!",
"活在当下!", "拥抱生活!", "热爱世界!",
"传递温暖!", "分享快乐!", "奉献爱心!",
"乐于助人!", "与人为善!", "以德服人!",
"以礼待人!", "以诚相待!", "以心相交!",
"以情相待!", "以义相交!", "以信立身!",
"以爱处世!", "以和为贵!", "以善为宝!"
]
temp = tk.Tk()
center_x, center_y = temp.winfo_screenwidth() // 2, temp.winfo_screenheight() // 2
screen_width = temp.winfo_screenwidth()
screen_height = temp.winfo_screenheight()
temp.destroy()
num_windows = 100
heart_points = get_heart_points(num_windows, center_x, center_y)
for i in range(num_windows):
rand_x = random.randint(0, screen_width)
rand_y = random.randint(0, screen_height)
t = threading.Thread(target=dow,
args=(random.choice(messages), rand_x, rand_y, heart_points[i][0], heart_points[i][1]))
t.start()
time.sleep(0.05)
if __name__ == "__main__":
main()