Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
            }
        }