private void aktualizujFigury() { if (LiczbaFigur == 0) { figury.RemoveRange(0, figury.Count); } else { Random rand = new Random(); int ilePunktów = 0; int r = rand.Next(zakresOdległości.Item1, zakresOdległości.Item2); bool typWypełnienia; int różnica = LiczbaFigur - figury.Count; for (int i = 0; i < różnica; i++) { int x = rand.Next(0 + r, panelGłówny.Width - r); int y = rand.Next(0 + r, panelGłówny.Height - r); typWypełnienia = określTrybWypełniania(); switch (obecnaFigura) { case 1: Koło koło = new Koło( new Point( x, y), r, rand.Next(0, 255), rand.Next(0, 255), rand.Next(0, 255), typWypełnienia ); figury.Add(koło); continue; case 2: ilePunktów = 3; break; case 3: ilePunktów = 4; break; } Point[] punkty = new Point[ilePunktów]; for (int j = 0; j < punkty.Length; j++) { punkty[j] = new Point( rand.Next(x - r, x + r), rand.Next(y - r, y + r)); } Wielokąt wielokąt = new Wielokąt( punkty, rand.Next(0, 255), rand.Next(0, 255), rand.Next(0, 255), typWypełnienia ); figury.Add(wielokąt); } } }
static public void Menu(Figura f) { bool koniec = false; do { Instrukcja(); f = null; do { switch (Console.ReadKey().Key) { case ConsoleKey.D1: f = new Prostokąt(); break; case ConsoleKey.D2: f = new Kwadrat(); break; case ConsoleKey.D3: f = new Koło(); break; case ConsoleKey.D4: f = new Trójkąt(); break; case ConsoleKey.K: koniec = true; return; } } while (f == null); Wyswietl(f); } while (koniec == false); }