游戏王残局简化版

Diff
Login

Diff

Differences From Artifact [4e9da26420]:

To Artifact [4a7f3c81a8]:


30
31
32
33
34
35
36
37

38
39











40
41
42
43
44
45
46
47
48

49
50









51
52
53
54
55
56
57
30
31
32
33
34
35
36

37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58

59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77







-
+


+
+
+
+
+
+
+
+
+
+
+








-
+


+
+
+
+
+
+
+
+
+







  end
--~ 排
--~ 能
function d.历排取一(o1_0, o1)
  local k1
  for o2 = 1, #o1_0 do
    --~ 值
    k1 = o1(k1, o1_0[o2])
    k1 = d.历排取一的模(k1, o1_0[o2], o1)
    end
  return k1
  end
--~ 值
--~ 排中值
function d.历排取一的模(o1, o2, o3)
  if o1 == nil then
    return o2
  elseif o3(o1, o2) then
    return o2
  else
    return o1
    end
  end
--~ 对
--~ 能
function d.历对取一(o1_0, o1)
  local k1, k2
  for o2, o2_0 in pairs(o1_0) do
    --~ 键
    --~ 值
    k1, k2 = o1(k1, k2, o2, o2_0)
    k1, k2 = d.历对取一的模(k1, k2, o2, o2_0, o1)
    end
  return k1, k2
  end
function d.历对取一的模(o1, o2, o3, o4, o5)
  if o1 == nil then
    return o3, o4
  elseif o5(o1, o2, o3, o4) then
    return o3, o4
  else
    return o1, o2
    end
  end
function d.历对(o1_0, o1, o2)
  local k1
  local k1_0, k2_0
  --~ 对
  k1_0 = {}
  for o3, o2_0 in pairs(o1_0) do
218
219
220
221
222
223
224
225
226
227
228


229
230
231
232
233
234

235
236
237
238
239
240
241


242
243
244
245
246
247
248
249
250
251
252


253
254
255
256
257
258
259
260
261
238
239
240
241
242
243
244




245
246


247
248

249
250
251
252
253




254
255


256
257
258
259
260




261
262


263
264
265
266
267
268
269







-
-
-
-
+
+
-
-


-

+



-
-
-
-
+
+
-
-





-
-
-
-
+
+
-
-







  return bit.rshift(o1, o2)
  end
--~ 键
--~ 最大值
--~ 键
--~ 值
function d.筛对中最大值(o1, o2, o3, o4)
  if o2 == nil then
    return o3, o4
  elseif o2 < o4 then
    return o3, o4
  if o2 < o4 then
    return true
  else
    return o1, o2
    end
  end
--~ 键
--~ 最短键
--~ 值
--~ 键
--~ 值
function d.筛对中最短键(o1, o2, o3, o4)
  if o1 == nil then
    return o3, o4
  elseif #o1 > #o3 then
    return o3, o4
  if #o1 > #o3 then
    return true
  else
    return o1, o2
    end
  end
--~ 最短文
--~ 值
function d.筛排中最短文(o1, o2)
  if o1 == nil then
    return o2
  elseif #o1 > #o2 then
    return o2
  if #o1 > #o2 then
    return true
  else
    return o1
    end
  end
--~ 内数
function d.to_uint64(o1)
  local uint64_pointer = ffi.new("uint64_t[1]", o1)
  return uint64_pointer[0]
  end