Added a table shuffler using Fisher Yeates algorithm in Utilities/Utils.lua

This commit is contained in:
Wingthor 2021-01-22 23:10:22 +01:00
parent 35b776179e
commit 5a43936e35

View File

@ -1500,4 +1500,24 @@ function UTILS.GetOSTime()
end
return nil
end
end
--- Shuffle a table accoring to Fisher Yeates algorithm
--@param #table table to be shuffled
--@return #table
function UTILS.ShuffleTable(t)
if t == nil or type(t) ~= "table" then
BASE:I("Error in ShuffleTable: Missing or wrong tyåe of Argument")
return
end
math.random()
math.random()
math.random()
local TempTable = {}
for i = 1, #t do
local r = math.random(1,#t)
TempTable[i] = t[r]
table.remove(t,r)
end
return TempTable
end