// wczytanie z bazy
        public static List <Zawody> Wczytaj()
        {
            List <Zawody>   listaZawodow = new List <Zawody>();
            MySqlConnection polaczenie   = Baza.Polaczenie();

            polaczenie.Open();

            try
            {
                string          maxID = "SELECT MAX(ID_Zawodow) FROM Zawody";
                MySqlCommand    cmd   = new MySqlCommand(maxID, polaczenie);
                MySqlDataReader dr    = cmd.ExecuteReader();
                dr.Read();
                int ilosc = Convert.ToInt32(dr[0]);
                dr.Close();

                int i = 1;
                while (i <= ilosc)
                {
                    string pobierz = "SELECT * FROM Zawody WHERE ID_Zawodow = " + i;
                    cmd.CommandText = pobierz;
                    dr = cmd.ExecuteReader();
                    dr.Read();
                    int      id         = Convert.ToInt32(dr[0]);
                    DateTime data       = Convert.ToDateTime(dr[1]);
                    int      id_skoczni = Convert.ToInt32(dr[2]);
                    dr.Close();

                    Zawody turniej = new Zawody(id, data, id_skoczni);
                    listaZawodow.Add(turniej);
                    i++;
                }
            }
            catch (Exception e)
            {
                MessageBox.Show("Błąd połączenia\n" + e.ToString());
            }
            finally
            {
                polaczenie.Close();
            }

            return(listaZawodow);
        }
        // zapis do bazy
        public void Zapisz(Zawody turniej)
        {
            MySqlConnection polacz = Baza.Polaczenie();

            polacz.Open();
            string       wstaw = String.Format("INSERT INTO Zawody VALUES({0},'{1}',{2})", turniej.id, turniej.data, turniej.id_skoczni);
            MySqlCommand cmd   = new MySqlCommand(wstaw, polacz);

            try
            {
                cmd.ExecuteNonQuery();
            }
            catch (Exception e)
            {
                MessageBox.Show("Błąd połączenia\n" + e.ToString());
            }
            finally
            {
                polacz.Close();
            }
        }
        // *** SYMULACJA ***
        // Rozpoczęcie SYMULACJI skoków
        private void bt_symulacja_start_Click(object sender, EventArgs e)
        {
            rtb_symulacja_rekordy.Clear();
            rtb_symulacja_skoki.Clear();
            List <Skoczkowie> listaSkoczkow = Skoczkowie.Wczytaj();
            List <Skocznie>   listaSkoczni  = Skocznie.Wczytaj();
            List <Zawody>     listaZawodow  = Zawody.Wczytaj();
            List <Skoki>      listaSkokow   = Skoki.Wczytaj();

            // symulacja na wszystkich skoczniach
            if (cb_symulacja_skocznie.Checked)
            {
                foreach (Skocznie skocznia in listaSkoczni)
                {
                    skocznia.PobitoRekord += skocznia_PobitoRekord;
                    Zawody turniej = new Zawody(listaZawodow.Count + 1, DateTime.Now, skocznia.id);
                    listaZawodow.Add(turniej);
                    if (cb_symulacja_zapis.Checked)
                    {
                        turniej.Zapisz(turniej);
                    }

                    foreach (Skoczkowie skoczek in listaSkoczkow)
                    {
                        Skoki skok = Symuluj(listaSkokow.Count + 1, skoczek, skocznia, turniej.id);
                        listaSkokow.Add(skok);
                        if (cb_symulacja_zapis.Checked)
                        {
                            skok.Zapisz(skok);
                            skoczek.ZapiszZdobytePunkty(skoczek);
                        }

                        if (!cb_symulacja_widok.Checked)
                        {
                            rtb_symulacja_skoki.Text += skok.ToString();
                        }
                    }
                }
            }
        }