/// <summary>Возвращает результат проверки совпадения зачёта с другой командой</summary>
 /// <param name="k">Проверяемая команда</param>
 /// <returns>true, если резульаты совпадают</returns>
 public bool SameResult(Kommando k)
 {
     return
         (Points == k.Points &&
          GoalsOut - GoalsIn == k.GoalsOut - k.GoalsIn &&
          GoalsOut == k.GoalsOut
         );
 }
示例#2
0
 static void Main()
 {
     while (true)
     {
         Console.Write("Den första militärens kommando? ");
         String s = Console.ReadLine();
         if (s == null)
         {
             break;
         }
         Kommando k1 = (Kommando)Enum.Parse(typeof(Kommando), s, true);
         Console.Write("Den andra militärens kommando? ");
         s = Console.ReadLine();
         if (s == null)
         {
             break;
         }
         Kommando k2 = (Kommando)Enum.Parse(typeof(Kommando), s, true);
         if (k1 == k2)
         {
             Console.WriteLine(k1);
         }
         else
         {
             Console.Write("Den första militärens grad? ");
             s = Console.ReadLine();
             if (s == null)
             {
                 break;
             }
             Grad g1 = (Grad)Enum.Parse(typeof(Grad), s, true);
             Console.Write("Den andra militärens grad? ");
             s = Console.ReadLine();
             if (s == null)
             {
                 break;
             }
             Grad g2 = (Grad)Enum.Parse(typeof(Grad), s, true);
             if (g1 > g2)
             {
                 Console.WriteLine(k1);
             }
             else if (g2 > g1)
             {
                 Console.WriteLine(k2);
             }
             else
             {
                 Console.WriteLine("Konflikt");
             }
         }
     }
 }
示例#3
0
        public static string BundesLigaTable(string[] results)
        {
            if (results is null)
            {
                throw new ArgumentNullException(nameof(results));
            }

            var kList = new List <Kommando>();

            foreach (var item in results)
            {
                var score    = item.Split(new char[] { ' ' }).First();
                var goals    = score.Split(':');
                var kommands = item.Remove(0, score.Length + 1)
                               .Split(new string[] { " - " }, StringSplitOptions.RemoveEmptyEntries);
                var k0 = new Kommando(kommands[0], goals[0], goals[1]);
                var k1 = new Kommando(kommands[1], goals[1], goals[0]);
                k0.AddToList(kList);
                k1.AddToList(kList);
            }
            kList = kList
                    .OrderByDescending(k => k.Points)
                    .ThenByDescending(k => k.GoalsOut - k.GoalsIn)
                    .ThenByDescending(k => k.GoalsOut)
                    .ThenBy(k => k.Name.ToLower(KataBase.Invariant))
                    .ToList();
            var komResults = new List <string>();

            for (int i = 0, number = 1; i < kList.Count; i++)
            {
                Kommando k   = kList[i];
                Kommando kPr = (i - 1 >= 0) ? kList[i - 1] : k;
                if (!k.SameResult(kPr))
                {
                    number = i + 1;
                }

                var komStr = string.Join("  ",
                                         number.ToString(CodeWars.KataBase.Invariant).PadLeft(2) + ".",
                                         k.Name.PadRight(30) + k.MatchCount.ToString(CodeWars.KataBase.Invariant),
                                         k.Wins.ToString(CodeWars.KataBase.Invariant),
                                         k.Ties.ToString(CodeWars.KataBase.Invariant),
                                         k.Loses.ToString(CodeWars.KataBase.Invariant),
                                         k.GoalsOut.ToString(CodeWars.KataBase.Invariant) + ":" + k.GoalsIn.ToString(CodeWars.KataBase.Invariant),
                                         k.Points
                                         );
                komResults.Add(komStr);
            }
            return(string.Join("\n", komResults).Replace(".  ", ". "));
        }
            /// <summary>
            /// Если команда не найдена в спискае, — добавляет её в список.
            /// Если найдена — складывает результаты этой команды.
            /// </summary>
            /// <param name="lst">Список команд</param>
            public void AddToList(List <Kommando> lst)
            {
                Kommando fc0 = lst.Find(e => e.Name == Name);

                if (fc0 == null)
                {
                    lst.Add(this);
                }
                else
                {
                    fc0.GoalsIn    += GoalsIn;
                    fc0.GoalsOut   += GoalsOut;
                    fc0.Loses      += Loses;
                    fc0.MatchCount += MatchCount;
                    fc0.Ties       += Ties;
                    fc0.Wins       += Wins;
                }
            }
        public Operation OperationFuer(string kommando)
        {
            var befehle = new AlleBefehle().Befehle();

            string badString   = ""; //possible error due to encoding issues
            string subkommando = kommando.Replace(badString, "");

            foreach (Befehl b in befehle)
            {
                foreach (string Kommando in b.Kommandos)
                {
                    if (Kommando.Equals(subkommando))
                    {
                        return(b.Operation);
                    }
                }
            }

            return(new UnbekannteOperation());
        }