我正在开发基于回合的游戏,并且具有以下结构的玩家表
players = {
["p1"] = Player(),
["p2"] = Player(),
...
["pn"] = Player()
}
我想做的是遍历表中的每个玩家(在每个玩家玩完回合之后,回到第一个索引(在这种情况下为“ p1”)]
因此我在运行代码时应执行以下操作
function shift()
-- do stuff to shift the player's turn
print(player.name)
end
shift() -- "p1"
shift() -- "p2"
...
shift() -- "pn"
shift() -- "p1"
-- and so on
local index
function shift()
if not index then index = next(players) end
print(players[index].name)
index = next(players, next)
end
如果我正确理解了这个问题,那应该做你想做的事;)