游戏王残局简化版

Check-in [65d8c2fcdd]
Login

Check-in [65d8c2fcdd]

Overview
Comment:14比16小
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 65d8c2fcdd5eaf6a24521adc6fd0613612549e8989edf002f8905a6344343789
User & Date: 顽雨沉风 on 2024-02-03 16:03:07
Other Links: manifest | tags
Context
2024-02-03
16:04
7小于8 check-in: 168300f866 user: 顽雨沉风 tags: trunk
16:03
14比16小 check-in: 65d8c2fcdd user: 顽雨沉风 tags: trunk
12:03
预备完,可前进了 check-in: 023be319b7 user: 顽雨沉风 tags: trunk
Changes

Modified 残局文料/lua_lib/常用库.lua from [e1b5af1d98] to [1fa21e538a].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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
58
59
60
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
local d_5 = {}
local 简文件库 = require("lfs")
--~ 排
--~ 办排中值的能
--~ 入参2
--~ 入参3
--~ 入参4
function d_5.历排(o1_11, o1, o2, o3, o4)
  local k1_11
  --~ 集排
  k1_11 = {}
  for o5 = 1, #o1_11 do
    k1_11[#k1_11 + 1] = o1(o1_11[o5], o2, o3, o4)
    end
  return k1_11
  end
--~ 文
--~ 历文的能
--~ 入参2
--~ 入参3
function d_5.历文(o1, o2, o3, o4)
  local k1_9
  --~ 集排
  k1_9 = {}
  for o5 in o2(o1, o3, o4) do
    k1_9[#k1_9 + 1] = o5
    end
  return k1_9
  end
--~ 表中值
--~ 值类
--~ 办值的能
function d_5.操类(o1, o2, o3)
  if type(o1) == o2 then
    return o3(o1)
  else
    return o1
    end
  end
--~ 排中文
--~ 入参2
--~ 入参3
--~ 入参4
function d_5.全筛文(o1, o2, o3, o4)
  if string.find(o1, o2, o3, o4) then
    return o1
    end
  end
--~ 文
--~ 前缀
function d_5.加前缀(o1, o2)
  return (o2 or "") .. o1
  end
--~ 文
--~ 后缀
function d_5.加后缀(o1, o2)
  return o1 .. (o2 or "")
  end
--~ 令
function d_5.办令(o1)
  print(o1)
  os.execute(o1)
  end
--~ 文
--~ 前缀
function d_5.全筛前缀(o1, o2)
  if string.sub(o1, 1, #o2) == o2 then
    return o1
    end
  end
--~ 文
--~ 后缀
function d_5.全筛后缀(o1, o2)
  if string.sub(o1, -#o2) == o2 then
    return o1
    end
  end
--~ 目表
function d_5.用令行工具操文件(o1)
  local k1_9
  --~ 令行排
  k1_9 = d_4.历文(o1.文件目, 简文件库.dir)
  k1_9 = d_4.历排(k1_9, d_4.全筛后缀, o1.文件类)
  for o2 = 1, #k1_9 do
    k1_9[o2] = d_4.加前缀(k1_9[o2], o1.文件目)
    k1_9[o2] = d_4.加前缀(k1_9[o2], [["]])
    k1_9[o2] = d_4.加后缀(k1_9[o2], [["]])
    k1_9[o2] = d_4.加前缀(k1_9[o2], o1.令行前缀)
    d_4.办令(k1_9[o2])
    end
  end
--~ 文件路
--~ 式
function d_5.读文件(o1, o2)
  local k1
  local k1_4
  --~ 文件
  k1_4 = io.open(o1, o2 or "r")
  --~ 文
  k1 = k1_4:read("a")
  k1_4:flush()
  k1_4:close()
  return k1
  end
--~ 常量排
function d_5.加对限(o1_11)
  for o1 = 1, #o1_11 do
    o1_11[o1] = d_4.加前缀(o1_11[o1], [[k1_11["]])
    o1_11[o1] = string.gsub(o1_11[o1], "=", "\"]=", 1)
    end
  table.insert(o1_11, 1, "local k1_11 = {}")
  table.insert(o1_11, "return k1_11")
  return table.concat(o1_11, "\n")
  end
--~ 文
--~ 文件路
--~ 式
function d_5.写文件(o1, o2, o3)
  local k1_4
  --~ 文件
  k1_4 = io.open(o2, o3 or "w")
  k1_4:write(o1)
  k1_4:flush()
  k1_4:close()
  end
function d_5.删左右空白(o1)
  o1 = string.gsub(o1, "^%s+", "")
  return string.gsub(o1, "%s+$", "")
  end
return d_5
|






|












|











|










|






|




|



|





|






|





|














|











|











|







|



|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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
58
59
60
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
local d_4 = {}
local 简文件库 = require("lfs")
--~ 排
--~ 办排中值的能
--~ 入参2
--~ 入参3
--~ 入参4
function d_4.历排(o1_11, o1, o2, o3, o4)
  local k1_11
  --~ 集排
  k1_11 = {}
  for o5 = 1, #o1_11 do
    k1_11[#k1_11 + 1] = o1(o1_11[o5], o2, o3, o4)
    end
  return k1_11
  end
--~ 文
--~ 历文的能
--~ 入参2
--~ 入参3
function d_4.历文(o1, o2, o3, o4)
  local k1_9
  --~ 集排
  k1_9 = {}
  for o5 in o2(o1, o3, o4) do
    k1_9[#k1_9 + 1] = o5
    end
  return k1_9
  end
--~ 表中值
--~ 值类
--~ 办值的能
function d_4.操类(o1, o2, o3)
  if type(o1) == o2 then
    return o3(o1)
  else
    return o1
    end
  end
--~ 排中文
--~ 入参2
--~ 入参3
--~ 入参4
function d_4.全筛文(o1, o2, o3, o4)
  if string.find(o1, o2, o3, o4) then
    return o1
    end
  end
--~ 文
--~ 前缀
function d_4.加前缀(o1, o2)
  return (o2 or "") .. o1
  end
--~ 文
--~ 后缀
function d_4.加后缀(o1, o2)
  return o1 .. (o2 or "")
  end
--~ 令
function d_4.办令(o1)
  print(o1)
  os.execute(o1)
  end
--~ 文
--~ 前缀
function d_4.全筛前缀(o1, o2)
  if string.sub(o1, 1, #o2) == o2 then
    return o1
    end
  end
--~ 文
--~ 后缀
function d_4.全筛后缀(o1, o2)
  if string.sub(o1, -#o2) == o2 then
    return o1
    end
  end
--~ 目表
function d_4.用令行工具操文件(o1)
  local k1_9
  --~ 令行排
  k1_9 = d_4.历文(o1.文件目, 简文件库.dir)
  k1_9 = d_4.历排(k1_9, d_4.全筛后缀, o1.文件类)
  for o2 = 1, #k1_9 do
    k1_9[o2] = d_4.加前缀(k1_9[o2], o1.文件目)
    k1_9[o2] = d_4.加前缀(k1_9[o2], [["]])
    k1_9[o2] = d_4.加后缀(k1_9[o2], [["]])
    k1_9[o2] = d_4.加前缀(k1_9[o2], o1.令行前缀)
    d_4.办令(k1_9[o2])
    end
  end
--~ 文件路
--~ 式
function d_4.读文件(o1, o2)
  local k1
  local k1_4
  --~ 文件
  k1_4 = io.open(o1, o2 or "r")
  --~ 文
  k1 = k1_4:read("a")
  k1_4:flush()
  k1_4:close()
  return k1
  end
--~ 常量排
function d_4.加对限(o1_11)
  for o1 = 1, #o1_11 do
    o1_11[o1] = d_4.加前缀(o1_11[o1], [[k1_11["]])
    o1_11[o1] = string.gsub(o1_11[o1], "=", "\"]=", 1)
    end
  table.insert(o1_11, 1, "local k1_11 = {}")
  table.insert(o1_11, "return k1_11")
  return table.concat(o1_11, "\n")
  end
--~ 文
--~ 文件路
--~ 式
function d_4.写文件(o1, o2, o3)
  local k1_4
  --~ 文件
  k1_4 = io.open(o2, o3 or "w")
  k1_4:write(o1)
  k1_4:flush()
  k1_4:close()
  end
function d_4.删左右空白(o1)
  o1 = string.gsub(o1, "^%s+", "")
  return string.gsub(o1, "%s+$", "")
  end
return d_4

Modified 残局文料/残局改名.lua from [cf2897ff95] to [7887efb1b7].

1
2
3
4
5
6
7
8
9
10
11
12

13
14
15
16
17
18
19
20
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
package.path = [[.\lua_lib\?.lua;]] .. package.path
package.cpath = [[.\lua_lib\?.dll;]] .. package.cpath
local 字集码互转库 = require("u8_to_a")
local u8 = 字集码互转库.u8_to_a
local f = require(u8("常用库"))
local 简文件库 = require("lfs")
local 简数据库库 = require("lsqlite3")
local d_5 = {}
do
  local TYPE_SPELL = 0x2
  local TYPE_TRAP = 0x4
  local TYPE_EFFECT = 0x20

  local 有效果卡类排 = {
  TYPE_SPELL
  , TYPE_TRAP
  , TYPE_EFFECT
  }
  local 无效果灵摆怪兽排 = {
    28363749 --火蛋白石头龙头领
    , 19474136 --曼陀林草龙
    , 17390179 --闪光之骑士
    , 83980492 --铜锣龙
    }
  --~ 卡对
  function d_5.筛有效果卡(o1_5)
    












    end
  end
--~ 卡对排
function d_5.筛有效果卡的数(o1_8)
  local k1_8
  --~ 卡排
  k1_8 = f.历排(o1_8, d_5.筛有效果卡的卡数)
  return #k1
  end
--~ 卡编排
function d_5.卡对_一维(o1_8)
  return f.历排(o1_8, d_5.卡对)
  end
--~ 卡编
function d_5.卡对(o1_8)
  for o1_5 in 数据库:nrows("select * from datas where id = " .. o1_8) do
    return o1_5
    end
  end
--~ 文
function d_5.局筛卡编(o1)
  local k1_9












>
|












|
>
>
>
>
>
>
>
>
>
>
>
>



|


|
|


|
|


|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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
58
59
60
61
package.path = [[.\lua_lib\?.lua;]] .. package.path
package.cpath = [[.\lua_lib\?.dll;]] .. package.cpath
local 字集码互转库 = require("u8_to_a")
local u8 = 字集码互转库.u8_to_a
local f = require(u8("常用库"))
local 简文件库 = require("lfs")
local 简数据库库 = require("lsqlite3")
local d_5 = {}
do
  local TYPE_SPELL = 0x2
  local TYPE_TRAP = 0x4
  local TYPE_EFFECT = 0x20
  local TYPE_PENDULUM = 0x1000000
  local 有效果卡类排 = {
  TYPE_SPELL
  , TYPE_TRAP
  , TYPE_EFFECT
  }
  local 无效果灵摆怪兽排 = {
    28363749 --火蛋白石头龙头领
    , 19474136 --曼陀林草龙
    , 17390179 --闪光之骑士
    , 83980492 --铜锣龙
    }
  --~ 卡对
  function d_5.筛有效果卡(o1_5)
    for o1 = 1, #有效果卡的类排 do
      if bit.band(有效果卡的类排[o1], o1_5.type) == 0 then
      else
        return o1_5
        end
      end
    if bit.band(TYPE_PENDULUM, o1_5.type) == 0 then
    else
      if 无效果灵摆怪兽排[o1_5.id] then
      else
        return o1_5
        end
      end
    end
  end
--~ 卡对排
function d_5.筛有效果卡的数(o1_8)
  local k1_8
  --~ 卡排
  k1_8 = f.历排(o1_8, d_5.筛有效果卡)
  return #k1_8
  end
--~ 卡编排
function d_5.卡对_一维(o1_8)
  return f.历排(o1_8, d_5.卡对)
  end
--~ 卡编
function d_5.卡对(o1_8)
  for o1_5 in 数据库:nrows("select * from datas where id = " .. o1_8) do
    return o1_5
    end
  end
--~ 文
function d_5.局筛卡编(o1)
  local k1_9
60
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
  k1_9 = f.历排(k1_9, f.全筛前缀, "Debug.ReloadFieldBegin")
  --~ 则数
  k1 = string.match(k1_9[1], "[0-9]")
  return k1 or 3
  end
--~ 目对
function d_5.残局改名(o1)
  local k1_9, k2_9, k3_9, k4_9, k5_9
  --~ 文件排
  k1_9 = f.历文(o1.文件目, 简文件库.dir)
  k1_9 = f.历排(k1_9, f.全筛后缀, ".lua")
  for o2 = 1, #k1_9 do
    k1_9[o2] = f.加前缀(k1_9[o2], o1.文件目)
    k1_9[o2] = f.读文件(k1_9[o2])
    k1_9[o2] = string.gsub(k1_9[o2], "%-%-" .. "%[(=*)%[" .. ".-" .. "%]%1%]", "")
    k1_9[o2] = string.gsub(k1_9[o2], "%-%-" .. "[^\n]*", "")
    end
  --~ 则数排
  k2_9 = f.历排(k1_9, d_5.局筛则数)
  --~ 各文件的卡编排
  k3_9 = f.历排(k1_9, d_5.局筛卡编)
  _G.数据库 = 简数据库库.open(o1.数据库路)
  --~ 各文件的卡对排
  k4_9 = f.历排(k3_9, d_5.卡对_一维)
  --~ 有效果卡的数排
  k5_9 = f.历排(k4_9, d_5.筛有效果卡的数)



  end
d_5.目对 = {
  ["文件目"] = "../single/"
  , ["数据库路"] = [[D:\install\YGOPro\cards.cdb]]
  }
for o1, o2 in pairs(d_5.目对) do
  d_5.目对[o1] = f.操类(o2, "string", u8)
  end
d_5.残局改名(d_5.目对)







|















|
|
|
>
>
>









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
  k1_9 = f.历排(k1_9, f.全筛前缀, "Debug.ReloadFieldBegin")
  --~ 则数
  k1 = string.match(k1_9[1], "[0-9]")
  return k1 or 3
  end
--~ 目对
function d_5.残局改名(o1)
  local k1_9, k2_9, k3_9, k4_9, k5_9, k6_9
  --~ 文件排
  k1_9 = f.历文(o1.文件目, 简文件库.dir)
  k1_9 = f.历排(k1_9, f.全筛后缀, ".lua")
  for o2 = 1, #k1_9 do
    k1_9[o2] = f.加前缀(k1_9[o2], o1.文件目)
    k1_9[o2] = f.读文件(k1_9[o2])
    k1_9[o2] = string.gsub(k1_9[o2], "%-%-" .. "%[(=*)%[" .. ".-" .. "%]%1%]", "")
    k1_9[o2] = string.gsub(k1_9[o2], "%-%-" .. "[^\n]*", "")
    end
  --~ 则数排
  k2_9 = f.历排(k1_9, d_5.局筛则数)
  --~ 各文件的卡编排
  k3_9 = f.历排(k1_9, d_5.局筛卡编)
  _G.数据库 = 简数据库库.open(o1.数据库路)
  --~ 各文件的卡对排
  k4_9 = f.历排(k3_9, d_5.卡对_一维)
  --~ 有效果卡的数排
  k5_9 = f.历排(k4_9, d_5.筛有效果卡的数)
  --~ 卡文排
  --~ k6_9 = f.历排(k3_9, d_5.取卡文)
  --~ print(k5_9[2])
  end
d_5.目对 = {
  ["文件目"] = "../single/"
  , ["数据库路"] = [[D:\install\YGOPro\cards.cdb]]
  }
for o1, o2 in pairs(d_5.目对) do
  d_5.目对[o1] = f.操类(o2, "string", u8)
  end
d_5.残局改名(d_5.目对)