回合制模式使用玩家sid处理回合顺序

本地玩家也有sid了(跟id相同)
This commit is contained in:
MrZ626
2021-09-26 11:37:49 +08:00
parent 2279eb8e31
commit 653debbbc2
3 changed files with 23 additions and 13 deletions

View File

@@ -2,12 +2,17 @@ return{
dropPiece=function(P)
if #PLY_ALIVE>1 then
P.control=false
local ID=P.id
repeat
ID=ID+1
if not PLAYERS[ID]then ID=1 end
until PLAYERS[ID].alive or ID==P.id
PLAYERS[ID].control=true
local id1=P.sid
local minMaxID,minID=1e99,1e99
for i=1,#PLY_ALIVE do
local id2=PLY_ALIVE[i].sid
if id2>id1 then
minMaxID=math.min(minMaxID,id2)
else
minID=math.min(minID,id2)
end
end
PLY_ALIVE[minMaxID==1e99 and minID or minMaxID].control=true
end
end
}

View File

@@ -2,12 +2,17 @@ return{
dropPiece=function(P)
if P.stat.piece%7==0 and #PLY_ALIVE>1 then
P.control=false
local ID=P.id
repeat
ID=ID+1
if not PLAYERS[ID]then ID=1 end
until PLAYERS[ID].alive or ID==P.id
PLAYERS[ID].control=true
local id1=P.sid
local minMaxID,minID=1e99,1e99
for i=1,#PLY_ALIVE do
local id2=PLY_ALIVE[i].sid
if id2>id1 then
minMaxID=math.min(minMaxID,id2)
else
minID=math.min(minID,id2)
end
end
PLY_ALIVE[minMaxID==1e99 and minID or minMaxID].control=true
end
end
}