An Ethereum-based Schulte Grid game built with Next.js, RainbowKit, and Hardhat. Designed for users with ADHD, it gamifies cognitive training by recording every session on-chain.
# 🧠 Focus Flow ADHD 训练游戏
Demo:https://adhd-game-5o05o5nnb-yucns-projects.vercel.app
一个基于以太坊的专注力训练小游戏(舒尔特方格),前端使用 Next.js + RainbowKit + wagmi,合约使用 Hardhat/Ignition 部署。玩家每次完成训练都会把成绩上链,形成不可篡改的「专注勋章」。
一个为 ADHD / 注意力障碍用户 设计的 专注力训练 Web 游戏。
通过节奏反馈、即时奖励与低干扰 UI,帮助用户在短时间内进入专注状态,并逐步延长有效注意力时长。
---
## ✨ 项目特点(Features)
- 🎯 专注力训练机制
- 基于视觉搜索与反应时间的训练模型
- 强调「短时专注 → 即时反馈 → 正向强化」
- 🔊 多感官即时反馈
- 正确 / 错误 / 胜利音效反馈
- 减少不确定性带来的注意力漂移
- 🧩 为 ADHD 友好设计
- 极简界面,避免多余视觉干扰
- 明确的目标、进度和完成感
- 快速开始、低心理负担
- ⚡ 现代前端技术栈
- 高性能、响应迅速
- 适合长期功能迭代与实验
## 主要特性- 舒尔特方格训练:动态难度(3~6 级网格),连击反馈、音效、心流体验。
- 链上记录:调用 `submitGameResult` 把完成时间写入合约,并更新个人最佳成绩。
- 即时反馈:连击飘字、烟花动画、平均反应时间/失误统计。
- 钱包集成:RainbowKit 一键连接(默认本地 Hardhat 链)。
## 目录结构```
contracts/ 智能合约(FocusGame.sol)
ignition/modules/ 部署脚本(Hardhat Ignition)
frontend/ Next.js 前端
├─ app/ App Router 页面与组件(SchulteGame.tsx)
├─ constants.ts 前端使用的合约地址与 ABI
├─ providers.tsx RainbowKit/wagmi 配置(默认 Hardhat 本地链)
artifacts/ cache/ Hardhat 构建缓存与产物
typechain-types/ 自动生成的 TypeChain 类型
hardhat.config.ts Hardhat 配置
```
## 快速开始
前置:Node.js 18+,推荐安装 pnpm 或 npm。
### 1) 安装依赖```bash
# 根目录:合约/Hardhat
npm install
# 前端
cd frontend
npm install
```
### 2) 本地链与合约```bash
# 启动本地 Hardhat 节点
npx hardhat node
# 新开终端,编译与部署(Ignition)
npx hardhat compile
npx hardhat ignition deploy ./ignition/modules/FocusGame.ts --network localhost
```
部署后记下输出的 `FocusGame` 地址,并更新 `frontend/constants.ts` 中的 `CONTRACT_ADDRESS`。
### 3) 运行前端```bash
cd frontend
npm run dev
# 浏览器打开 http://localhost:3000
```
使用 RainbowKit 连接钱包(默认指向本地 Hardhat 链),开始训练并上链成绩。
## 合约接口概览- `submitGameResult(uint256 score)`: 提交完成时间(秒)。内部会累计完成次数并在更优时更新 `bestScore`,同时触发 `GameFinished` 事件。
- `bestScore(address) -> uint256`: 查询指定地址的最佳成绩(秒,越低越好,0 表示未记录)。
## 前端提示- 游戏逻辑位于 `frontend/app/components/SchulteGame.tsx`。
- 链接配置在 `frontend/providers.tsx`(当前链为 Hardhat)。若切换到测试网/主网,请更新链配置与 `CONTRACT_ADDRESS`。
## 常用命令速查- `npx hardhat test`:运行合约测试。
- `npx hardhat node`:启动本地链。
- `npx hardhat ignition deploy ./ignition/modules/FocusGame.ts --network localhost`:部署合约。
- `npm run dev`(frontend):启动前端开发服务器。
🧪 设计理念(Design Philosophy)
不是“玩得久”,而是“专注得深”;
拒绝刷分、排行等容易引发焦虑的机制;
用「完成感」代替「成瘾性」;
将 ADHD 视为 注意力调度问题,而非能力问题;;
🧩 适用人群
ADHD / 注意力障碍用户;
容易分心、难以进入状态的人;
希望进行 短时专注训练 的学生或开发者;
对认知训练、HCI、神经多样性感兴趣的开发者;
📌 未来计划(Roadmap)
⏱ 可配置训练时长与难度;
📊 专注力变化可视化;
🌙 夜间 / 低刺激模式;
🧠 不同认知训练模块(切换注意 / 抑制干扰等);
☁️ 用户本地/云端记录(可选)
🙌 致谢
本项目灵感来自:
ADHD 用户真实体验;
认知科学与专注力训练研究;
Human-Centered Design 理念;
如果你对这个项目有建议或想法,欢迎交流!Email:yucangnan@gmail.com
🚀 黑客松项目进展报告: 提交时间: 2025年12月23日 项目状态: MVP(最小可行性产品) 已上线 / 核心功能测试中演示地址: https://adhd-game-5o05o5nnb-yucns-projects.vercel.app 1.项目概况与完整性 (Completeness & Integrity)部署状态: ✅ 100% 完成项目已成功部署至 Vercel Edge Network,全球访问速度稳定。解决了本地环境与生产环境的依赖差异,确保评委和用户可直接通过浏览器访问,无需本地安装。 核心闭环: ✅ 已跑通用户可以顺利进入应用首页(Landing Page)。游戏/应用的主逻辑流程(Start -> Interaction -> End/Result)已具备基本框架。 完成度自评: ⭐⭐⭐⭐ (4/5) 目前 MVP 版本包含了核心玩法,剩余工作主要集中在 UI 细节打磨和边缘情况(Edge Cases)处理。 2.技术栈与架构 (Tech Stack)前端框架: Next.js / React (根据 Vercel 部署推测) - 保证了高性能的交互体验。部署托管: Vercel - 利用 CI/CD 自动化部署,实现了代码提交即上线的快速迭代。数据/状态管理: [请补充:例如 React Context API 或 Redux] - 确保游戏过程中的计分/状态流畅。 3. 当前开发进度 (Current Progress)模块状态说明基础架构✅ 完成路由配置、项目脚手架、Vercel 部署环境配置。核心玩法🔄 进行中针对 ADHD 特征设计的互动机制(如:专注力测试、多任务模拟等)。UI/UX 设计🔄 优化中界面已搭建,正在调整色彩对比度和交互反馈,以符合 ADHD 友好型设计原则(减少不必要的视觉干扰)。移动端适配⏳ 待验证正在检查在手机端的触控响应表现。 4. 亮点与挑战 (Highlights & Challenges)项目亮点:社会价值: 关注 ADHD(注意力缺陷多动障碍)群体,通过游戏化(Gamification)的方式提升公众认知或辅助专注力训练。快速交付: 在有限的黑客松时间内完成了从构思到上线的全过程。遇到的挑战与解决方案:(建议填写): 例如“如何在游戏中模拟走神的体验?” -> 解决方案:通过随机的视觉干扰元素来模拟。 5. 接下来的计划 (Next Steps - Last Mile)在 Demo Day 截止前,我们计划:视觉微调: 统一字体和配色,增加游戏结束后的“成就展示”页面。引导优化: 添加简短的“怎么玩(How to play)”引导层,降低用户上手门槛。Bug 修复: 修复在极端操作下可能导致分值计算错误的 Bug。
目前项目处于自筹资金(Self-funded) 阶段。团队采用精益创业(Lean Startup)模式,利用 Vercel 等高效基础设施将运营成本降至最低。我们专注于产品核心逻辑的验证与 MVP 的快速交付,暂未引入外部资本,以确保产品开发的灵活性和决策的独立性。