我开发的一款鸿蒙游戏《猜数字大师》 应用介绍 和技术架构
·
我开发的一款鸿蒙游戏《猜数字大师》 应用介绍 和技术架构
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
【应用简介】
《猜数字大师》是一款基于鸿蒙(HarmonyOS)生态开发的益智类原生游戏app。游戏核心玩法回归经典的逻辑推理:系统随机生成目标数字,玩家需通过有限次的猜测与精准提示(如范围缩小、高低提示等),运用逻辑思维层层抽丝剥茧,最终锁定真相。
App 地址
应用市场
https://appgallery.huawei.com/app/detail?id=com.chenxugame1.myapplication

1. 👨👧 独特的“父女档”开发模式
这款应用是我们父女二人协作的结晶。作为开发者父亲,我负责构建游戏的逻辑架构与代码实现;而我年幼的女儿则担任了游戏的“首席配音师”。游戏中每一个稚嫩而充满鼓励的语音提示,都源自她真实的录音。这种跨代际的协作,赋予了冰冷代码以温度,展示了鸿蒙生态下人人皆可开发的无限可能。
2. 🧠 寓教于乐的逻辑试炼
在极简的UI设计下,隐藏着对数字敏感度与逻辑推理能力的深度考验。它不仅适合成年人消磨时间,更是极佳的思维训练工具,帮助青少年在游戏中建立数学直觉。
3. ❤️ 传递“陪伴”的普世价值
创作《猜数字大师》的初衷,是源于参加培训班的老师和同学一起参与的游戏,也是为了记录我们共同创作的亲子时光。我们希望向更多用户传达:科技不是隔离亲情的屏障,而是连接家庭的桥梁。我们希望每一个打开游戏的家庭,都能像我们一样,在每一次“猜对”的欢呼中,收获共同的快乐与陪伴。
技术架构
核心功能
- 🎯 4个难度等级:简单(1-10)、中等(1-100)、困难(1-1000)、地狱(1-100万)
- 🎵 完整音频系统:背景音乐 + 音效(基于HarmonyOS AVPlayer)
- 📱 多设备适配:手机/平板/2in1设备响应式布局
- 🏆 成就系统:12个成就,追踪玩家进度
- 📈 统计分析:记录最佳成绩、胜率、游戏历史
- 🎬 激励视频广告:观看广告解锁地狱难度(华为Ads Kit)
- 🔐 未成年保护:实名认证、时间限制(华为Game Service Kit)
项目架构
1.🏗️技术栈
| 技术 | 版本/说明 |
|---|---|
| 开发平台 | HarmonyOS NEXT 5.0.5(17) |
| 开发语言 | ArkTS (TypeScript严格模式) |
| UI框架 | ArkUI声明式UI |
| 音频 | @kit.MediaKit (AVPlayer) |
| 数据持久化 | @kit.ArkData (Preferences) |
| 广告SDK | @kit.AdsKit (华为Ads Kit) |
| 游戏服务 | @kit.GameServiceKit |
| 测试框架 | Hypium (类似Jest) |
2.📱 应用启动流程
graph TD
A[应用启动] --> B{用户协议?}
B -->|未同意| C[AgreementPage<br/>显示协议弹窗]
C --> D{用户操作}
D -->|同意| E[PersistentStorage.agreedState=1]
D -->|拒绝| F[terminateSelf退出]
B -->|已同意| G[Index.ets初始化]
E --> G
G --> H[initializeApp<br/>加载设备信息/preferences/统计数据]
H --> I[performUnionLogin<br/>华为游戏服务登录]
I --> J[performVerifyLocalPlayer<br/>未成年验证]
J --> K{验证结果}
K -->|通过| L[SplashScreen<br/>开场动画3秒]
K -->|未成年限制| M[Toast提示+terminateSelf]
L --> N[主菜单<br/>开始游戏]
style C fill:#FFD54F
style G fill:#4CAF50
style L fill:#4ECDC4
style N fill:#96CEB4

3.🎨 游戏状态管理
CoreState枚举(12个状态)
enum CoreState {
AGREEMENT, // 用户协议
SPLASH, // 开场动画
MAIN_MENU, // 主菜单
DIFFICULTY, // 难度选择
PLAYING, // 游戏进行中
GAME_OVER, // 游戏结束
STATISTICS, // 成绩统计
SETTINGS, // 游戏设置
ACHIEVEMENTS, // 成就系统
HISTORY, // 历史记录
ABOUT, // 关于页面
HELP, // 帮助页面
PROFILE // 个人资料
}
4.状态流转图
游戏流程状态
- **启动与协议**
- `AGREEMENT`: 首次启动,等待用户同意协议
- **同意协议** -> `SPLASH`
- **开场动画**
- `SPLASH`: 播放3秒开场动画
- **动画结束** -> `MAIN_MENU`
- **主菜单 (MAIN_MENU)**
- **开始游戏** -> `DIFFICULTY`
- **设置** -> `SETTINGS`
- **返回** -> `MAIN_MENU`
- **成就** -> `ACHIEVEMENTS`
- **返回** -> `MAIN_MENU`
- **统计** -> `STATISTICS`
- **返回** -> `MAIN_MENU`
- **历史** -> `HISTORY`
- **返回** -> `MAIN_MENU`
- **关于** -> `ABOUT`
- **返回** -> `MAIN_MENU`
- **帮助** -> `HELP`
- **返回** -> `MAIN_MENU`
- **游戏核心循环**
- `DIFFICULTY`: 选择难度
- **选择完毕** -> `PLAYING`
- `PLAYING`: 游戏进行中
- **游戏结束** -> `GAME_OVER`
- **游戏结束 (GAME_OVER)**
- **再来一局** -> `DIFFICULTY`
- **返回主菜单** -> `MAIN_MENU`
- **查看统计** -> `STATISTICS`

【结语】
《猜数字大师》虽小,但爱意很大。我们期待有机会分享这段从“陪伴玩耍”到“并肩创造”的独特开发历程,激励更多家庭通过技术创造属于他们的独家记忆。
更多推荐



所有评论(0)