DELETED 残局文料/lua_lib/算机_基统_Windows_件系_小件_读.lua Index: 残局文料/lua_lib/算机_基统_Windows_件系_小件_读.lua ================================================================== --- 残局文料/lua_lib/算机_基统_Windows_件系_小件_读.lua +++ /dev/null ADDED 残局文料/lua_lib/算机_基统_窗群_件系_小件_读 (2).lua Index: 残局文料/lua_lib/算机_基统_窗群_件系_小件_读 (2).lua ================================================================== --- /dev/null +++ 残局文料/lua_lib/算机_基统_窗群_件系_小件_读 (2).lua ADDED 残局文料/lua_lib/算机_基统_窗群_文件系_小文件_读.lua Index: 残局文料/lua_lib/算机_基统_窗群_文件系_小文件_读.lua ================================================================== --- /dev/null +++ 残局文料/lua_lib/算机_基统_窗群_文件系_小文件_读.lua @@ -0,0 +1,15 @@ +local d = {} +--~ 文件路 +--~ 式 +function d.读文件(o1, o2) + local k1 + local k1_3 + --~ 文件 + k1_3 = io.open(o1, o2 or "r") + --~ 文 + k1 = k1_3:read("a") + k1_3:flush() + k1_3:close() + return k1 + end +return d ADDED 残局文料/lua_lib/算机_理器_通用_字节.lua Index: 残局文料/lua_lib/算机_理器_通用_字节.lua ================================================================== --- /dev/null +++ 残局文料/lua_lib/算机_理器_通用_字节.lua @@ -0,0 +1,8 @@ +local ffi = require("ffi") +local d = {} +--~ 内数 +function d.to_uint64(o1) + local uint64_pointer = ffi.new("uint64_t[1]", o1) + return uint64_pointer[0] + end +return d DELETED 残局文料/lua_lib/算机_程语_月_基类_数_基.lua Index: 残局文料/lua_lib/算机_程语_月_基类_数_基.lua ================================================================== --- 残局文料/lua_lib/算机_程语_月_基类_数_基.lua +++ /dev/null @@ -1,24 +0,0 @@ -local d = {} --- 加减 ---~ 左加数 ---~ 右加数 -function d.加法(o1, o2) - return o1 + o2 - end ---~ 左减数 ---~ 右减数 -function d.减法(o1, o2) - return o1 - o2 - end --- 乘除 ---~ 左乘数 ---~ 右乘数 -function d.乘法(o1, o2) - return o1 * o2 - end ---~ 左除数 ---~ 右除数 -function d.除法(o1, o2) - return o1 / o2 - end -return d DELETED 残局文料/lua_lib/算机_程语_月_基类_能_传能_历_历排.lua Index: 残局文料/lua_lib/算机_程语_月_基类_能_传能_历_历排.lua ================================================================== --- 残局文料/lua_lib/算机_程语_月_基类_能_传能_历_历排.lua +++ /dev/null Index: 残局文料/lua_lib/算机_程语_月_基类_能_传能_历_基类_表_对_取全.lua ================================================================== --- 残局文料/lua_lib/算机_程语_月_基类_能_传能_历_基类_表_对_取全.lua +++ 残局文料/lua_lib/算机_程语_月_基类_能_传能_历_基类_表_对_取全.lua @@ -17,7 +17,15 @@ else end end return k1_0 end - +--~ 键 +--~ 值 +--~ 要找的值 +function d.全等筛值(o1, o2, o3) + if o2 == o3 then + return o1, o2 + else + end + end return d DELETED 残局文料/lua_lib/算机_程语_月_基类_能_传能_历_基类_表_排.lua Index: 残局文料/lua_lib/算机_程语_月_基类_能_传能_历_基类_表_排.lua ================================================================== --- 残局文料/lua_lib/算机_程语_月_基类_能_传能_历_基类_表_排.lua +++ /dev/null @@ -1,17 +0,0 @@ -local d = {} --- 遍历取全和遍历取一 ---~ 排 ---~ 办排中值的能 ---~ 入参2 ---~ 入参3 ---~ 入参4 -function d.历排(o1_0, o1, o2, o3, o4) - local k1_0 - --~ 集排 - k1_0 = {} - for o5 = 1, #o1_0 do - k1_0[#k1_0 + 1] = o1(o1_0[o5], o2, o3, o4) - end - return k1_0 - end -return d DELETED 残局文料/lua_lib/算机_程语_月_基类_能_返还.lua Index: 残局文料/lua_lib/算机_程语_月_基类_能_返还.lua ================================================================== --- 残局文料/lua_lib/算机_程语_月_基类_能_返还.lua +++ /dev/null @@ -1,8 +0,0 @@ -local d = {} --- 数量 ---~ 入参1 ---~ 入参2 -function d.二参(o1, o2) - return o1, o2 - end -return d Index: 残局文料/残局荐名.lua ================================================================== --- 残局文料/残局荐名.lua +++ 残局文料/残局荐名.lua @@ -3,12 +3,12 @@ local 字集码互转库 = require("u8_to_a") local 字集库 = require("u8_to_a") local u8 = 字集码互转库.u8_to_a local f = require(u8("常用库")) local 字段名对 = require(u8("字段名")) -local 简文件库 = require("lfs") -local 简数据库库 = require("lsqlite3") +local 文件系库 = require("lfs") +local 档库 = require("lsqlite3") local 基算库 = require(字集库.u8_to_a("算机_程语_月_基类_数_基算")) local 位算库 = require(字集库.u8_to_a("算机_程语_月_基类_数_位算")) local 前缀库 = require(字集库.u8_to_a("算机_程语_月_基类_文_前缀")) local 后缀库 = require(字集库.u8_to_a("算机_程语_月_基类_文_后缀")) local 历排库 = require(字集库.u8_to_a("算机_程语_月_基类_能_传能_历_基类_表_排_取全")) @@ -15,13 +15,18 @@ local 历对库 = require(字集库.u8_to_a("算机_程语_月_基类_能_传能_历_基类_表_对_取全")) local 历文库 = require(字集库.u8_to_a("算机_程语_月_基类_能_传能_历_基类_文_取全")) local 历排取一库 = require(字集库.u8_to_a("算机_程语_月_基类_能_传能_历_基类_表_排_取一")) local 基类库 = require(字集库.u8_to_a("算机_程语_月_基类_能_传能_基类")) local 历对取一库 = require(字集库.u8_to_a("算机_程语_月_基类_能_传能_历_基类_表_对_取一")) -local 筛卡库 = require(字集库.u8_to_a("游戏王_YGOPro_残局_卡_全筛_有效果卡")) +local 筛卡库 = require(字集库.u8_to_a("游戏王_则拟器_原版_残局_卡_全筛_有效果卡")) local 对库 = require(字集库.u8_to_a("算机_程语_月_基类_表_对")) +local 字节库 = require(字集库.u8_to_a("算机_理器_通用_字节")) +local 读文件库 = require(字集库.u8_to_a("算机_基统_窗群_文件系_小文件_读")) +local string = string +local os = os local d = {} +local 卡档 --~ 各文件的卡对排 function d.筛有效果卡_一维(o1_0) return 历排库.历排(o1_0, 筛卡库.筛有效果卡) end --~ 各文件的卡编排 @@ -37,17 +42,17 @@ k2_0 = d.取卡数据(o1) return 对库.连两对(k1_0, k2_0) end --~ 卡编 function d.取卡文(o1) - for o1_4 in 数据库:nrows("select * from texts where id = " .. o1) do + for o1_4 in 卡档:nrows("select * from texts where id = " .. o1) do return o1_4 end end --~ 卡编 function d.取卡数据(o1) - for o1_4 in 数据库:nrows("select * from datas where id = " .. o1) do + for o1_4 in 卡档:nrows("select * from datas where id = " .. o1) do return o1_4 end end --~ 文 function d.局筛卡编(o1) @@ -100,11 +105,11 @@ local k1_0 --~ 字段对 k1_0 = {} for o1 = 1, #o1_0 do --~ 字段数 - k1 = f.to_uint64(o1_0[o1].setcode) + k1 = 字节库.to_uint64(o1_0[o1].setcode) if k1 < 1 then else if k1 > 0xffffFFFFffff then k1 = k1 - 1 else @@ -153,48 +158,52 @@ --~ 字段对 k1_0 = d.取字段对(o1_0) --~ 最大的字段名数量 _, k1 = 历对取一库.筛最大值(k1_0) --~ 最高频字段名对 - k2_0 = 历对库.历对(k1_0, f.全等筛对中值, k1) + k2_0 = 历对库.历对(k1_0, 历对库.全等筛值, k1) return 历对取一库.筛最短键(k2_0) end --~ 目对 function d.残局荐名(o1_0) - local k1_0, k2_0, k3_0, k4_0, k5_0, k6_0, k7_0, k8_0 + local k1_0, k2_0, k3_0, k4_0, k5_0, k6_0, k7_0, k8_0, k9_0 --~ 文件名排 - k1_0 = 历文库.历文(o1_0.文件目, 简文件库.dir) + 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.文件目) - k2_0[o1] = f.读文件(k2_0[o1]) + k2_0[o1] = 读文件库.读文件(k2_0[o1]) k2_0[o1] = string.gsub(k2_0[o1], "%-%-" .. "%[(=*)%[" .. ".-" .. "%]%1%]", "") k2_0[o1] = string.gsub(k2_0[o1], "%-%-" .. "[^\n]*", "") end --~ 则数排 k3_0 = 历排库.历排(k2_0, d.局筛则数) --~ 各文件的卡编排 k4_0 = 历排库.历排(k2_0, d.局筛卡编) - --~ 卡片库 - _G.数据库 = 简数据库库.open(o1_0.数据库路) --~ 各文件的卡对排 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, " " .. ".+", "") for o1 = 1, #k1_0 do - print(字集库.a_to_u8(k1_0[o1]), k3_0[o1], k7_0[o1], k8_0[o1]) + 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] .. "_" .. k8_0[o1] .. "." .. "lua" + k1_0[o1] = o1_0.文件目 .. k1_0[o1] + print(k9_0[o1]) + --~ print(字集库.a_to_u8(k1_0[o1]), k3_0[o1], k7_0[o1], k8_0[o1]) end end d.目对 = { ["文件目"] = "../single/" - , ["数据库路"] = [[D:\install\YGOPro\cards.cdb]] + , ["卡档路"] = [[D:\install\YGOPro\cards.cdb]] } for o1, o2 in pairs(d.目对) do d.目对[o1] = 基类库.操类(o2, "string", 字集库.u8_to_a) end +卡档 = 档库.open(d.目对.卡档路) d.残局荐名(d.目对) DELETED 残局文料/游戏王_YGOPro_残局_卡_全筛_有效果卡.lua Index: 残局文料/游戏王_YGOPro_残局_卡_全筛_有效果卡.lua ================================================================== --- 残局文料/游戏王_YGOPro_残局_卡_全筛_有效果卡.lua +++ /dev/null @@ -1,35 +0,0 @@ -local 字集库 = require("u8_to_a") -local 位算库 = require(字集库.u8_to_a("算机_程语_月_基类_数_位算")) -local d = {} -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.筛有效果卡(o1_4) - for o1 = 1, #有效果卡的类排 do - if 位算库.位和(有效果卡的类排[o1], o1_4.type) == 0 then - else - return o1_4 - end - end - if 位算库.位和(TYPE_PENDULUM, o1_4.type) == 0 then - else - if 无效果灵摆怪兽排[o1_4.id] then - else - return o1_4 - end - end - end -return d ADDED 残局文料/游戏王_则拟器_原版_残局_卡_全筛_有效果卡.lua Index: 残局文料/游戏王_则拟器_原版_残局_卡_全筛_有效果卡.lua ================================================================== --- /dev/null +++ 残局文料/游戏王_则拟器_原版_残局_卡_全筛_有效果卡.lua @@ -0,0 +1,35 @@ +local 字集库 = require("u8_to_a") +local 位算库 = require(字集库.u8_to_a("算机_程语_月_基类_数_位算")) +local d = {} +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.筛有效果卡(o1_4) + for o1 = 1, #有效果卡的类排 do + if 位算库.位和(有效果卡的类排[o1], o1_4.type) == 0 then + else + return o1_4 + end + end + if 位算库.位和(TYPE_PENDULUM, o1_4.type) == 0 then + else + if 无效果灵摆怪兽排[o1_4.id] then + else + return o1_4 + end + end + end +return d