From 8b0f73bc418e340132ba99305baa5ea1605a2d11 Mon Sep 17 00:00:00 2001 From: Markus Mittendrein Date: Fri, 4 Jan 2019 23:56:55 +0100 Subject: Execute pushes in a random order instead of in network execution order --- TemplePushing.c4s/System.c4g/Helpers.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'TemplePushing.c4s/System.c4g/Helpers.c') diff --git a/TemplePushing.c4s/System.c4g/Helpers.c b/TemplePushing.c4s/System.c4g/Helpers.c index c89784e..0915376 100644 --- a/TemplePushing.c4s/System.c4g/Helpers.c +++ b/TemplePushing.c4s/System.c4g/Helpers.c @@ -34,3 +34,15 @@ global func Angle360(int angle) CleanAngle(angle); return angle; } + +// Fisher-Yates Shuffle +global func ShuffleArray(array& arr) +{ + for(var i = GetLength(arr); i > 0; --i) + { + var randomIndex = Random(i); + var tmp = arr[i - 1]; + arr[i - 1] = arr[randomIndex]; + arr[randomIndex] = tmp; + } +} \ No newline at end of file -- cgit v1.2.3-54-g00ecf