HarmonyOS应用开发实战:猫猫大作战-概率生成算法

前言

在游戏开发中,随机数生成 是基础能力------猫咪的随机等级生成、自动生成的随机列选择等。Math.random() 生成 0-1 之间的均匀分布随机数,结合条件判断可以实现加权随机。

本文以「猫猫大作战」的 randomLevel() 为锚点,讲解概率生成算法。

提示:本系列不讲 ArkTS 基础语法与环境搭建,假设你已跟完第 1--119 篇。本篇是阶段四第 120 篇。

一、加权随机

1.1 随机等级生成

typescript 复制代码
private randomLevel(): CatLevel {
  const rand = Math.random();
  if (rand < 0.5) return CatLevel.SMALL;    // 50%
  if (rand < 0.8) return CatLevel.MEDIUM;   // 30%
  return CatLevel.LARGE;                     // 20%
}

1.2 概率分布

等级 概率 区间
SMALL (1) 50% [0, 0.5)
MEDIUM (2) 30% [0.5, 0.8)
LARGE (3) 20% [0.8, 1.0)

二、随机列选择

typescript 复制代码
private randomCol(): number {
  return Math.floor(Math.random() * GameConfig.BOARD_WIDTH);
}

三、总结

Math.random() 配合条件判断实现加权随机,控制不同等级猫咪的生成概率。

核心要点:

  • Math.random() 生成 [0,1) 均匀分布随机数
  • 条件判断实现加权随机采样
  • 随机列选择使用 Math.floor(Math.random() * width)

下一篇预告:第 121 篇将深入重力下落算法------猫咪逐行下落的物理模拟。

如果这篇文章对你有帮助,欢迎点赞👍、收藏⭐、关注🔔,你的支持是我持续创作的动力!


相关资源:

相关推荐
万物智能信息科技4 小时前
鸿蒙RS232驱动开发—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
驱动开发·华为·开源·harmonyos·鸿蒙
less_121386 小时前
鸿蒙 WPS Open SDK 接入指南:凭据申请、HAR 集成与 registerApp 校验
华为·harmonyos·wps
威哥爱编程21 小时前
HarmonyOS 7 Agent 开发实战 07:多 Agent 任务分解与反思
agent·harmonyos
威哥爱编程21 小时前
HarmonyOS 7 Agent 开发实战 06:Agent 记忆与上下文管理
agent·harmonyos
HarmonyOS_SDK1 天前
【HarmonyOS SDK Skills】扫码能力一键构建,系统级高精度扫码秒实现
harmonyos
结局无敌1 天前
React Native for OpenHarmony 实战:三方库 react-native-modal-dialog 的鸿蒙化适配指南
深度学习·算法·react native·react.js·harmonyos
结局无敌1 天前
React Native for OpenHarmony 实战:三方库 react-native-paper 的鸿蒙化适配指南
javascript·人工智能·深度学习·react native·react.js·ecmascript·harmonyos
七月稻草人1 天前
鸿蒙手机远程控制电脑选哪个?2026 鸿蒙远控软件横评
智能手机·电脑·harmonyos
熊猫钓鱼>_>1 天前
Kotlin Multiplatform for OpenHarmony 实战:kotlinx-coroutines 结构化并发适配
开发语言·kotlin·agent·harmonyos·openharmony·适配·华为云码道
结局无敌1 天前
React Native for OpenHarmony 实战:三方库 react-native-progress-steps 的鸿蒙化适配指南
javascript·人工智能·深度学习·react native·react.js·harmonyos