Project1

标题: [已解决]魔法技能伤害公式 [打印本页]

作者: 金芒芒    时间: 2024-8-14 14:59
标题: [已解决]魔法技能伤害公式
本帖最后由 金芒芒 于 2024-8-16 07:21 编辑

魔法 = 125  魔法防御 = 95   魔法躲避几率35%   躲避魔法伤害-20%  
  如果魔法在35%的几率躲避造成的魔法伤害-20%  
这个魔法伤害公式这么计算
作者: ppspssss2    时间: 2024-8-14 22:40
本帖最后由 ppspssss2 于 2024-8-15 13:22 编辑

以下部分使用了百度AI https://chat.baidu.com/, #b为我有修改的句
RUBY 代码复制
  1. # 定义变量
  2. magic_attack = 125
  3. magic_defense = 95
  4. dodge_chance = 35  #b躲避率 <原来是0.35,但随机数貌似没法小数,乘大100变整数
  5. dodge_damage_reduction = 0.20  # 转换为小数
  6.  
  7. # 计算未躲避时的魔法伤害
  8. # 假设这里简单的减法来计算防御效果,实际情况可能更复杂
  9. damage_before_dodge = magic_attack - magic_defense
  10.  
  11. # 生成随机数决定是否躲避
  12. if rand(100)+1 <= dodge_chance #b 小于等于35则运行躲避 (抽取到1-35) 躲避 ,(抽取到36-100)未躲避
  13.   # 如果躲避,计算减少后的伤害
  14.   damage_after_dodge = damage_before_dodge * (1 - dodge_damage_reduction)
  15.   p "躲避成功,受到的伤害为: #{damage_after_dodge}" #b 《低版本ruby没此方法,我已删掉.round(2)
  16. else
  17.   # 如果没有躲避,直接受到未躲避时的伤害
  18.   p "未躲避,受到的伤害为: #{damage_before_dodge}"
  19. end


请注意,这个脚本做了几个假设:

魔法防御直接从魔法攻击力中减去来计算未躲避时的伤害。实际情况中,防御的计算可能更复杂,可能涉及防御力的百分比减少或其他因素。
躲避几率和躲避后伤害减少百分比都被转换为小数,因为Ruby的rand函数生成的是一个小于1的浮点数,这样便于直接比较。
使用了round(2)来格式化输出的小数点后的位数,使其看起来更整洁。《低版本ruby没此方法,我已删掉.round(2)
以上是一个简单的Ruby脚本,用于模拟你所描述的魔法、防御和躲避机制。
作者: 金芒芒    时间: 2024-8-16 07:19
ppspssss2 发表于 2024-8-14 22:40
以下部分使用了百度AI https://chat.baidu.com/, #b为我有修改的句
# 定义变量
magic_attack = 125

谢谢脚本写的太精辟了够我学习几个月了,仰慕大神




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1