游戏王残局简化版

Check-in [95b5664d69]
Login

Check-in [95b5664d69]

Overview
Comment:搞定了
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 95b5664d694829a021d4849ee1db3b2e84b49bcd3cb0ba18a32d9321d894ec52
User & Date: 顽雨沉风 on 2024-02-10 15:11:09.372
Other Links: manifest | tags
Context
2024-02-10
15:13
(/ω\) check-in: 471b276579 user: 顽雨沉风 tags: trunk
15:11
搞定了 check-in: 95b5664d69 user: 顽雨沉风 tags: trunk
11:44
慢慢来 check-in: ceb3f9fd47 user: 顽雨沉风 tags: trunk
Changes
21
22
23
24
25
26
27







28
29
30
31
32
33
34
35
36
37
38





39
40
41
42
43
44
45
--~ 指数底
function d.指数次(o1, o2)
  local k1
  --~ 指数次
  k1 = math.log(o1) / math.log(o2)
  return k1
  end







-- 向上取整和向下取整
--~ 数
function d.向下取整(o1)
  return math.floor(o1)
  end
-- 几位整数
--~ 数
--~ 几位整数
function d.几位整数(o1, o2)
  return string.format("%0" .. o2 .. "d", o1)
  end





--~ 数
function d.负数(o1)
  return -o1
  end
-- 绝对值
function d.绝对值(o1)
  if o1 > 0 then







>
>
>
>
>
>
>





|





>
>
>
>
>







21
22
23
24
25
26
27
28
29
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
--~ 指数底
function d.指数次(o1, o2)
  local k1
  --~ 指数次
  k1 = math.log(o1) / math.log(o2)
  return k1
  end
--~ 数
function d.二底指数次(o1)
  local k1
  --~ 指数次
  _, k1 = math.frexp(o1)
  return k1
  end
-- 向上取整和向下取整
--~ 数
function d.向下取整(o1)
  return math.floor(o1)
  end
-- 几位整数和几位小数
--~ 数
--~ 几位整数
function d.几位整数(o1, o2)
  return string.format("%0" .. o2 .. "d", o1)
  end
--~ 数
--~ 几位小数
function d.几位小数(o1, o2)
  return string.format("%." .. o2 .. "f", o1)
  end
--~ 数
function d.负数(o1)
  return -o1
  end
-- 绝对值
function d.绝对值(o1)
  if o1 > 0 then
57
58
59
60
61
62
63
64


















65
    if k1_0[o1] then
    else
      k1_0[o1] = 0
      end
    k1_0[o1] = k1_0[o1] + 1
    return k1_0[o1]
    end
  end


















return d








>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
    if k1_0[o1] then
    else
      k1_0[o1] = 0
      end
    k1_0[o1] = k1_0[o1] + 1
    return k1_0[o1]
    end
  end
-- 最值
function d.最大值()
  return math.huge
  end
function d.最小值()
  local k1
  --~ 最大值
  k1 = d.最大值()
  return d.负数(k1)
  end
--~ 数
function d.是否最值(o1)
  if o1 == d.最大值()
  or o1 == d.最小值() then
    return true
  else
    end
  end
return d
16
17
18
19
20
21
22










23
24
function d.乘法(o1, o2)
  return o1 * o2
  end
--~ 左除数
--~ 右除数
function d.除法(o1, o2)
  return o1 / o2










  end
return d







>
>
>
>
>
>
>
>
>
>


16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
function d.乘法(o1, o2)
  return o1 * o2
  end
--~ 左除数
--~ 右除数
function d.除法(o1, o2)
  return o1 / o2
  end
-- 向外与向内
--~ 左加数
--~ 右加数
function d.向外加(o1, o2)
  if o1 >= 0 then
    return d.加法(o1, o2)
  else
    return d.减法(o1, o2)
    end
  end
return d
1











2
3
4
5
6
7
8
-- 不用这套方案了











--~ 卡对排
function d.荐名(o1_0)
  local k1, k2
  local k1_0
  --~ 攻击力排
  k1_0 = 历排库.历排(o1_0, 筛卡库.筛怪兽卡)
  k1_0 = 历排库.历排(k1_0, 筛卡库.筛攻击力)

>
>
>
>
>
>
>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
-- 不用这套方案了
--~ 卡对排
function d.荐名(o1_0)
  local k1_0
  --~ 卡名对
  k1_0 = 历对库.历对(o1_0, d.卡对消重)
  return 对库.对长(k1_0)
  end
--~ 卡对
function d.卡对消重(o1, o1_0)
  return o1_0.name, true
  end
--~ 卡对排
function d.荐名(o1_0)
  local k1, k2
  local k1_0
  --~ 攻击力排
  k1_0 = 历排库.历排(o1_0, 筛卡库.筛怪兽卡)
  k1_0 = 历排库.历排(k1_0, 筛卡库.筛攻击力)
61
62
63
64
65
66
67












68
69
70
71
72
73
74
75
76
77
78
79

80

81
82
83









84



85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
function d.局筛卡编(o1)
  local k1_0
  --~ 卡编排
  k1_0 = 历文库.历文(o1, string.gmatch, "[^\n]+")
  k1_0 = 历排库.历排(k1_0, string.match, "Debug%.AddCard.+")
  return 历排库.历排(k1_0, string.match, "[0-9]+")
  end












--~ 文
function d.局筛则数(o1)
  local k1
  local k1_0
  --~ 则数排
  k1_0 = 历文库.历文(o1, string.gmatch, "[^\n]+")
  k1_0 = 历排库.历排(k1_0, 前缀库.全筛前缀, "Debug.ReloadFieldBegin")
  --~ 则数
  k1 = string.match(k1_0[1], "[0-9]")
  return k1 or 3
  end
--~ 卡对排

function d.荐名(o1_0)

  local k1_0
  --~ 卡名对
  k1_0 = 历库.历(o1_0, d.对消重)









  return 对库.对长(k1_0)



  end
--~ 卡对
function d.卡对消重(o1, o1_0)
  return o1_0.name, true
  end
--~ 卡对排
function d.荐卡名(o1_0)
  local k1_0
  --~ 卡名排
  k1_0 = 历排库.历排(o1_0, d.取卡名)
  return 历排取一库.筛最短文(k1_0)
  end
--~ 目对
function d.残局改名(o1_0)
  local k1, k2, k3
  local k1_0, k2_0, k3_0, k4_0, k5_0, k6_0, k7_0, k8_0, k9_0
  local k10_0
  --~ 文件名排
  k1_0 = 历文库.历文(o1_0.文件目, 文件系库.dir)
  k1_0 = 历排库.历排(k1_0, 后缀库.全筛后缀, ".lua")
  --~ 文件排
  k2_0 = 历排库.历排(k1_0, 后缀库.全筛后缀, ".lua")
  for o1 = 1, #k2_0 do
    k2_0[o1] = 前缀库.加前缀(k2_0[o1], o1_0.文件目)







>
>
>
>
>
>
>
>
>
>
>
>












>
|
>

|
|
>
>
>
>
>
>
>
>
>
|
>
>
>
|
<
<
<












|







61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111



112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
function d.局筛卡编(o1)
  local k1_0
  --~ 卡编排
  k1_0 = 历文库.历文(o1, string.gmatch, "[^\n]+")
  k1_0 = 历排库.历排(k1_0, string.match, "Debug%.AddCard.+")
  return 历排库.历排(k1_0, string.match, "[0-9]+")
  end
--~ 文
function d.局筛血(o1)
  local k1_0
  --~ 血排
  k1_0 = 历文库.历文(o1, string.gmatch, "[^\n]+")
  k1_0 = 历排库.历排(k1_0, string.match, "Debug%.SetPlayerInfo.+")
  for o2 = 1, #k1_0 do
    k1_0[o2] = string.gsub(k1_0[o2], "[0-9]+", "", 1)
    k1_0[o2] = string.match(k1_0[o2], "[0-9]+")
    end
  return k1_0
  end
--~ 文
function d.局筛则数(o1)
  local k1
  local k1_0
  --~ 则数排
  k1_0 = 历文库.历文(o1, string.gmatch, "[^\n]+")
  k1_0 = 历排库.历排(k1_0, 前缀库.全筛前缀, "Debug.ReloadFieldBegin")
  --~ 则数
  k1 = string.match(k1_0[1], "[0-9]")
  return k1 or 3
  end
--~ 卡对排
--~ 血排
function d.荐名(o1_0, o2_0)
  local k1, k2, k3
  local k1_0
  --~ 攻击力排
  k1_0 = 历库.历(o1_0, 库.筛怪兽卡)
  k1_0 = 历排库.历排(k1_0, 筛卡库.筛攻击力)
  --~ 总攻
  k1 = 排算库.总和(k1_0)
  --~ 总血
  k2 = 排算库.总和(o2_0)
  --~ 荐名
  k3 = 基算库.除法(k1, k2)
  k3 = 数库.指数次(k3, 2)
  if 数库.是否最值(k3) then
    return 0
  else
    k3 = 数库.几位小数(k3, 1)
    return 基算库.乘法(k3, 1000)
    end



  end
--~ 卡对排
function d.荐卡名(o1_0)
  local k1_0
  --~ 卡名排
  k1_0 = 历排库.历排(o1_0, d.取卡名)
  return 历排取一库.筛最短文(k1_0)
  end
--~ 目对
function d.残局改名(o1_0)
  local k1, k2, k3
  local k1_0, k2_0, k3_0, k4_0, k5_0, k6_0, k7_0, k8_0, k9_0
  local k10_0, k11_0
  --~ 文件名排
  k1_0 = 历文库.历文(o1_0.文件目, 文件系库.dir)
  k1_0 = 历排库.历排(k1_0, 后缀库.全筛后缀, ".lua")
  --~ 文件排
  k2_0 = 历排库.历排(k1_0, 后缀库.全筛后缀, ".lua")
  for o1 = 1, #k2_0 do
    k2_0[o1] = 前缀库.加前缀(k2_0[o1], o1_0.文件目)
116
117
118
119
120
121
122


123
124




125
126
127
128
129
130
131





132
133
134
135
136
137
138
  k4_0 = 历排库.历排(k2_0, d.局筛卡编)
  --~ 各文件的卡对排
  k5_0 = 历排库.历排(k4_0, d.取卡对_一维)
  --~ 有效果卡的卡对排
  k6_0 = 历排库.历排(k5_0, d.筛有效果卡_一维)
  --~ 有效果卡的张数排
  k7_0 = 历排库.历排(k6_0, table.maxn)


  --~ 荐名排
  k8_0 = 历排库.历排(k6_0, d.荐名)




  --~ 新名排
  k9_0 = 历排库.历排(k1_0, string.gsub, 字集库.u8_to_a(" " .. ".+"), "")
  --~ 编号排
  k10_0 = 历排库.历排(k1_0, string.gsub, 字集库.u8_to_a(" " .. ".+"), "")
  for o1 = 1, #k1_0 do
    k9_0[o1] = string.gsub(k9_0[o1], "%." .. "lua".. "$", "")
    k9_0[o1] = 字集库.a_to_u8(o1_0.文件目) .. 字集库.a_to_u8(k9_0[o1]) .. " " .. k3_0[o1] .. "_" .. 数库.几位整数(k7_0[o1], 2) .. "_" .. 数库.几位整数(k8_0[o1], 2) .. "." .. "lua"





    k1_0[o1] = o1_0.文件目 .. k1_0[o1]
    --~ 新名
    k1 = 字集库.u8_to_a(k9_0[o1])
    os.rename(k1_0[o1], k1)
    --~ 文件
    k2 = 读文件库.读文件(k1)
    k10_0[o1] = 字集库.a_to_u8(k10_0[o1])







>
>

|
>
>
>
>






|
>
>
>
>
>







139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
  k4_0 = 历排库.历排(k2_0, d.局筛卡编)
  --~ 各文件的卡对排
  k5_0 = 历排库.历排(k4_0, d.取卡对_一维)
  --~ 有效果卡的卡对排
  k6_0 = 历排库.历排(k5_0, d.筛有效果卡_一维)
  --~ 有效果卡的张数排
  k7_0 = 历排库.历排(k6_0, table.maxn)
  --~ 血排
  k11_0 = 历排库.历排(k2_0, d.局筛血)
  --~ 荐名排
  --~ k8_0 = 历排库.历排(k6_0, d.荐名)
  k8_0 = {}
  for o1 = 1, #k2_0 do
    k8_0[o1] = d.荐名(k6_0[o1], k11_0[o1])
    end
  --~ 新名排
  k9_0 = 历排库.历排(k1_0, string.gsub, 字集库.u8_to_a(" " .. ".+"), "")
  --~ 编号排
  k10_0 = 历排库.历排(k1_0, string.gsub, 字集库.u8_to_a(" " .. ".+"), "")
  for o1 = 1, #k1_0 do
    k9_0[o1] = string.gsub(k9_0[o1], "%." .. "lua".. "$", "")
    k9_0[o1] = 字集库.a_to_u8(o1_0.文件目) .. 字集库.a_to_u8(k9_0[o1]) .. " " .. k3_0[o1] .. "_" .. 数库.几位整数(k7_0[o1], 2)
    if k8_0[o1] == 0 then
      k9_0[o1] = k9_0[o1] .. "." .. "lua"
    else
      k9_0[o1] = k9_0[o1] .. "_" .. k8_0[o1] .. "." .. "lua"
      end
    k1_0[o1] = o1_0.文件目 .. k1_0[o1]
    --~ 新名
    k1 = 字集库.u8_to_a(k9_0[o1])
    os.rename(k1_0[o1], k1)
    --~ 文件
    k2 = 读文件库.读文件(k1)
    k10_0[o1] = 字集库.a_to_u8(k10_0[o1])