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()); } }
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); } } }
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); }