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