当前位置: 首页 > news >正文

【Python】-- 趣味代码 - Piano游戏

在这里插入图片描述

文章目录

文章目录

  • 01 Piano游戏
  • 02 Piano游戏代码分析
  • 03 Piano游戏链接

01 Piano游戏

1.audios中是88个音频的wav文件
2.钢琴.png为背景图
3.pictures中为各个按键按下之后的图片
4.键盘zxcvbnm对应钢琴音c d e f g a b;asdfghj对应c1 d1 e1 f1 g1 a1 b1;qwertyu对应c2 d2 e 2 f2 g2 a2 b2.

02 Piano游戏代码分析

资源层
背景图 + 21 张琴键图(z…m、a…j、q…u、1)→ 视觉反馈。
./audios/ 目录存放单音 WAV,命名按十二平均律(c1…c3)→ 音源。
事件-音频路由
keyDict 字典完成 pygame 按键常量 → 音名 的映射。
每次 KEYDOWN 启动一个 threading.Thread 调用 play(),避免阻塞主循环,实现多音并发。
音频流
使用 pyaudio 按块(1024 samples)推送 WAV 数据到 DAC,播放完毕立即关闭流,资源占用极低。
渲染逻辑
KEYDOWN 瞬间把对应琴键图整张 blit 到窗口(0,0),覆盖背景;KEYUP 重新画回背景,形成“按下-弹起”动画。
生命周期 & 健壮性
主循环 100 Hz 轮询事件,ESC / 关闭窗口可干净退出;文件存在性 os.path.exists 防止崩溃。

03 Piano游戏链接

通过网盘分享的文件:piano_python-main.zip<

http://www.dtcms.com/a/577069.html

相关文章:

  • 解决使用EasyExcel导出带公式的excel,公式不自动计算问题
  • 展示型网站多少钱建设大型网站的公司
  • 前端FAQ: 描述⼀下你最近使⽤过的前端框架,并解释为何选择它们?
  • [特殊字符] 微前端部署实战:Nginx 配置 HTTPS 与 CORS 跨域解决方案(示例版)
  • 短视频矩阵系统搭建指南:源码部署与全流程解析
  • 李沐动手学深度学习笔记(1)
  • 做网站云服务器选择多大带宽北京网站建设有哪些公司好
  • 第8章 模块系统
  • GraphRAG在Windows环境下离线部署
  • Spring Boot 实战:企业级接口限流与熔断机制设计
  • 二十一、二进制文件部署高可用集群
  • 窗口dp|组合数学
  • 【linux国庆练习】
  • 织梦cms怎么做双语网站wordpress网页小特效
  • 我的世界做壁纸的网站移动互联网开发心得体会
  • CST对电路板与地面平面耦合的电磁模拟
  • Apple授权登录开发流程
  • 告别手动导出:一键将思源笔记自动同步到 Git 仓库
  • OPPO 后端校招面试,过于简单了!
  • element表格的行列动态合并
  • C++ 零基础入门与冒泡排序深度实现
  • 鸿蒙harmony将注册的数据包装成json发送到后端的细节及过程
  • JavaWeb(后端进阶)
  • VOC浓度快速测定仪在厂界预警中的实战应用:PID传感器技术与数据分析
  • 【SRE】安装Grafana实践
  • 在 PHP 中打印数据(调试、输出内容)
  • 网站运营有什么用做公司网站需要了解哪些东西
  • 段描述符属性测试
  • Ubuntu安装mysql5.7及常见错误问题
  • 第四届图像处理、计算机视觉与机器学习国际学术会议(ICICML 2025)