When you create a new Random()
without specifying a seed, it seeds it using the current system time.
I don't remember off the top of my head the precision it uses (ticks? milliseconds?) but if you create new Random
objects and use them in quick succession, they could easily have the same seed and thus return the same results.
Create one new Random()
, and call .Next(min, max)
on it repeatedly.