GA好望角|魔力宝贝私服|魔力私服|魔力私服|GA反外挂

 找回密码
 立即注册
凤凰(QQ:715837)
售前咨询
GA白皮书(客户端)
GA白皮书(服务端)
cgdev.me开发者论坛
放映地(炫斗魔力公益PK服)
新服发布站
欢迎来到GA好望角~
价格公示表
回首页
关于妖城与某些恶意人士对我们恶意抹黑的回应
查看: 1421|回复: 0

【珊瑚分享】怪物档次设计小工具+lua反算BP代码

[复制链接]

4

主题

5

帖子

5

积分

新手上路

Rank: 1

金钱
54
号角币
21
发表于 2024-4-12 20:08:10 | 显示全部楼层 |阅读模式
本帖最后由 珊瑚 于 2024-4-12 20:15 编辑

输入想要的怪物能力值反向计算boss的五维档
主要用来快速设定怪物能力值,不需要反复填写档值查看结果
因为是反向计算的,数值有一定误差,请自行手动调整
目前该工具已集成到新版珊瑚工具箱里面,等其他功能做好后再发布,先发布独立小工具


反算.png

BOSS档次设计工具(珊瑚).zip (334.22 KB, 下载次数: 24)

再贴一段反向计算的lua代码,可以不用以enemybase为标准生成怪物了,
设定想要的能力值lua计算BP并生成怪物即可

      
function gaussJordan(matrix, constants)
    local n = #matrix
    for i = 1, n do
        -- 寻找最大的元素作为主元
        local max = i
        for j = i + 1, n do
            if math.abs(matrix[j][i]) > math.abs(matrix[max][i]) then
                max = j
            end
        end
        
        -- 如果主元是0,则无解或者无限多解
        if matrix[max][i] == 0 then
--自行处理
        end

        -- 交换行使得绝对值最大的元素处于对角线上
        matrix[i], matrix[max] = matrix[max], matrix[i]
        constants[i], constants[max] = constants[max], constants[i]

        -- 归一化当前行,并确保对角线元素为1
        local diag = matrix[i][i]
        for j = 1, n do
            matrix[i][j] = matrix[i][j] / diag
        end
        constants[i] = constants[i] / diag

        -- 消除当前列的其他行
        for k = 1, n do
            if k ~= i then
                local factor = matrix[k][i]
                for l = 1, n do
                    matrix[k][l] = matrix[k][l] - factor * matrix[i][l]
                end
                constants[k] = constants[k] - factor * constants[i]
            end
        end
    end

    return constants
end

-- 系数矩阵
local matrix = {
    {8, 2, 3, 3, 1},
    {1, 2, 2, 2, 10},
    {0.1, 2, 0.2, 0.2, 0.1},
    {0.1, 0.2, 2, 0.2, 0.1},
    {0.1, 0.2, 0.2, 2, 0.1}
}

-- 常数向量
local constants = {30000, 5000, 1000, 500, 300}

-- 解方程组
local solutions = gaussJordan(matrix, constants)

-- 输出结果
    print("a =", solutions[1])
    print("b =", solutions[2])
    print("c =", solutions[3])
    print("d =", solutions[4])
    print("e =", solutions[5])






评分

参与人数 1号角币 +20 收起 理由
admin + 20 很给力!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|GA好望角

GMT+8, 2024-12-27 16:33 , Processed in 0.085655 second(s), 28 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表