示例#1
0
        public static double SummeFinishSpiel(Spiel sp, Spieler s)
        {
            double     summe = 0;
            List <Set> sets  = sp.GetSetsPlayer(s);

            for (int i = 0; i < sets.Count; i++)
            {
                summe += SummeFinishSet(sets.ElementAt(i));
            }
            return(summe);
        }
示例#2
0
        public static double AnzahlFinishSpiel(Spiel sp, Spieler s)
        {
            double     anzahl = 0;
            List <Set> sets   = sp.GetSetsPlayer(s);

            for (int i = 0; i < sets.Count; i++)
            {
                anzahl += AnzahlFinishSet(sets.ElementAt(i));
            }
            return(anzahl);
        }
示例#3
0
        public static double AnzahlSpielDurchgängeNotFinish(Spiel s, Spieler spieler)
        {
            double     anzahl = 0;
            List <Set> sets   = s.GetSetsPlayer(spieler);

            for (int i = 0; i < sets.Count(); i++)
            {
                anzahl += AnzahlSetDurchgängeNotFinish(sets.ElementAt(i));
            }
            return(anzahl);
        }
示例#4
0
        public static int[] GetTrefferquoteSpiel(Spiel s, Spieler sp, int feldMulti, int finish, int wurfEigenschaft = 0)
        {
            int getroffen = 0;
            int versucht  = 0;

            for (int i = 0; i < s.GetSetsPlayer(sp).Count; i++)
            {
                getroffen += GetTrefferquoteSet(s.GetSetsPlayer(sp)[i], feldMulti, finish, wurfEigenschaft)[0];
                versucht  += GetTrefferquoteSet(s.GetSetsPlayer(sp)[i], feldMulti, finish, wurfEigenschaft)[1];
            }
            return(new int[] { getroffen, versucht });
        }
示例#5
0
        public static int Highest_Finish_Spiel(Spiel s, Spieler spieler)
        {
            int        height = -1;
            List <Set> sets   = s.GetSetsPlayer(spieler);

            for (int i = 0; i < sets.Count; i++)
            {
                if (height < Highest_Finish_Set(sets.ElementAt(i)))
                {
                    height = Highest_Finish_Set(sets.ElementAt(i));
                }
            }
            return(height);
        }
示例#6
0
        /// <summary>
        /// holt alle Spiele aus der DB, erstellt diese als Objekte, inkl. aller Verküpfungen und Attributen und fügt diese zu einer List hinzu, welche dann übergeben wird
        /// </summary>
        /// <returns>List mit allen komplett erstellten SpielObjekten aus der DB</returns>
        public static List <Spiel> GetSpieleFromDB()
        {
            List <Spiel> spiele = new List <Spiel>();

            List <string>[] list = DBConnect.SelectSpiele();
            for (int y = 0; y < list[0].Count; y++)
            {
                Spiel s = new Spiel(int.Parse(list[0].ElementAt(y)), TimeOfStringTime(list[1].ElementAt(y)), int.Parse(list[2].ElementAt(y)), int.Parse(list[3].ElementAt(y)), int.Parse(list[4].ElementAt(y)));
                s.SetSpieler(GetSpielerInSpielFromDB(s.GetId()));
                s.SetSetsGewonnen(GetSetsGewonnenFromDB(s.GetId()));
                s.SetSets(GetSetsOfSpiel(s.GetId()));

                spiele.Add(s);
            }
            return(spiele);
        }
示例#7
0
 /// <summary>
 /// speichert übergebenes Spiel in der DB
 /// </summary>
 /// <param name="s">Spiel das gespeichert werden soll</param>
 public static void SaveSpielToDB(Spiel s)
 {
     try
     {
         DBConnect.InsertSpiel(s);
         for (int z = 0; z < s.GetSpieler().Count; z++)
         {
             DBConnect.InsertSpieltMit(s, s.GetSpieler().ElementAt(z).Value, s.GetSetsGewonnen()[z]);
         }
         SaveSetsToDB(s);
     }
     catch (Exception e)
     {
         Console.WriteLine(e.Message);
         Console.ReadKey();
     }
 }
示例#8
0
 private static void ShowSpiel(Spiel sp, Spieler s)
 {
     Console.Clear();
     try
     {
         Console.WriteLine("Spiel vom: " + sp.GetDatum().ToString("g"));
         Dart.WriteChar('~', 30);
         Console.WriteLine("Gesamt - Avg: " + RoundDouble(AvgD_Spiel_NotFinish(sp, s), 2) + " -> W: " + RoundDouble(AvgW_Spiel_NotFinish(sp, s), 2) + "| D: " + RoundDouble(100 * GetDoubleFinishQuoteSpielSpieler(sp, s), 2) + "%");
         List <Set> sets = sp.GetSetsPlayer(s);
         for (int set = 0; set < sets.Count(); set++)
         {
             Dart.WriteChar(' ', 2, false);
             Console.WriteLine("Set " + (set + 1) + " - Avg: " + RoundDouble(AvgD_Set_NotFinish(sets.ElementAt(set)), 2) + " -> W: " + RoundDouble(AvgW_Set_NotFinish(sets.ElementAt(set)), 2) + "| D: " + RoundDouble(100 * GetDoubleFinishQuoteSet(sets.ElementAt(set)), 2) + "%");
             List <Leg> legs = sets.ElementAt(set).GetLegs();
             for (int leg = 0; leg < legs.Count(); leg++)
             {
                 Dart.WriteChar(' ', 4, false);
                 Console.WriteLine("Leg " + (leg + 1) + " - Avg: " + RoundDouble(AvgD_Leg_NotFinish(legs.ElementAt(leg)), 2) + " -> W: " + RoundDouble(AvgW_Leg_NotFinish(legs.ElementAt(leg)), 2) + "| D: " + RoundDouble(100 * GetDoubleFinishQuoteLeg(legs.ElementAt(leg)), 2) + "%");
                 List <Durchgang> durchgänge = legs.ElementAt(leg).GetDurchgänge();
                 for (int ds = 0; ds < durchgänge.Count(); ds++)
                 {
                     Dart.WriteChar(' ', 6, false);
                     Console.WriteLine("Aufnahme " + (ds + 1));
                     Wurf[] würfe = durchgänge.ElementAt(ds).GetWürfe();
                     for (int w = 0; w < durchgänge.ElementAt(ds).GetAnzahlWürfe(); w++)
                     {
                         Dart.WriteChar(' ', 8, false);
                         Console.WriteLine("Wurf " + (w + 1) + ": " + würfe[w].GetMulti() + "x" + würfe[w].GetWert());
                     }
                 }
                 Dart.WriteChar(' ', 4, false);
                 Console.WriteLine("Finish: " + legs.ElementAt(leg).GetFinish());
             }
             Dart.WriteChar(' ', 2, false);
             Console.WriteLine("Highest Finish: " + Highest_Finish_Set(sets.ElementAt(set)));
             Dart.WriteChar(' ', 2, false);
             Console.WriteLine("Avg Finish: " + RoundDouble(Average_Finish_Set(sets.ElementAt(set)), 2));
         }
     }
     catch (Exception e)
     {
         Console.WriteLine(e.Message);
         Dart.Confirm_Dialog();
     }
 }
示例#9
0
        private void cB_spielAuswahl_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cB_spielAuswahl.SelectedIndex == -1)
            {
                return;
            }
            spiel = Dart.SearchSpielePlayedBy(Program.spieler).ElementAt((Dart.SearchSpielePlayedBy(Program.spieler).Count - 1) - cB_spielAuswahl.SelectedIndex);
            cB_setAuswahl.Visible       = true;
            cB_setAuswahl.SelectedIndex = -1;
            cB_setAuswahl.Text          = "Set auswählen";
            cB_setAuswahl.Items.Clear();
            sets = spiel.GetSetsPlayer(Program.spieler);
            cB_setAuswahl.Items.Add("Alle");

            for (int i = 1; i <= sets.Count; i++)
            {
                cB_setAuswahl.Items.Add("Set " + i);
            }
            cB_legAuswahl.Visible = false;
        }
示例#10
0
        public static void InsertSet(Set set, Spiel spiel)
        {
            string query = "INSERT INTO `set` (`id_set`, `id_spiel`, `setNummer`, `legsGewonnen`, `id_spieler`) VALUES ('" + set.GetId() + "', '" + spiel.GetId() + "', '" + set.GetSetNummer() + "', '" + set.GetLegsGewonnen() + "', '" + set.GetSpieler().GetId() + "');";

            //open connection
            if (OpenConnection() == true)
            {
                try
                {
                    //create command and assign the query and connection from the constructor
                    MySqlCommand cmd = new MySqlCommand(query, connection);

                    //Execute command
                    cmd.ExecuteNonQuery();
                }
                catch (Exception e)
                {
                    Console.WriteLine("Set: " + e.Message);
                    Console.ReadLine();
                }
                //close connection
                CloseConnection();
            }
        }
示例#11
0
        public static void InsertSpieltMit(Spiel s, Spieler sp, int setsGewonnen)
        {
            string query = "INSERT INTO spieltMit (`id_user`, `id_spiel`, `setsGewonnen`) VALUES ('" + sp.GetId() + "', '" + s.GetId() + "', '" + setsGewonnen + "')";

            //open connection
            if (OpenConnection() == true)
            {
                try
                {
                    //create command and assign the query and connection from the constructor
                    MySqlCommand cmd = new MySqlCommand(query, connection);

                    //Execute command
                    cmd.ExecuteNonQuery();
                }
                catch (Exception e)
                {
                    //Console.WriteLine(e.Message);
                    //Console.ReadLine();
                }
                //close connection
                CloseConnection();
            }
        }
示例#12
0
 public static int Highest_Finish_Spiel(Spiel s, String spieler)
 {
     return(Highest_Finish_Spiel(s, Dart.GetSpieler(spieler)));
 }
示例#13
0
 public static double SummeFinishSpiel(Spiel sp, String s)
 {
     return(SummeFinishSpiel(sp, Dart.GetSpieler(s)));
 }
示例#14
0
 public static double Average_Finish_Spiel(Spiel sp, String s)
 {
     return(Average_Finish_Spiel(sp, Dart.GetSpieler(s)));
 }
示例#15
0
 public static double GetDoubleFinishQuoteSpielSpieler(Spiel s, Spieler sp)
 {
     return(GetAnzahlGewonnenLegsSpielSpieler(s, sp) / GetMöglicheFinishSpielSpieler(s, sp));
 }
示例#16
0
 public static void AddSpiel(Spiel s)
 {
     spiele.Add(s);
     SaveSpielToDB(s);
 }
示例#17
0
 public static double AnzahlFinishSpiel(Spiel sp, String s)
 {
     return(AnzahlFinishSpiel(sp, Dart.GetSpieler(s)));
 }
示例#18
0
 public static double GetDoubleFinishQuoteSpielAll(Spiel s)
 {
     return(GetAnzahlGewonnenLegsSpielAll(s) / GetMöglicheFinishSpielAll(s));
 }
示例#19
0
 public static double AvgD_Spiel_NotFinish(Spiel s, Spieler spieler)
 {
     return(SummeSpielDurchgängeNotFinish(s, spieler) / AnzahlSpielDurchgängeNotFinish(s, spieler));
 }
示例#20
0
 public static double SummeSpielDurchgängeNotFinish(Spiel s, String name)
 {
     return(SummeSpielDurchgängeNotFinish(s, Dart.GetSpieler(name)));
 }
示例#21
0
 public static double AvgD_Spiel_NotFinish(Spiel s, String name)
 {
     return(SummeSpielDurchgängeNotFinish(s, name) / AnzahlSpielDurchgängeNotFinish(s, name));
 }
示例#22
0
 public static double AvgW_Spiel_NotFinish(Spiel s, Spieler spieler)
 {
     return(AvgD_Spiel_NotFinish(s, spieler) / 3);
 }
示例#23
0
 public static double AvgW_Spiel_NotFinish(Spiel s, String name)
 {
     return(AvgD_Spiel_NotFinish(s, name) / 3);
 }