Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2016
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.15 KB | None | 0 0
  1. var finalSecret = serverSeed + clientSeed;
  2.  
  3.                 var bytes = GetSha256Bytes(finalSecret);
  4.  
  5.                 var hash = StringHelpers.ByteToString(bytes);
  6.                 var mersenneTwisterSeed = Convert.ToUInt32(hash.Substring(hash.Length - 8, 8), 16);
  7.  
  8.                 var mersenneTwister = new MersenneTwister(mersenneTwisterSeed);
  9.  
  10.                 _finalShuffle = InitialShuffle.Shuffle(mersenneTwister).ToList();
  11.  
  12. /////////////////
  13. public static class Shuffler
  14.     {
  15.         public static IEnumerable<T> Shuffle<T>(this IEnumerable<T> source, Random randomNumberGenerator)
  16.         {
  17.             var elements = source.ToArray();
  18.             for (var i = elements.Length - 1; i >= 0; i--)
  19.             {
  20.                 // Swap element "i" with a random earlier element it (or itself)
  21.                 // ... except we don't really need to swap it fully, as we can
  22.                 // return it immediately, and afterwards it's irrelevant.
  23.                 var swapIndex = randomNumberGenerator.Next(i + 1);
  24.                 yield return elements[swapIndex];
  25.                 elements[swapIndex] = elements[i];
  26.             }
  27.         }
  28.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement