上周连续死磕了硬核的图表应用,脑细胞消耗不少。为了放松一下紧绷的神经,在365独立开发挑战的第90天,我决定做点不一样的——一个纯粹、温馨,又能陪你一起工作的桌面小玩意。

今天为你带来的是第90号作品:“我的电子宠物”。

记得小时候,那个挂在钥匙扣上的蛋形游戏机吗?每天按时给它喂食、洗澡、铲屎,看着它开心跳跃,那可能是我们这代人最早的“数字化陪伴”。今天,我把这份回忆重新复刻到了网页里,并赋予了它更多现代化的桌面助理能力。

不仅仅是养个赛博宠物,它更是一个有温度的桌面时钟和效率提醒器。

🎮 重塑经典:不仅仅是像素风

为了还原最原汁原味的复古感,整个应用的UI采用了经典的暗色调和VT323像素字体。宠物本身更是用纯代码绘制的像素小人。

但它可不是一个只会傻站着的呆子:

真实的状态反馈: 它拥有生命、饱食、精力、清洁、心情五项核心指标。饿了会低落,困了会睡觉,开心了会跳跃,甚至生病时还会瑟瑟发抖。

海量“非AI”手写对话: 拒绝了现在泛滥的AI随机生成,我为它手工预设了超过 200 条不同状态下的专属对话。这种原汁原味的“预设感”,反而能找回当年玩掌机时,触发特定彩蛋的惊喜。

沉浸式互动特效: 结合 Web Audio API 编写的 8-bit 合成器音效,每次喂食 🍖、洗澡 🫧 或治疗 💊,都有专属的复古提示音和像素图标飘起特效。如果用鼠标“摸摸”它,它还会震动反馈,娇羞地喊一句“好痒呀~”。

🌤️ 你的桌面“微型世界”

我希望它能成为你工作时的一个小小喘息空间,因此给它布置了三种不同的场景,并且支持各种动态变化:

三大场景自由切换: 无论是温馨的【屋内】、生机勃勃的【绿洲】,还是充满动感的【游乐场】(摩天轮会闪烁,气球会跳动),它都有自己溜达的天地。它不会像木头一样待着,而是会在屏幕里随机平滑地散步、跳跃。

窗外的动态天气: 在屋内场景中,窗外的天气会随机演变。从晴空万里 ☀️ 到大雪纷飞 ❄️,宠物还会根据天气变化主动跟你报告。

百变造型(Emoji化身): 看腻了默认的小像素人?点击右上角的调色板,你可以把它变成小狐狸 🦊、小熊猫 🐼、小青蛙 🐸 等各种不会乱码的 Emoji 动物形象。

⏰ 是玩具,更是效率小助手

说点我个人的开发感触: 市面上的番茄钟和提醒工具多如牛毛,但往往冷冰冰的,缺乏让人坚持使用的情感驱动力。把“提醒器”包装成“电子宠物”,其实是一种非常巧妙的心理暗示——利用我们在乎小生命的情感,来反向督促自己保持专注和规律作息。

因此,我为它注入了实用的效率功能:

赛博电子钟与半点报时: 房间里挂着一个散发霓虹光晕的像素时钟,每到整点和半点,它会主动发出“滴答”声并弹窗报时,让你在沉浸工作中不至于彻底失去时间概念。

强力间隔提醒: 你可以设置多个自定义的间隔提醒(比如每45分钟提醒喝水)。时间一到,伴随着急促的“滴滴滴”音效,宠物会疯狂跳跃,红黄交替闪烁的对话框绝对能把你从久坐中拉起来。

主动搭讪: 如果你长时间(超过1分钟)冷落它,它不会默默枯萎,而是会主动跳出来给你背诵一首唐诗,或者甩出一句直击心灵的鼓励金句(内置100句)。

👻 独创“灵魂迁移”技术

网页应用最怕关闭后数据丢失。除了默认的本地持久化存储(localStorage,离线也会自动计算状态变化)之外,我给它加入了一个非常极客的功能——“灵魂迁移”。

你可以点击“下载”按钮,将宠物当前的所有数值、心情、名字、甚至是设定的提醒任务,打包成一个 JSON 文件(它的灵魂)。无论你换了电脑,还是换了浏览器,只需点击“上传”注入灵魂,它就能立刻认出你,继续陪伴。

第90天,放慢脚步,找回初心。

有时候,我们做工具是为了追求极致的效率;但有时候,我们写代码,只是为了创造一点点无用但美好的情绪价值。

这个小小的电子宠物,目前已经集成在了 365-tools.cn 中。快来领养你的赛博小生命,给它改个好听的名字,听听那久违的 8-bit 音效吧!

也欢迎你在后台把导出的“宠物灵魂”发给我,让我看看你的小家伙现在是什么状态了!