Beispiel #1
0
        private void Search6_Horde()
        {
            var rng = new MersenneTwister(Seed.Value);
            int min = (int)Frame_min.Value;
            int max = (int)Frame_max.Value;

            if (AroundTarget.Checked)
            {
                min = (int)TargetFrame.Value - 100; max = (int)TargetFrame.Value + 100;
            }
            // Advance
            for (int i = 0; i < min; i++)
            {
                rng.Next();
            }
            // Prepare
            if (FullInfoHorde)
            {
                RNGPool.horde             = new Horde(TTT.Gen6Tiny, (int)TTT.Parameter1.Value, IsORAS);
                SlotSpecies.SelectedValue = slotspecies[RNGPool.horde.Slot - 1];
            }
            if (SlotSpecies.SelectedIndex > 0)
            {
                var Hordespecies = (ea as HordeArea).getSpecies(Ver, (byte)SlotSpecies.SelectedIndex);
                L_HordeInfo.Text = "Species: " + string.Join(" \t", Hordespecies.Select(t => StringItem.speciestr[t])) + Environment.NewLine;
            }
            L_HordeInfo.Text += RNGPool.horde?.ToString() ?? string.Empty;
            getsetting(rng);
            // Start
            for (int i = min; i <= max; i++, RNGPool.AddNext(rng))
            {
                var results = RNGPool.GenerateHorde6();
                foreach (var result in results)
                {
                    if (!filter.CheckResult(result))
                    {
                        continue;
                    }
                    Frames.Add(new Frame(result, frame: i, time: i - min));
                }
                if (Frames.Count > MAX_RESULTS_NUM)
                {
                    break;
                }
            }
        }