应用定位:健康健身模拟类小应用
技术栈:HarmonyOS NEXT + ArkTS + Stage模型
源码行数:147行
核心亮点:肌肉等级系统、多动作轮换、体力消耗恢复、健身天数记录、冠军成就


一、引言

健身模拟器引入了肌肉等级体系成就系统的概念。它模拟了从瘦弱到冠军的完整健身历程。

新概念包括:

  • 5级肌肉体系:瘦弱→结实→强壮→健美→冠军
  • 多动作轮换:举重/俯卧撑/深蹲/仰卧起坐/引体向上
  • 天数系统:体力耗尽自动进入下一天
  • 每日体力恢复:每次重置前一天体力
  • 冠军成就:肌肉达100时解锁

二、需求分析

需求ID 功能 描述
F1 多动作训练 5种不同健身动作
F2 肌肉增长 每次锻炼增加肌肉值
F3 体力系统 锻炼消耗体力
F4 等级系统 5级肌肉评价
F5 天数记录 记录健身天数
F6 动作切换 切换不同动作
F7 休息恢复 暂停时恢复体力
F8 冠军成就 肌肉100时庆祝

三、肌肉等级系统

private muscleNames: string[] = ['🍃 瘦弱', '💪 结实', '💪💪 强壮', '🏋️ 健美', '🏆 冠军'];
等级 名称 肌肉值范围
1 🍃 瘦弱 0-19
2 💪 结实 20-39
3 💪💪 强壮 40-59
4 🏋️ 健美 60-79
5 🏆 冠军 80-100

等级映射Math.min(4, Math.floor(this.muscle / 20))


四、多动作轮换

private exercises: string[] = ['🏋️ 举重', '🤸 俯卧撑', '🏃 深蹲', '🧘 仰卧起坐', '🏊 引体向上'];

切换动作:

Button('🔄 换动作')
  .onClick(() => {
    this.exerciseIndex = (this.exerciseIndex + 1) % this.exercises.length;
    this.message = '换成 ' + this.exercises[this.exerciseIndex];
  })

五、天数系统

if (this.stamina <= 0) {
  this.stopWorkout();
  this.message = '练不动了... 明天继续吧!😅';
  this.dayCount++;
  return;
}

体力耗尽 → 自动停止 → 天数+1 → 等待用户再次开始。

这与跑步模拟器的不同——跑步模拟器体力耗尽就完全停止,而健身模拟器引入了"天数"概念,模拟了真实的健身训练周期。


六、冠军成就

if (this.muscle >= 100) {
  Text('🏆 恭喜达到冠军级别!')
    .fontSize(16)
    .fontColor('#FFD700')
    .fontWeight(FontWeight.Bold)
    .margin({ top: 15 })
}

金色文字 #FFD700 配合冠军级别,提供成就感反馈。


七、总结

健身模拟器展示了ArkTS在"成长模拟"场景的开发模式:

  1. 多级评价:数组映射肌肉等级名称
  2. 多动作轮换(index+1)%length循环切换
  3. 天数系统:体力耗尽触发天数推进
  4. 成就检测:阈值触发特殊UI展示

Logo

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

更多推荐