549e9430f8 2024-02-13 1: -- 不用这套方案了
549e9430f8 2024-02-13 2: --~ 卡对排
549e9430f8 2024-02-13 3: function d.荐名(o1_0)
549e9430f8 2024-02-13 4: local k1_0
549e9430f8 2024-02-13 5: --~ 卡名对
549e9430f8 2024-02-13 6: k1_0 = 历对库.历对(o1_0, d.卡对消重)
549e9430f8 2024-02-13 7: return 对库.对长(k1_0)
549e9430f8 2024-02-13 8: end
549e9430f8 2024-02-13 9: --~ 卡对
549e9430f8 2024-02-13 10: function d.卡对消重(o1, o1_0)
549e9430f8 2024-02-13 11: return o1_0.name, true
549e9430f8 2024-02-13 12: end
549e9430f8 2024-02-13 13: --~ 卡对排
549e9430f8 2024-02-13 14: function d.荐名(o1_0)
549e9430f8 2024-02-13 15: local k1, k2
549e9430f8 2024-02-13 16: local k1_0
549e9430f8 2024-02-13 17: --~ 攻击力排
549e9430f8 2024-02-13 18: k1_0 = 历排库.历排(o1_0, 筛卡库.筛怪兽卡)
549e9430f8 2024-02-13 19: k1_0 = 历排库.历排(k1_0, 筛卡库.筛攻击力)
549e9430f8 2024-02-13 20: if k1_0[1] then
549e9430f8 2024-02-13 21: --~ 攻击力均差阶
549e9430f8 2024-02-13 22: k1 = 排算库.均差(k1_0)
549e9430f8 2024-02-13 23: if k1 > 0 then
549e9430f8 2024-02-13 24: --~ 补值
549e9430f8 2024-02-13 25: k2 = 数库.指数(100, 基算库.除法(k1, 300))
549e9430f8 2024-02-13 26: k1 = 基算库.除法(基算库.加法(k1, k2), 100)
549e9430f8 2024-02-13 27: if k1 > 1 then
549e9430f8 2024-02-13 28: k1 = 数库.指数次(k1, 2)
549e9430f8 2024-02-13 29: return 数库.向下取整(k1)
549e9430f8 2024-02-13 30: else
549e9430f8 2024-02-13 31: return 0
549e9430f8 2024-02-13 32: end
549e9430f8 2024-02-13 33: else
549e9430f8 2024-02-13 34: return 0
549e9430f8 2024-02-13 35: end
549e9430f8 2024-02-13 36: else
549e9430f8 2024-02-13 37: return 0
549e9430f8 2024-02-13 38: end
549e9430f8 2024-02-13 39: end
549e9430f8 2024-02-13 40: --~ 卡对排
549e9430f8 2024-02-13 41: function d.荐名(o1_0)
549e9430f8 2024-02-13 42: local k1
549e9430f8 2024-02-13 43: --~ 名
549e9430f8 2024-02-13 44: k1 = d.荐字段名(o1_0)
549e9430f8 2024-02-13 45: if k1 then
549e9430f8 2024-02-13 46: else
549e9430f8 2024-02-13 47: k1 = d.荐卡名(o1_0)
549e9430f8 2024-02-13 48: end
549e9430f8 2024-02-13 49: if k1 then
549e9430f8 2024-02-13 50: return k1
549e9430f8 2024-02-13 51: else
549e9430f8 2024-02-13 52: return "请便"
549e9430f8 2024-02-13 53: end
549e9430f8 2024-02-13 54: end
549e9430f8 2024-02-13 55: --~ 卡对排
549e9430f8 2024-02-13 56: function d.荐卡名(o1_0)
549e9430f8 2024-02-13 57: local k1_0
549e9430f8 2024-02-13 58: --~ 卡名排
549e9430f8 2024-02-13 59: k1_0 = 历排库.历排(o1_0, d.取卡名)
549e9430f8 2024-02-13 60: return 历排取一库.筛最短文(k1_0)
549e9430f8 2024-02-13 61: end
549e9430f8 2024-02-13 62: --~ 卡对
549e9430f8 2024-02-13 63: function d.取卡名(o1_0)
549e9430f8 2024-02-13 64: return o1_0.name
549e9430f8 2024-02-13 65: end
549e9430f8 2024-02-13 66: --~ 卡对排
549e9430f8 2024-02-13 67: function d.取字段对(o1_0)
549e9430f8 2024-02-13 68: local k1, k2, k3, k4
549e9430f8 2024-02-13 69: local k1_0
549e9430f8 2024-02-13 70: --~ 字段对
549e9430f8 2024-02-13 71: k1_0 = {}
549e9430f8 2024-02-13 72: for o1 = 1, #o1_0 do
549e9430f8 2024-02-13 73: --~ 字段数
549e9430f8 2024-02-13 74: k1 = 字节库.to_uint64(o1_0[o1].setcode)
549e9430f8 2024-02-13 75: if k1 < 1 then
549e9430f8 2024-02-13 76: else
549e9430f8 2024-02-13 77: if k1 > 0xffffFFFFffff then
549e9430f8 2024-02-13 78: k1 = k1 - 1
549e9430f8 2024-02-13 79: else
549e9430f8 2024-02-13 80: for o2 = 1, 11112222 do
549e9430f8 2024-02-13 81: if k1 < 1 then
549e9430f8 2024-02-13 82: break
549e9430f8 2024-02-13 83: else
549e9430f8 2024-02-13 84: --~ 大字段号
549e9430f8 2024-02-13 85: k2 = 位算库.位和(k1, 0xffff)
549e9430f8 2024-02-13 86: k1 = 位算库.位右移(k1, 基算库.乘法(4, 4))
549e9430f8 2024-02-13 87: --~ 字段名
549e9430f8 2024-02-13 88: k3 = 字段名对[tonumber(k2)]
549e9430f8 2024-02-13 89: if k3 then
549e9430f8 2024-02-13 90: if k1_0[k3] then
549e9430f8 2024-02-13 91: k1_0[k3] = 基算库.加法(k1_0[k3], 1)
549e9430f8 2024-02-13 92: else
549e9430f8 2024-02-13 93: k1_0[k3] = 1
549e9430f8 2024-02-13 94: end
549e9430f8 2024-02-13 95: if k2 > 0xfff then
549e9430f8 2024-02-13 96: --~ 小字段号
549e9430f8 2024-02-13 97: k4 = 位算库.位和(k2, 0xfff)
549e9430f8 2024-02-13 98: k3 = 字段名对[tonumber(k4)]
549e9430f8 2024-02-13 99: if k3 then
549e9430f8 2024-02-13 100: if k1_0[k3] then
549e9430f8 2024-02-13 101: k1_0[k3] = 基算库.加法(k1_0[k3], 1)
549e9430f8 2024-02-13 102: else
549e9430f8 2024-02-13 103: k1_0[k3] = 1
549e9430f8 2024-02-13 104: end
549e9430f8 2024-02-13 105: else
549e9430f8 2024-02-13 106: end
549e9430f8 2024-02-13 107: else
549e9430f8 2024-02-13 108: end
549e9430f8 2024-02-13 109: else
549e9430f8 2024-02-13 110: end
549e9430f8 2024-02-13 111: end
549e9430f8 2024-02-13 112: end
549e9430f8 2024-02-13 113: end
549e9430f8 2024-02-13 114: end
549e9430f8 2024-02-13 115: end
549e9430f8 2024-02-13 116: return k1_0
549e9430f8 2024-02-13 117: end
549e9430f8 2024-02-13 118: --~ 卡对排
549e9430f8 2024-02-13 119: function d.荐字段名(o1_0)
549e9430f8 2024-02-13 120: local k1
549e9430f8 2024-02-13 121: local k1_0
549e9430f8 2024-02-13 122: --~ 字段对
549e9430f8 2024-02-13 123: k1_0 = d.取字段对(o1_0)
549e9430f8 2024-02-13 124: --~ 最大的字段名数量
549e9430f8 2024-02-13 125: _, k1 = 历对取一库.筛最大值(k1_0)
549e9430f8 2024-02-13 126: --~ 最高频字段名对
549e9430f8 2024-02-13 127: k2_0 = 历对库.历对(k1_0, 历对库.全等筛值, k1)
549e9430f8 2024-02-13 128: return 历对取一库.筛最短键(k2_0)
549e9430f8 2024-02-13 129: end