예제 #1
0
        public void PlayGame()
        {
            var pointOne     = 0;
            var pointTwo     = 0;
            var roundOne     = 0;
            var roundTwo     = 0;
            var firstPerson  = "";
            var secondPerson = "";
            var winner       = "";
            var personOne    = "";
            var personTwo    = "";

            List <Game> games = new List <Game>();

            Console.WriteLine("Namn på cupen: ");
            var nameOnCup = Console.ReadLine();

            var list = _game.GetGamesOnName(nameOnCup);

            foreach (var item in list)
            {
                if (item.Name.ToLower().Contains(nameOnCup.ToLower()))
                {
                    games.Add(item);
                }
            }

            var valueOfName = "";

            if (games.Count > 0)
            {
                foreach (var item in games)
                {
                    Console.WriteLine("MatchNumret: {0} Personer som möts: {1} vs {2}", item.GameNumber, item.PersonOne, item.PersonTwo);
                    valueOfName = item.ContestDesider;
                }

                Console.WriteLine("Ange MatchNumret");
                var matchId = int.Parse(Console.ReadLine());

                var allreadyExisting = _game.Existing(matchId); //returnerar 0

                try
                {
                    if (allreadyExisting == true) //Om matchen inte redan är tävlad på
                    {
                        foreach (var values in list)
                        {
                            if (values.GameNumber == matchId)
                            {
                                firstPerson  = values.PersonOne;
                                secondPerson = values.PersonTwo;
                            }
                        }

                        personOne = Regex.Replace(firstPerson, @"[\d-]", "");
                        personTwo = Regex.Replace(secondPerson, @"[\d-]", "");

                        for (int x = 0; x < 3; x++)
                        {
                            Console.WriteLine($"Match nummer: {x + 1}");
                            Console.WriteLine("******************");

                            for (int i = 0; i < 12; i++)
                            {
                                Console.WriteLine($"Lägg in poäng på rond nummer {i + 1} för person {personOne}");
                                var integerOne = int.Parse(Console.ReadLine());
                                pointOne += integerOne;

                                Console.WriteLine($"Lägg in poäng på rond nummer {i + 1} för person {personTwo}");
                                var integerTwo = int.Parse(Console.ReadLine());
                                pointTwo += integerTwo;

                                if (i == 12)
                                {
                                    if (valueOfName == "Högsta poäng per rond")
                                    {
                                        if (pointOne > pointTwo)
                                        {
                                            roundOne += 1; Console.WriteLine($"{personOne} har {roundOne} poäng");
                                        }

                                        else if (pointOne < pointTwo)
                                        {
                                            roundTwo += 1; Console.WriteLine($"{personTwo} har {roundTwo} poäng");
                                        }

                                        else if (pointOne == pointTwo)
                                        {
                                            roundOne += 0;
                                        }
                                        roundTwo += 0;
                                    }

                                    if (x == 3)
                                    {
                                        Console.WriteLine($"{personOne} har {roundOne} vunna ronder och {personTwo} har {roundTwo} vunna ronder.");
                                    }
                                }
                            }
                        }

                        if (pointOne != 0 && pointTwo != 0)
                        {
                            Console.WriteLine($"Är resultaten för spelare {personOne} korrekt? {pointOne}");
                            var yesOrNo = Console.ReadLine();

                            Console.WriteLine($"Är slutresultatet för spelare {personTwo} korrekt? {pointTwo}");
                            var yesOrNoTwo = Console.ReadLine();

                            if (yesOrNo.ToLower() == "ja" && yesOrNoTwo.ToLower() == "ja")
                            {
                                winner = _game.Calculator(roundOne, roundTwo, pointOne, pointTwo, firstPerson, secondPerson); //Utser vinnaren

                                var addScores = new Scores(matchId, winner, firstPerson, secondPerson);

                                var returned = _game.CreateScores(addScores);

                                Console.WriteLine(returned);
                            }

                            else
                            {
                                Console.WriteLine($"Sätt om TOTAL resultatet för spelare {personOne}: ");
                                pointOne = Convert.ToInt32(Console.ReadLine());

                                Console.WriteLine($"Sätt om TOTAL resultatet för spelare {personTwo}: ");
                                pointTwo = Convert.ToInt32(Console.ReadLine());

                                winner = _game.Calculator(roundOne, roundTwo, pointOne, pointTwo, firstPerson, secondPerson); //Utser vinnaren

                                var addScores = new Scores(matchId, winner, firstPerson, secondPerson);

                                var returned = _game.CreateScores(addScores);

                                Console.WriteLine(returned);
                            }
                        }

                        else
                        {
                            winner = _game.Calculator(roundOne, roundTwo, pointOne, pointTwo, firstPerson, secondPerson); //Utser vinnaren

                            var addScores = new Scores(matchId, winner, firstPerson, secondPerson);

                            var returned = _game.CreateScores(addScores);

                            Console.WriteLine(returned);
                        }
                    }

                    else
                    {
                        Console.WriteLine("Matchen är redan spelad");
                    }
                }

                catch (FormatException) //Fel format hantering
                {
                    Console.WriteLine("Du kan bara skriva in siffror..");
                }
            }
        }