修正rnd出块算法的一点问题

This commit is contained in:
MrZ626
2021-05-13 00:15:28 +08:00
parent bd4c7880e9
commit 64122b61fc

View File

@@ -125,20 +125,21 @@ local seqGenerators={
end end
end, end,
rnd=function(P,seq0) rnd=function(P,seq0)
P:getNext(seq0[P:RND(#seq0)]) if #seq0==1 then
while true do local i=seq0[1]
while #P.nextQueue<6 do while true do P:getNext(i) yield() end
local len=#seq0 else
for i=1,4 do local len=#seq0
local count=0 local last=0
repeat while true do
i=seq0[P:RND(len)] while #P.nextQueue<6 do
count=count+1 local r=P:RND(len-1)
until i~=P.nextQueue[#P.nextQueue].id or count>=len if r>=last then r=r+1 end
P:getNext(i) P:getNext(seq0[r])
last=r
end end
yield()
end end
yield()
end end
end, end,
mess=function(P,seq0) mess=function(P,seq0)