Cell City:把代谢搬进一座会出问题的小城
Cell City 是一个以代谢和稳态为主题的桌面游戏,使用 Python 和 Pygame。项目里有剧情关卡、挑战模式,以及卡牌、激素、地图和事件等内容。 把代谢放进游戏 游戏使用 ATP、葡萄糖、氧化还原状态、毒性和健康等变量记录状态。玩家使用卡牌之后,这些变量会发生变化,也会影响后续回合。 代谢途径在纸上往往是一连串箭头。做成游戏之后,可以尝试让玩家通过资源变化看到不同过程之间的联系。 游戏反馈 除了把知识点放进去,还需要让玩家知道自己的操作改变了什么、为什么失败,以及能否尝试其他策略。剧情和关卡提供目标,状态与事件提供反馈。 项目提供桌面运行和打包路线;这里没有重新验收打包产物。游戏规则是为了表达主题而简化的模型,不能用于预测真实人体反应。 相关链接 项目仓库与游戏说明
WebsiteSpeedRun:把视频速度调到自己想要的位置
WebsiteSpeedRun 是一个浏览器扩展,用来调整网页视频的播放速度。平台提供的速度档位有时不太合适,这个小工具提供了更多选择。 实现方式 扩展使用 Manifest V3。弹窗读取和保存速度设置,chrome.storage.local 保存设置;之后通过浏览器的脚本执行能力,在页面中操作 video 元素,并尝试处理 frame 中的媒体。 使用限制 不同网站的播放器实现不同,有些页面会重置播放速度,也有视频是在脚本执行后才动态加入的。当前代码主要处理执行时已经存在的元素,没有持续观察新增视频,因此不能保证所有网站都能持续生效。页面结构、浏览器权限和 iframe 限制也可能影响结果。 扩展代码见下面的仓库。 相关链接 项目仓库 · 扩展脚本
别点那个链接!把反诈题目变成一次对话
《别点那个链接!》是人工智能导论的课程大作业。项目把校园反诈做成互动网页,让用户在模拟场景里选择怎么处理,再回看其中的风险线索。 三个场景 场景包括奖学金诈骗短信、陌生人催促付款和可疑自行车二维码。用户通过对话和操作推进,而不是一开始就看到所有提示。 前端使用 HTML、CSS 和 JavaScript。离线模拟模式可以直接演示交互;实时模式通过 Flask 后端连接兼容 OpenAI 格式的 API,凭据通过环境配置提供。 复盘和报告 项目会保存交互轨迹,围绕信息来源核验、资金边界、未知入口和紧迫感等方面生成复盘,也提供行动清单和 Markdown 报告导出。 这些反馈是教学项目中的设计,方便回看当时的选择,并不能作为经过验证的防骗能力测评。课程整体内容可以看人工智能导论学习记录。 相关链接 课程项目说明
给博客搬一次家:Hexo、Butterfly,以及没必要的折腾
之前搭博客的时候直接写 HTML,文章少的时候还能管得过来。页面和文章多起来之后,每加一点内容都要改好几个地方,于是这次把博客迁移到了 Hexo,主题使用 Butterfly。 旧文章和地址 原来的三篇文章迁移到了 Markdown,正文、代码和公式保留,post-1.html 到 post-3.html 也继续使用原来的地址。标签、分类、归档和搜索则交给生成器处理,以后加文章不用手动维护每个列表。 构建和发布 文章、配置和构建脚本作为源文件,页面、样式和搜索索引由构建生成,依赖版本记录在锁文件里。这次迁移时的发布方式仍然适配 GitHub Pages 的 main 分支根目录。 构建之后会检查本地链接、图片、搜索,以及旧文章中的代码和公式。博客后来又加了在线写作入口,发布流程也有调整。 背景图 之前想做背景轮播,但是首页封面和正文背景没有同步,两张图各换各的,看起来不太对。最后把自动轮播去掉,页头和正文共用固定背景层。列表和推荐使用压缩过的封面,也不用每次加载原始大图。 总算可以少花一点时间调整壁纸,多写点东西了。 相关链接 博客仓库 · Hexo · Butterfly
造轮子记录:交大空教室一键查询器
受够了每次想找个安静的地方自习、推导公式,却还要像开盲盒一样挨个教室找? 当然要用代码解决生活痛点! 今天手搓了一个轻量级的“交大空教室查询器”。 不过感觉这种。。。自己在转专业的这些人里面没有突出点啊。。 啊,忘了提项目网址了,在这里: 🚀 在线体验传送门: SJTU 空教室查询助手 (点击直达)
第一篇博客:源(代码)神 启动!
卷了一整个周末,有些无聊,又不想无所事事,所以这个blog就诞生了。作为一个 Markdown 迷和 LaTeX 享受者,怎么能容忍纯文本呢? 1. 物理与数学的交织 (LaTeX Test) 在无聊的时候,看看优美的公式也是一种放松(真的吗)。比如经典的薛定谔方程: iℏ∂∂tΨ(r,t)=[−ℏ22m∇2+V(r,t)]Ψ(r,t)当然,还有内联公式 eiπ+1=0,这是数学中最纯粹的美。 2. 万物皆对象 (Code Test) 最近刚好在梳理 C++ 的函数封装,顺手写一段优雅的 OOP 示例: 1234567891011121314151617181920212223#include <iostream>#include <string>class Yumemi {private: std::string title; int magicPower;public: // 构造函数 Yumemi(std::string t, int p) : title(t), magicPower(p) {}...
风暴前的安宁?一点小想法
来到大学,感觉似乎并没有经历过什么特别让我印象深刻的事情。每天过得平平淡淡,甚至有些无聊。虽然偶尔会有一些小插曲,但总体来说,生活似乎缺乏了些许刺激和挑战。 《桃花幽香》的写作早就已经完成,很多时候都被这个转专业搞的心烦意乱。 夜思 昨天晚上躺在床上,无法入眠,脑袋里面不断闪着自己转专业可能遇到的事情。老师拷打,以及别的别的什么的。 我时常思考,为什么会变成这个样子? 转专业本应该是选择自己兴趣爱好的再次一个途径,但现在,却变成了一个充满不确定性和压力的过程。 我们只看到了那些成功的人,但是,我突然想到,那些失败了的同学们呢?他们的付出和努力真的就是一文不值了吗? 我甚至在想,如果我在去面试的路上被一辆车撞飞,我拖着流血的身体,骨头从大腿刺出,坚持着面试完,能不能打动老师,给我多一点点的机会? 前两天到光彪楼上了自习,我发现我真的喜欢那个地方,氛围很好,条件也很好。 Ich hätte das Dunkel ertragen können, hätte ich nicht das Licht gesehen. 这句话的意思是“我本可以忍受黑暗,如果我没有见过光明”。 一开始,我来...











