项目

项目作品

按时间倒序排列,包含个人项目与开源贡献。

共 4 个项目

2026★ 项目

大宋英雄传

独立开发

Phaser 3 + Vite 做的塔防游戏,五章关卡;敌人走哪条路、哪儿能建塔,是从遮罩图里算出来的。

从梁山聚义一路打到平方腊,一共五章。选章、HUD、结算这类界面用 HTML/CSS 铺在画布之上,角色、地图、弹道才交给 Phaser——长文本和普通按钮没必要在 Canvas 里重画一遍,两边各干各擅长的事。

地图不靠手摆路径:把遮罩图里的紫色像素当成可走区域,先做一遍距离变换,再跑一条偏向路中央的最短路,每 45 像素采一个点,敌人的行进路线和建塔位就自动生成了。想加一张新地图,只要丢进底图和遮罩两张图。

塔能升三级,拆掉返还六成金币。音效单独做了一张表,音量、节流、起播偏移都写在一起;击杀音会加随机音高,一波兵冲过来才不会听着像一挺机枪。

亮点

  • 遮罩图自动生成行进路线与建塔位
  • 五章关卡,DOM 与 Canvas 混合界面
  • 音效统一调度:节流、起播偏移、随机音高
Phaser 3ViteJavaScriptCanvas
2026★ 项目

传送门迷宫

独立开发

浏览器里的迷宫闯关游戏:五关难度递增,站在传送门上按空格就能跳到别处。

Phaser 3 + Vite 的纯前端小游戏:没有后端、没有账号,成绩只存在玩家自己的浏览器里。三个场景各管一段——主页、选关、游戏。

迷宫用 DFS 随机生成,所以每一局都不一样;生成完再用 BFS 校验出口确实可达,并顺手算出本关的最少步数,不会出现走不出去的死局。步数没少过这个数,就不算新纪录。

五关逐关解锁,最佳步数和已选皮肤都存在 localStorage。皮肤有六款纯色加三款图片,图片的去背景、去白边、居中和抗锯齿,是用 Python 脚本一次性批处理出来的。

亮点

  • DFS 随机生成迷宫,BFS 校验可达并算最少步数
  • 传送门选目标确认,随时可以取消
  • 纯静态部署,无后端、无 Cookie
Phaser 3ViteDFSBFS
2026★ 项目

网页图传

独立开发

给 ESP32-CAM 摄像头小车做的局域网实时图传:浏览器里看画面、遥控云台和小车,还有安卓 APP 直连,完全免费。

给亚博智能 Yahboom 的 WiFi 图传模块(ESP32-CAM 摄像头小车)做的局域网实时图传,成品分两端:电脑版解压双击就跑,包里另附免装 Python 的 exe;安卓版是个 58 KB 的 APK,连上小车自己的热点就能直连,不经过电脑。

电脑版的代理服务器只用 Python 标准库,不用 pip 装任何第三方包:先把摄像头那一路 MJPEG 流拉过来,再分发给浏览器。多开几个标签页、手机电脑一起看,占的还是同一路带宽,不会越开越卡。

断线按 1 到 30 秒退避自动重连,只保留最新一帧、积压的旧帧直接丢掉——画面宁可跳一下,也不越拖越远。状态栏实时显示帧率、延迟和累计重连次数,出问题一眼就能分清是网络还是供电。

控制走独立的 TCP 通道:云台滑块、十字按钮、双摇杆差速遥控都在网页里,命令每 0.1 秒带一次心跳,主控 0.6 秒收不到就自动停车,断网或者关掉网页都不会跑飞。局域网里还能用 UDP 自动发现服务端,不必手输地址;另附一个模拟器,没有摄像头也能把整套流程跑通。

亮点

  • 纯 Python 标准库,zip 解压即用,exe 免装 Python
  • 单路拉流多端共享,自动重连并丢弃积压帧
  • 云台与差速遥控,0.6 秒心跳看门狗
  • UDP 局域网自动发现,安卓 APP 直连小车
PythonMJPEGsocketESP32
2026

我的个人网站

独立开发

就是你现在看到的这个站:Astro + Tailwind CSS,中英双语,纯手写。

从零搭的静态网站,自己写组件、调配色、做滚动动画,还顺手做了中英双语切换和 SEO 优化。

所有页面都在构建时生成成纯 HTML,没有运行时框架,打开速度很快;部署到任何静态托管都行。

亮点

  • 中英双语自动切换
  • 深色科技感视觉设计
  • 构建时生成,秒开
AstroTailwind CSSTypeScript

联系

一起做点东西?

想一起写个项目、交流踩坑经验,或者单纯打个招呼,都欢迎给我发邮件。

发邮件给我支持我