当前位置: 首页 > news >正文

计算公式放配置

故事背景,数值要求属性计算公式写配置第一版是这样的 formula = formula = "function(self)\nreturn self.hp_develop*(1+self.hp_outbattle_mul)+self.hp_outbattle_adj\nend",
load会报错,而且还有换行符,直接改成formula = "return self.hp_develop*(1+self.hp_outbattle_mul)+self.hp_outbattle_adj"

-- 修改配置中的公式为表达式形式
local config = {formula = "self.hitrate_outbattle*(1+self.hitrate_inbattle_mul)+self.hitrate_inbattle_adj"
}-- 解析函数调整为
local function parseFormula(formula_str)local func, err = load("return function(self) return " .. formula_str .. " end")if not func thenprint("加载公式错误:", err)return nilendreturn func()
endlocal formula_func = parseFormula(config.formula)local player = {hitrate_outbattle = 0.75,hitrate_inbattle_mul = 0.2,hitrate_inbattle_adj = 0.1
}
local hitrate = formula_func(player)
print(hitrate)
print(0.75*(1+0.2)+0.1)

http://www.dtcms.com/a/300107.html

相关文章:

  • 【linux】keepalived
  • ART某板卡的软件位置
  • 每日一道算法题(九)
  • 【C/C++】Undefined reference: memset_s
  • 【seismic中的颜色】
  • ETF历史高频逐笔分钟数据解析
  • FastAPI入门:demo、路径参数、查询参数
  • Linux进程替换
  • Dynamic Model in RL
  • 渲染篇(二):解密Diff算法:如何用“最少的操作”更新UI
  • 【数据结构】二叉树初阶详解(二):实现逻辑与代码拆解(超详版)
  • 聚类-一种无监督分类算法
  • 中文语音识别与偏误检测系统开发
  • Redis的下载和安装(Linux)
  • 亚马逊全球物流(AGL)与Amazon SEND双重升级:重塑跨境电商物流新生态​
  • FastAPI入门:安装、Pydantic、并发和并行
  • Python应用:三局两胜制石头剪刀布游戏
  • VS Code + LaTeX 绘制电气图完全指南(含 PlantUML 样式参考)
  • 典型的 Vue 3 项目目录结构详解
  • Android中ViewStub和View有什么区别?
  • 过油防溅:3 步搞定 油星乱蹦
  • 具身视觉语言导航算法学习笔记
  • C++20 协程
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-27,(知识点:信号完整性,信号反射,串扰,时延,抖动,衰减)
  • 物联网统一网关:多协议转换与数据处理架构设计
  • useCallback/useMemo
  • Item11:在operator=中处理自我赋值
  • [极客大挑战 2019]FinalSQL--布尔盲注
  • 【web应用】如何进行前后端调试Debug? + 前端JavaScript调试Debug?
  • 内置两大模型,Whisper视频语音转文字,支持批量处理,完全免费!