我开发的一款鸿蒙游戏《猜数字大师》 应用介绍 和技术架构


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


【应用简介】

《猜数字大师》是一款基于鸿蒙(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`

在这里插入图片描述

【结语】

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

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐