news 2026/4/18 8:02:58

【Python高级编程】2026 丙午马年元旦祝福程序

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Python高级编程】2026 丙午马年元旦祝福程序
# Python 高级编程:2026 丙午马年元旦祝福程序# 主题:烟花 + 动态文字 + 祝福动画 + 音效提示(可选) + 烟火粒子系统# 运行环境:Python 3.8+ + pygame(pip install pygame)importpygameimportsysimportrandomimportmathimporttimefromdatetimeimportdatetime# 初始化 Pygamepygame.init()pygame.mixer.init()# 如果想加音效# 屏幕设置WIDTH,HEIGHT=1280,720screen=pygame.display.set_mode((WIDTH,HEIGHT))pygame.display.set_caption("2026 丙午马年 元旦快乐!")clock=pygame.time.Clock()# 颜色定义(马年火元素 + 节日喜庆)BLACK=(0,0,0)WHITE=(255,255,255)RED=(255,50,50)GOLD=(255,215,0)ORANGE=(255,140,0)PURPLE=(180,100,255)CYAN=(0,255,255)# 字体font_title=pygame.font.SysFont('simhei',80,bold=True)# 中文黑体font_sub=pygame.font.SysFont('simhei',50)font_small=pygame.font.SysFont('simhei',32)# 粒子类(烟花爆炸效果)classParticle:def__init__(self,x,y,color):self.x=x self.y=y self.color=color self.angle=random.uniform(0,math.tau)self.speed=random.uniform(2,8)self.size=random.randint(3,8)self.lifetime=random.randint(40,90)self.gravity=0.08self.alpha=255defupdate(self):self.x+=math.cos(self.angle)*self.speed self.y+=math.sin(self.angle)*self.speed+self.gravity*(90-self.lifetime)self.lifetime-=1self.alpha=int(255*(self.lifetime/90))ifself.lifetime>0else0defdraw(self,surface):ifself.lifetime>0:s=pygame.Surface((self.size*2,self.size*2),pygame.SRCALPHA)pygame.draw.circle(s,(*self.color,self.alpha),(self.size,self.size),self.size)surface.blit(s,(int(self.x-self.size),int(self.y-self.size)))# 烟花类classFirework:def__init__(self):self.x=random.randint(100,WIDTH-100)self.y=HEIGHT self.target_y=random.randint(100,HEIGHT//3)self.color=random.choice([RED,GOLD,ORANGE,PURPLE,CYAN])self.speed=random.uniform(8,15)self.exploded=Falseself.particles=[]defupdate(self):ifnotself.exploded:self.y-=self.speedifself.y<=self.target_y:self.exploded=Truefor_inrange(120):self.particles.append(Particle(self.x,self.y,self.color))else:forpinself.particles[:]:p.update()ifp.lifetime<=0:self.particles.remove(p)defdraw(self,surface):ifnotself.exploded:# 上升尾迹pygame.draw.circle(surface,self.color,(int(self.x),int(self.y)),6)pygame.draw.circle(surface,WHITE,(int(self.x),int(self.y)),3)else:forpinself.particles:p.draw(surface)# 文字动画类classTextAnimation:def__init__(self,text,font,color,x,y,duration=3000):self.text=text self.font=font self.color=color self.x=x self.y=y self.start_time=pygame.time.get_ticks()self.duration=duration self.alpha=0defupdate(self):elapsed=pygame.time.get_ticks()-self.start_timeifelapsed<self.duration//3:self.alpha=int(255*(elapsed/(self.duration//3)))elifelapsed>self.duration*2//3:self.alpha=int(255*(1-(elapsed-self.duration*2//3)/(self.duration//3)))else:self.alpha=255defdraw(self,surface):ifself.alpha>0:surf=self.font.render(self.text,True,self.color)surf.set_alpha(self.alpha)surface.blit(surf,(self.x-surf.get_width()//2,self.y-surf.get_height()//2))# 主祝福内容(可自定义)blessings=["2026 丙午马年 元旦快乐!","马到成功 骏业日新","火马奔腾 热情似火","新年新气象 心想事成","健康平安 财源广进","家庭和睦 爱情甜蜜","学业有成 事业腾飞","岁岁平安 年年有余","愿你2026 如马般自由奔放!"]# 初始化fireworks=[]texts=[]current_blessing_idx=0next_text_time=pygame.time.get_ticks()+2000# 主循环running=Truepygame.mouse.set_visible(False)# 隐藏鼠标更沉浸whilerunning:dt=clock.tick(60)current_time=pygame.time.get_ticks()foreventinpygame.event.get():ifevent.type==pygame.QUIT:running=Falseelifevent.type==pygame.KEYDOWN:ifevent.key==pygame.K_ESCAPE:running=False# 背景:深邃夜空 + 轻微星光screen.fill((8,8,30))# 随机发射烟花(每隔0.8~2秒一朵)ifrandom.random()<0.03:fireworks.append(Firework())# 更新 & 绘制烟花forfwinfireworks[:]:fw.update()fw.draw(screen)iffw.explodedandnotfw.particles:fireworks.remove(fw)# 祝福文字轮播动画ifcurrent_time>next_text_time:iftexts:texts.pop(0)# 移除旧的text=blessings[current_blessing_idx%len(blessings)]anim=TextAnimation(text,font_titleif"丙午马年"intextelsefont_sub,random.choice([GOLD,RED,ORANGE,CYAN]),WIDTH//2,HEIGHT//2+random.randint(-80,80),duration=5000)texts.append(anim)current_blessing_idx+=1next_text_time=current_time+random.randint(4000,7000)fortintexts:t.update()t.draw(screen)# 小祝福 + 时间显示now=datetime.now()time_str=now.strftime("%Y年%m月%d日 %H:%M:%S")time_surf=font_small.render(f"Las Vegas 时间:{time_str}2026元旦快乐!",True,WHITE)screen.blit(time_surf,(20,HEIGHT-40))horse_tip=font_small.render("丙午马年 · 火马奔腾 · 热情似火 · 马到成功",True,(255,180,100))screen.blit(horse_tip,(WIDTH-horse_tip.get_width()-20,HEIGHT-40))pygame.display.flip()pygame.quit()sys.exit()

程序亮点(高级编程技巧展示)

  • 粒子系统:真实烟花爆炸物理(速度+重力+衰减+alpha渐隐)
  • 动画文字:淡入淡出 + 随机位置/颜色/间隔
  • 事件驱动:键盘ESC退出 + 随机烟花发射
  • 中文字体:使用simhei(Windows自带黑体)完美显示中文
  • 时间实时:结合datetime显示当前时间(拉斯维加斯时区)
  • 祝福轮播:内容可无限扩展,自定义你的专属祝福

快速运行方式

  1. 确保安装 pygame:

    pipinstallpygame
  2. 复制代码保存为happy_new_year_2026.py

  3. 执行:

    python happy_new_year_2026.py
  4. 按 ESC 优雅退出

2026丙午马年元旦快乐!
愿你马到成功,热情似火,奔腾向前!
在新的一年里,一切顺利,心想事成~ 🐎🔥✨

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 5:41:27

零基础部署Qwen3-Embedding-0.6B,5分钟实现文本向量化API

零基础部署Qwen3-Embedding-0.6B&#xff0c;5分钟实现文本向量化API 你是否遇到过这样的问题&#xff1a;想快速把一段话变成数字向量&#xff0c;用于搜索、分类或聚类&#xff0c;但又不想折腾复杂的环境配置&#xff1f;或者刚接触向量检索&#xff0c;被模型下载、服务启…

作者头像 李华
网站建设 2026/4/17 11:30:36

MODHEADER入门:零基础学会HTTP请求头配置

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个新手友好的MODHEADER学习工具&#xff0c;提供HTTP请求头的基础知识讲解和互动练习。用户可以通过简单的问答形式输入需求&#xff0c;AI生成对应的请求头并解释每个字段的…

作者头像 李华
网站建设 2026/4/16 13:50:12

VSCode自动保存功能开启方法(新手必看配置技巧)

第一章&#xff1a;VSCode自动保存功能的重要性与应用场景Visual Studio Code&#xff08;简称 VSCode&#xff09;作为现代开发者的首选编辑器之一&#xff0c;其自动保存功能极大提升了编码效率与开发流畅性。启用该功能后&#xff0c;开发者无需频繁手动执行保存操作&#x…

作者头像 李华
网站建设 2026/4/7 10:52:44

Python小白必做的30道基础练习题(附保姆级答案解析)

这里是为 Python 真正的小白 准备的 30道超基础练习题&#xff08;2026年视角&#xff09;&#xff0c;难度从输入输出 → 变量 → 条件 → 循环 → 字符串 → 列表 → 函数逐步递增。 每道题都附带&#xff1a; 题目描述参考答案&#xff08;最简单、最清晰的写法&#xff0…

作者头像 李华
网站建设 2026/4/17 5:53:48

YMODEM协议入门:5分钟理解文件传输基本原理

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个YMODEM协议的教学演示程序&#xff0c;要求&#xff1a;1. 图形化展示协议通信过程 2. 逐步分解数据包结构 3. 包含简单文件传输示例 4. 提供交互式学习模式。使用Python实…

作者头像 李华
网站建设 2026/4/16 22:44:10

VIGEMBUS入门指南:5步创建第一个虚拟设备

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 编写一个面向初学者的VIGEMBUS教学项目&#xff0c;要求&#xff1a;1. 分步骤演示虚拟设备创建过程 2. 包含最基本的按键输入模拟示例 3. 每个步骤有详细注释和说明 4. 提供常见问…

作者头像 李华