private void parseseed(uint seed, int frame1, int frame2) { var frame = new Frame_Seed() { Seed = seed, Frame1 = frame1, Frame2 = frame2 }; var rng = new MersenneTwister_Fast(seed); rng.Next(PreAdvance + 7 + frame1); frame.nature1 = (byte)((rng.Nextuint() * 25ul) >> 32); rng.Next(frame2 - frame1 - 1); frame.nature2 = (byte)((rng.Nextuint() * 25ul) >> 32); lock (_locker) { seedlist.Add(frame); UpdateTable(null); } }
private void parseseed2(uint seed, int frame) { var NewFrame = new Frame_Seed() { Seed = seed, Frame1 = frame, }; var rng = new MersenneTwister_Fast(seed); rng.Next(PreAdvance + 7 + frame); NewFrame.nature1 = (byte)((rng.Nextuint() * 25ul) >> 32); if (Nature != NewFrame.nature1) { return; } NewFrame.gender = (byte)((rng.Nextuint() * 252ul) >> 32); lock (_locker) { seedlist.Add(NewFrame); seedlist = seedlist.OrderBy(t => t.Seed).ToList(); UpdateTable(null); } }