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

            polaczenie.Open();

            try
            {
                string          maxID = "SELECT MAX(ID_Skoku) FROM Skoki";
                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 Skoki WHERE ID_Skoku = " + i;
                    cmd.CommandText = pobierz;
                    dr = cmd.ExecuteReader();
                    dr.Read();
                    int id         = Convert.ToInt32(dr[0]);
                    int odleglosc  = Convert.ToInt32(dr[1]);
                    int punkty     = Convert.ToInt32(dr[2]);
                    int id_skoczka = Convert.ToInt32(dr[3]);
                    int id_zawodow = Convert.ToInt32(dr[4]);
                    dr.Close();

                    Skoki skok = new Skoki(id, odleglosc, punkty, id_skoczka, id_zawodow);
                    listaSkokow.Add(skok);
                    i++;
                }
            }
            catch (Exception e)
            {
                MessageBox.Show("Błąd połączenia\n" + e.ToString());
            }
            finally
            {
                polaczenie.Close();
            }

            return(listaSkokow);
        }
        // *** 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();
                        }
                    }
                }
            }
        }
        // zapis do bazy
        public void Zapisz(Skoki skok)
        {
            MySqlConnection polacz = Baza.Polaczenie();
            string          wstaw  = String.Format("INSERT INTO Skoki VALUES(null, {0}, {1}, {2}, {3})"
                                                   , Convert.ToDouble(skok.odleglosc), skok.punkty, skok.id_skoczka, skok.id_zawodow);

            polacz.Open();
            MySqlCommand cmd = new MySqlCommand(wstaw, polacz);

            try
            {
                cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                polacz.Close();
            }
        }