private void OKbutton_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                int points = int.Parse(numberOfPointsComboBox.Text);

                int  number = 0;
                bool end    = false;
                if (tillEndCheckbox.IsChecked ?? true)
                {
                    end = true;
                }
                else
                {
                    number = int.Parse(numberOfPatternsTextbox.Text);
                }

                int spacing  = (int)spacingSlider.Value;
                int rotation = (int)rotationSlider.Value;
                int shift    = (int)shiftSlider.Value;

                bool randomize = randomizeNoteOrderCheckbox.IsChecked ?? true;

                pattern = new ConfiguredPolygons(points, number, spacing, rotation, shift, randomize, end);

                DialogResult = true;
                Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
Exemple #2
0
        private void randomConfigButton_Click(object sender, RoutedEventArgs e)
        {
            ChooseLevelDialogue chooseLevelDialogue = new ChooseLevelDialogue();

            if (chooseLevelDialogue.ShowDialog() ?? true)
            {
                int  level = chooseLevelDialogue.level;
                int  count = chooseLevelDialogue.count;
                int  phase = chooseLevelDialogue.phase;
                bool toEnd = chooseLevelDialogue.toEndCheckBox.IsChecked ?? true;

                for (int i = 0; i < count; ++i)
                {
                    for (int j = 0; j < phase; ++j)
                    {
                        int patternType           = Utils.rng.Next(4);
                        ConfiguredPattern pattern = null;
                        switch (patternType)
                        {
                        case 0: pattern = ConfiguredDoubleJumps.randomPattern(level); break;

                        case 1: pattern = ConfiguredPolygons.randomPattern(level); break;

                        case 2: pattern = ConfiguredRandomJumps.randomPattern(level); break;

                        case 3: pattern = ConfiguredStreams.randomPattern(level); break;

                        default: pattern = ConfiguredPolygons.randomPattern(level); break;
                        }
                        Patterns.Add(pattern);

                        if (i == count - 1 && j == phase - 1 && toEnd)
                        {
                            pattern.end = true;
                        }
                    }

                    ConfiguredBreak breakP = ConfiguredBreak.randomPattern(level);
                    Patterns.Add(breakP);
                }
            }
        }
Exemple #3
0
        public static ConfiguredPolygons randomPattern(int level)
        {
            int points;

            if (level <= 2)
            {
                points = Utils.rng.Next(3, 6);
            }
            else
            {
                points = Utils.rng.Next(3, 8);
            }

            int  number    = Utils.rng.Next(5, 10) * level;
            int  spacing   = (level - 1) * 60 + Utils.rng.Next(10, 60);
            int  rotation  = Utils.rng.Next(5, 60);
            int  shift     = Utils.rng.Next(5, 13) * level;
            bool randomize = Utils.rng.Next(1, 5) <= level;

            ConfiguredPolygons p = new ConfiguredPolygons(points, number, spacing, rotation, shift, randomize, false);

            return(p);
        }