# 最大概率值作为 3 合计计算(0 除外)
ratings_total = 0
for action in available_actions
#ratings_total=2,5
if action.rating > rating_max - 3
ratings_total += action.rating - (rating_max - 3)
end
end
# 概率合计不为 0 的情况下
if ratings_total > 0
# 生成随机数
value = rand(ratings_total)
# 设置对应生成随机数的当前行动
for action in available_actions
if action.rating > rating_max - 3
if value < action.rating - (rating_max - 3)
self.current_action.kind = action.kind
self.current_action.basic = action.basic
self.current_action.skill_id = action.skill_id
self.current_action.decide_random_target_for_enemy
return
else
value -= action.rating - (rating_max - 3)
end
end
end
end
请问:敌人行为的概率是怎么算的?作者: 无忧谷主幻 时间: 2026-3-22 05:04
举个例子:
假设敌人可用行动的评分分别是:10、9、8、7
最高评分:10
符合权重:10-7=3
总权重:3+2+1=6
各行动的选中概率:
评分10的行动:3/6=50%
评分9的行动:2/6≈33.3%
评分8的行动:1/6≈16.7%
评分7及以下的行动:0%