在 DEV 的 Weekend Challenge: Dog Days Edition 中,我提交了三只“狗狗”项目。它们都不是半成品 demo,而是在挑战窗口期内从零写成的完整小工具/游戏。最特别的是:每个项目都只是一个自包含的 HTML 文件,零依赖、零构建步骤、零 CDN。打开文件就能用,这大概就是“狗狗友好的软件”该有的样子。 1. Paw Match — 狗狗品种记忆游戏 翻牌配对狗狗品种。配对成功会弹出一条真实品种冷知识:比如达尔马提亚犬出生时全身纯白,3-4周后才开始长斑点。支持 6/8/10 对三种难度,带步数统计、计时器、星级评价、CSS 3D 翻牌动画和庆祝彩带。 2. Paw Log — 狗狗训练与护理日志 训练日志是挑战简报里直接点名的方向。可以记录遛狗、喂食、训练、看兽医、洗澡和玩耍时间;所有数据存进 localStorage。还有每日数据(今天遛了几次、训练几分钟、连续天数)、按活动的进度条,以及 JSON 导入/导出备份。 3. Dog-o-matic — 生成式狗狗艺术 一个微型“程序化狗狗工厂”。每次点击生成一张独一无二的狗脸:头型、耳朵(垂耳/立耳/圆耳/折耳)、毛色、胸前白斑、达尔马提亚斑点、舌头、雀斑,全部随机。它还会“辨认”品种,并最终判定:这是一只非常乖的狗狗。纯 Canvas 2D 实现,可保存 PNG,也可以一次自动生成一整排狗脸。 这三个项目全部在浏览器里运行,不需要安装,不需要登录。而且代码库就是 demo 本身:右键 → 查看源码,就能看到完整实现;没有框架、没有 lockfile、没有需要解释的 node_modules。 一个 GitHub 仓库(包含这 3 个文件 + README)会在提交截止前发布,我会把链接更新进来。这次最有意思的限制就是“单文件”:每个项目都必须是一个 HTML 文件,并且在双击打开时直接工作——用最少的包装,做最完整的狗狗项目。
热门跟贴