예제 #1
0
 /// <summary>
 /// speichert alle Durchgänge des übergebenen Legs in der DB
 /// </summary>
 /// <param name="l">Leg dessen Durchgänge gespeichert werden sollen</param>
 public static void SaveDurchgängeToDB(Leg l)
 {
     for (int y = 0; y < l.GetDurchgänge().Count; y++)
     {
         DBConnect.InsertDurchgang(l.GetDurchgänge().ElementAt(y), l);
         SaveWürfeToDB(l.GetDurchgänge().ElementAt(y));
     }
 }
예제 #2
0
        //Methode zum Zählen der Möglichkeiten zum Finish in einem Leg
        public static double GetMöglicheFinishLeg(Leg l)
        {
            int  summeWürfe = 0;
            int  mögliche   = 0;
            int  rest       = 501;
            bool finish     = false;

            for (int z = 0; z < l.GetDurchgänge().Count; z++)
            {
                //summeWürfe += l.GetDurchgänge().ElementAt(z).GetDurchgangWert();
                //rest = 501 - summeWürfe;
                //if (rest < 0 || rest == 1)
                //{
                //    summeWürfe -= l.GetDurchgänge().ElementAt(z).GetDurchgangWert();
                //    rest = 501 - summeWürfe;
                //    continue;
                //}
                //else
                //{
                //    summeWürfe -= l.GetDurchgänge().ElementAt(z).GetDurchgangWert();
                //    rest = 501 - summeWürfe;
                //}
                for (int y = 0; y < 3; y++)
                {
                    summeWürfe += l.GetDurchgänge().ElementAt(z).GetWürfe()[y].GetWurfGesamt();
                    rest        = 501 - summeWürfe;
                    if (rest < 0 || rest == 1)
                    {
                        summeWürfe -= l.GetDurchgänge().ElementAt(z).GetDurchgangWert();
                        rest        = 501 - summeWürfe;
                    }
                    else
                    {
                        if (rest == 0)
                        {
                            finish = true;
                            break;
                        }
                        if (rest == 50 || (rest <= 40 && (rest % 2) == 0))
                        {
                            //Console.WriteLine(z + "," + y);
                            //Dart.Confirm_Dialog();
                            mögliche++;
                        }
                    }
                }
                if (finish)
                {
                    break;
                }
            }
            //Console.WriteLine(mögliche);
            //Dart.Confirm_Dialog();
            return(mögliche);
        }
예제 #3
0
        public static double SummeLegDurchgängeNotFinish(Leg l)
        {
            int summe = 0;

            for (int i = 0; i < l.AnzahlDurchgänge(); i++)
            {
                if (!l.GetDurchgänge().ElementAt(i).IsFinishBereich())
                {
                    summe += l.GetDurchgänge().ElementAt(i).GetDurchgangWert();
                }
            }
            return(summe);
        }
예제 #4
0
        public static int[] GetTrefferquoteLeg(Leg l, int feldMulti, int finish, int wurfEigenschaft = 0)
        {
            int getroffen = 0;
            int versucht  = 0;

            for (int i = 0; i < l.GetDurchgänge().Count; i++)
            {
                if ((finish == 0) || (!l.GetDurchgänge()[i].IsFinishBereich() && finish == 1) || (l.GetDurchgänge()[i].IsFinishBereich() && finish == 2))
                {
                    getroffen += GetTrefferquoteDurchgang(l.GetDurchgänge()[i], feldMulti, wurfEigenschaft)[0];
                    versucht  += GetTrefferquoteDurchgang(l.GetDurchgänge()[i], feldMulti, wurfEigenschaft)[1];
                }
            }
            return(new int[] { getroffen, versucht });
        }
예제 #5
0
        public static double AnzahlLegDurchgängeNotFinish(Leg l)
        {
            int anzahl = 0;

            for (int i = 0; i < l.AnzahlDurchgänge(); i++)
            {
                if (!l.GetDurchgänge().ElementAt(i).IsFinishBereich())
                {
                    anzahl++;
                }
            }
            return(anzahl);
        }
예제 #6
0
        private String Show_Leg(Leg l)
        {
            String           s           = "";
            List <Durchgang> durchgaenge = l.GetDurchgänge();

            for (int i = 0; i < durchgaenge.Count; i++)
            {
                s += "\n\t\tDurchgang " + (i + 1);
                Wurf[] wuerfe = durchgaenge.ElementAt(i).GetWürfe();
                for (int j = 0; j < durchgaenge.ElementAt(i).GetAnzahlWürfe(); j++)
                {
                    s += "\n\t\t\t" + wuerfe[j].GetMulti() + "x" + wuerfe[j].GetWert();
                }
            }
            return(s);
        }