-
-
Save themartorana/c744a9cc0fdcd02521e0 to your computer and use it in GitHub Desktop.
Flyclops Domino! Bone Randomization Code
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// for Unity (C#) | |
public static void Shuffle<T>(this List<T> list) | |
{ | |
System.Random rnd = new System.Random(); | |
int n = list.Count; | |
while (n > 1) { | |
n--; | |
int k = rnd.Next(n + 1); | |
T obj = list[k]; | |
list[k] = list[n]; | |
list[n] = obj; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hey Dave. We've exchanged emails before, and I think I've told you that your code is solid above. However, the biggest issue that Domino! has is that Microsoft Unity's randomization function is pretty bad. In fact, it's horrible. And that shows in the hands that you receive. I know it's hard to simulate physical, real, table dominoes. In a real game, you just can't have two players receive hands with 6 of the same domino. In 20+ years of playing, I've never seen that. But it happens with Domino!. I'm in a team tournament right now, and one of my players received 6 of the same bone. He was unsurprisingly happy. However, his opponent did also. Unreal. Highly improbable (in real life).
As the admin of the fastest growing Flyclops Domino community on Facebook, I see the jokes and frustration all the time. I experience it. I think we all know that Microsoft (and PHP/Linux) use PRNGs and not TRNGs. The art of selecting a domino on a table would be comparable to a TRNG action. Has there been an effort to move away from Microsoft's System.Random() to a TRNG-type system?
Still and always will be a huge fan of Domino! and my community is almost at 2000 strong.
Thanks,
Owen