扬州 THO:热闹的小游戏,也需要一本明白账
发表于|更新于|项目
扬州 THO 是一套东方活动系统,围绕琪露诺和大妖精两个阵营展开。玩家有体力,可以探索、遇到随机事件,活动还会记录积分和抽奖。
活动规则
一次探索可能消耗资源,也可能带来奖励。项目把玩家、管理和展示入口组织起来,由服务端处理操作是否合法以及状态如何变化,页面展示对应结果和阵营榜。
状态保存
服务使用无第三方依赖的 Node.js,状态保存在 JSON 文件中,并安排了串行写入、原子保存、备份和重置快照。
这套方案面向单实例。未经改造,不适合让多个实例同时写同一份状态文件。活动规则和使用说明可以在仓库中查看。
相关链接
相关推荐

2026-10-11
南堂界遇:把幻想乡的活动规则搬到网页里
南堂界遇是围绕交大东方社幻想乡活动制作的项目。活动包含顺序推进的六个区域,以及能量、贡献和加权抽奖等规则。 玩家、管理和展示 玩家需要查看当前区域、任务和资源;管理员需要处理任务和奖励;大屏则负责展示活动进度。虽然三个界面显示的内容不同,它们都需要读取同一套活动状态。 数据保存 项目使用无第三方 npm 依赖的 Node.js 服务,状态保存在 JSON 文件中,并配有串行事务、原子写入、备份和流水记录。这样可以查看奖励和状态变化的记录,也便于出问题时排查。 当前方案面向单实例,不能直接推断多个进程同时写同一份文件也安全。规则和使用方式见项目仓库。 相关链接 项目仓库与规则说明

2026-10-11
Cell City:把代谢搬进一座会出问题的小城
Cell City 是一个以代谢和稳态为主题的桌面游戏,使用 Python 和 Pygame。项目里有剧情关卡、挑战模式,以及卡牌、激素、地图和事件等内容。 把代谢放进游戏 游戏使用 ATP、葡萄糖、氧化还原状态、毒性和健康等变量记录状态。玩家使用卡牌之后,这些变量会发生变化,也会影响后续回合。 代谢途径在纸上往往是一连串箭头。做成游戏之后,可以尝试让玩家通过资源变化看到不同过程之间的联系。 游戏反馈 除了把知识点放进去,还需要让玩家知道自己的操作改变了什么、为什么失败,以及能否尝试其他策略。剧情和关卡提供目标,状态与事件提供反馈。 项目提供桌面运行和打包路线;这里没有重新验收打包产物。游戏规则是为了表达主题而简化的模型,不能用于预测真实人体反应。 相关链接 项目仓库与游戏说明

2026-10-11
空教室雷达:别再一间一间开盲盒了
之前写过一篇空教室查询器,这里再记一下查询逻辑。 怎么判断有没有课 项目使用 Flask。查询接口接收日期、楼栋和起止节次,遍历楼层和教室的课程安排,排除时间有交集的教室。 把查询节次记作闭区间 [a, b],课程节次记作 [c, d]。两者不重叠的情况是 b < c 或 a > d;除此之外就存在重叠。这样包含、部分交叉和边界相接都可以用同一条规则处理。 课表和现场状态 当天的查询还会尝试补充现场占用信息和部分环境指标。课表反映的是排课安排,现场数据则是某个时刻的观测;没有排课并不一定代表教室里没有人。 学校接口的字段、权限和可用性可能变化,这次没有重新查询接口。使用时还是要以实际情况为准。 相关链接 项目仓库 · 查询代码

2026-03-09
造轮子记录:交大空教室一键查询器
受够了每次想找个安静的地方自习、推导公式,却还要像开盲盒一样挨个教室找? 当然要用代码解决生活痛点! 今天手搓了一个轻量级的“交大空教室查询器”。 不过感觉这种。。。自己在转专业的这些人里面没有突出点啊。。 啊,忘了提项目网址了,在这里: 🚀 在线体验传送门: SJTU 空教室查询助手 (点击直达)

2026-10-11
别点那个链接!把反诈题目变成一次对话
《别点那个链接!》是人工智能导论的课程大作业。项目把校园反诈做成互动网页,让用户在模拟场景里选择怎么处理,再回看其中的风险线索。 三个场景 场景包括奖学金诈骗短信、陌生人催促付款和可疑自行车二维码。用户通过对话和操作推进,而不是一开始就看到所有提示。 前端使用 HTML、CSS 和 JavaScript。离线模拟模式可以直接演示交互;实时模式通过 Flask 后端连接兼容 OpenAI 格式的 API,凭据通过环境配置提供。 复盘和报告 项目会保存交互轨迹,围绕信息来源核验、资金边界、未知入口和紧迫感等方面生成复盘,也提供行动清单和 Markdown 报告导出。 这些反馈是教学项目中的设计,方便回看当时的选择,并不能作为经过验证的防骗能力测评。课程整体内容可以看人工智能导论学习记录。 相关链接 课程项目说明

2026-10-15
博客在线写作入口实现
给博客加一个在线编辑入口 之前写博客,总得先打开本机的项目,写 Markdown,构建,再 commit、push。 流程并不复杂,但每次只是想写两句话,却得先把自己切换到“维护网站”的状态。电脑不在身边的时候,就更懒得动了。 所以这次干脆给博客加了一个网页写作入口。 GitHub Pages 负责展示,Cloudflare 负责处理请求 博客原来的架构没有换,仍然是 Hexo + Butterfly + GitHub Pages。 问题在于,GitHub Pages 是静态托管,不能替我保管登录密钥,也不能直接承担安全的授权和发布逻辑。 于是中间加了一个 Cloudflare Worker。 整条路径大概是这样: 12345678910111213141516浏览器里的 Markdown 编辑器 | vCloudflare Worker登录验证、权限检查、发布请求 | vGitHub 博客仓库Markdown、封面、图片白名单 | vGitHub Actions测试、He...




