The problem with the code is, when I try to generate a number, if the spin is equal 1 it generates values inside range (1,2,3) if if try to use the loop to sum random values
One trick is to manually create the seed by adding DateTime.Now.Ticks to the variable i:
DateTime.Now.Ticks
i
Random r = new Random((int)DateTime.Now.Ticks + i);