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