Esempio n. 1
0
        public void PlayGame(Tenniser opponent)
        {
            int player1Statistic = Reaction + Power + RacketControl + Physics.stamina + Physics.speed;
            int player2Statistic = opponent.Reaction + opponent.Power + opponent.RacketControl + opponent.Physics.stamina + opponent.Physics.speed;
            int compare          = player1Statistic - player2Statistic;

            if (compare > 40)
            {
                Print?.Invoke($"{Surname} {Name} выиграл");
            }
            else if (compare < -40)
            {
                Print?.Invoke($"{opponent.Surname} {opponent.Name} выиграл");
            }
            else
            {
                Random rnd    = new Random();
                int    result = rnd.Next(0, 2);
                if (result == 0)
                {
                    Print?.Invoke($"{Surname} {Name} выиграл в равной игре");
                }
                else
                {
                    Console.WriteLine($"{opponent.Surname} {opponent.Name} выиграл в равной игре");
                }
            }
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            string          name, surname;
            int             age;
            string          sex;
            string          nationality;
            int             weight, height;
            int             stamina, speed;
            int             choose;
            int             n, m, switcher = 1;
            List <Athlete>  chel     = new List <Athlete>();
            AthleteComparer comparer = new AthleteComparer();

            Athlete.ChangeFullNameEvent += delegate()
            {
                Console.WriteLine("\nИмя изменено");
                Console.WriteLine("Фамилия изменена");
                Console.WriteLine("Как будто другой человек...");
            };
            Athlete.ChangeSurnameEvent += () => Console.WriteLine("\nФамилия изменена");
            while (true)
            {
                n = Athlete.amount;
                if (switcher == 1)
                {
                    Console.WriteLine("Введите имя");
                    name = Console.ReadLine();
                    Console.Clear();
                    Console.WriteLine("Введите фамилию");
                    surname = Console.ReadLine();
                    Console.Clear();
                    Console.WriteLine("Введите возраст");
                    age = InputChecker();
                    Console.Clear();
                    Console.WriteLine("Введите пол 1/2 (муж/жен)");
                    sex = Convert.ToString(InputChecker());
                    Console.Clear();
                    Console.WriteLine("Введите национальность");
                    Console.WriteLine("1. BY\n2. RU\n3. US\n4. UA\n5. DE\n6. GB\n7. PL\n8. ES\n9. TR\n10. Прочие");
                    nationality = Convert.ToString(InputChecker());
                    Console.Clear();
                    Console.WriteLine("Введите вес");
                    weight = InputChecker();
                    Console.Clear();
                    Console.WriteLine("Введите рост");
                    height = InputChecker();
                    Console.Clear();
                    Console.WriteLine("Выберите вид спорта:\n1. Футболист\n2. Теннисист\n3. Биатлонист");
                    choose = InputChecker(3);
                    switch (choose)
                    {
                    case 1:
                        Console.Clear();
                        Console.WriteLine("Введите выносливость (от 1 до 100)");
                        stamina = InputChecker(100);
                        Console.Clear();
                        Console.WriteLine("Введите скорость (от 1 до 100)");
                        speed = InputChecker(100);
                        Console.Clear();
                        Console.WriteLine("Введите умение удара (от 1 до 100)");
                        int shoot = InputChecker(100);
                        Console.Clear();
                        Console.WriteLine("Введите умение в пас (от 1 до 100)");
                        int pass = InputChecker(100);
                        Console.Clear();
                        Console.WriteLine("Введите владение мячом (от 1 до 100)");
                        int dribling = InputChecker(100);
                        Console.Clear();
                        Console.WriteLine("Введите умение в защите (от 1 до 100)");
                        int defence = InputChecker(100);
                        Console.Clear();
                        chel.Add(new Footballer(name, surname, age, sex, nationality, weight, height, stamina, speed, shoot, pass, dribling, defence));
                        break;

                    case 2:
                        Console.Clear();
                        Console.WriteLine("Введите выносливость (от 1 до 100)");
                        stamina = InputChecker(100);
                        Console.Clear();
                        Console.WriteLine("Введите скорость (от 1 до 100)");
                        speed = InputChecker(100);
                        Console.Clear();
                        Console.WriteLine("Введите силу удара (от 1 до 100)");
                        int power = InputChecker(100);
                        Console.Clear();
                        Console.WriteLine("Введите владение ракеткой (от 1 до 100)");
                        int racket = InputChecker(100);
                        Console.Clear();
                        Console.WriteLine("Введите скорость реакции (от 1 до 100)");
                        int reaction = InputChecker(100);
                        Console.Clear();
                        chel.Add(new Tenniser(name, surname, age, sex, nationality, weight, height, stamina, speed, reaction, racket, power));
                        break;

                    default:
                        Console.Clear();
                        Console.WriteLine("Введите выносливость (от 1 до 100)");
                        stamina = InputChecker(100);
                        Console.Clear();
                        Console.WriteLine("Введите скорость (от 1 до 100)");
                        speed = InputChecker(100);
                        Console.Clear();
                        Console.WriteLine("Введите точность стрельбы (от 1 до 100)");
                        int accuracy = InputChecker(100);
                        Console.Clear();
                        Console.WriteLine("Введите умение стоять на лыжах (от 1 до 100)");
                        int balance = InputChecker(100);
                        Console.Clear();
                        chel.Add(new Biathlete(name, surname, age, sex, nationality, weight, height, stamina, speed, accuracy, balance));
                        break;
                    }
                    chel.Sort(comparer);
                    for (int i = 0; i < chel.Count; i++)
                    {
                        chel[i].ID = i + 1;
                    }
                    Console.Clear();
                }
                else if (switcher == 2)
                {
                    foreach (var i in chel)
                    {
                        i.SmallInfo();
                    }
                    n = InputChecker(chel.Count) - 1;
                    Console.Clear();
                }
                do
                {
                    chel[n].Print += PositiveConsoleOutput;
                    Console.WriteLine("Введите число чтобы:");
                    Console.WriteLine("1. Создать нового спортсмена");
                    Console.WriteLine("2. Выбрать существующего спортсмена");
                    Console.WriteLine("3. Вывести информацию о человеке");
                    Console.WriteLine("4. Отправиться в ЗАГС и изменить фамилию (и имя если желаете)");
                    Console.WriteLine("5. Изменить параметры (рост, вес, выносливость, скорость)");
                    Console.WriteLine("6. Похудеть");
                    Console.WriteLine("7. Потолстеть");
                    Console.WriteLine("8. Пробежать на стадионе");
                    Console.WriteLine("9. Отправиться на консультацию по поводу веса");
                    if (chel[n].GetSpeciality() == "футболист")
                    {
                        Console.WriteLine("10. Тренировать удар");
                        Console.WriteLine("11. Тренировать атаку");
                        Console.WriteLine("12. Тренировать защиту");
                        Console.WriteLine("13. Узнать роль");
                    }
                    else if (chel[n].GetSpeciality() == "теннисист")
                    {
                        Console.WriteLine("10. Тренировать удар");
                        Console.WriteLine("11. Сыграть игру");
                    }
                    else if (chel[n].GetSpeciality() == "биатлонист")
                    {
                        Console.WriteLine("10. Тренировать стрельбу");
                        Console.WriteLine("11. Пройти круг на лыжах");
                    }
                    Console.WriteLine("Любое другое значение завершит программу");
                    switcher = InputChecker();
                    switch (switcher)
                    {
                    case 1:
                        Console.Clear();
                        break;

                    case 2:
                        Console.Clear();
                        break;

                    case 3:
                        Console.Clear();
                        chel[n].GetInfo();
                        Console.ReadKey();
                        Console.Clear();
                        break;

                    case 4:
                        Console.Clear();
                        Console.WriteLine("Введите 1 (изменить фамилию), 2 (изменить и имя), любое другое число чтобы покинуть ЗАГС");
                        int decision = InputChecker();
                        if (decision == 1)
                        {
                            string NewSurname = Console.ReadLine();
                            chel[n].ChangeName(NewSurname);
                        }
                        else if (decision == 2)
                        {
                            string NewSurname = Console.ReadLine();
                            string NewName    = Console.ReadLine();
                            chel[n].ChangeName(NewSurname, NewName);
                        }
                        Console.ReadKey();
                        Console.Clear();
                        break;

                    case 5:
                        Console.Clear();
                        Console.WriteLine("1. Изменить вес");
                        Console.WriteLine("2. Изменить рост");
                        Console.WriteLine("3. Изменить выносливость");
                        Console.WriteLine("4. Изменить скорость");
                        int parameter = InputChecker(4);
                        chel[n][parameter] = InputChecker();
                        Console.ReadKey();
                        Console.Clear();
                        break;

                    case 6:
                        Console.Clear();
                        Console.WriteLine("Введите количество подходов:");
                        int tries;
                        tries = InputChecker();
                        chel[n].MinusWeight(tries);
                        Console.ReadKey();
                        Console.Clear();
                        break;

                    case 7:
                        Console.Clear();
                        Console.WriteLine("Введите количество пайков с едой:");
                        int food;
                        food = InputChecker();
                        chel[n].PlusWeight(food);
                        Console.ReadKey();
                        Console.Clear();
                        break;

                    case 8:
                        Console.Clear();
                        Console.WriteLine("Введите количество кругов:");
                        int rounds;
                        rounds = InputChecker();
                        chel[n].PhysicalTraining(rounds);
                        Console.ReadKey();
                        Console.Clear();
                        break;

                    case 9:
                        Console.Clear();
                        chel[n].Print -= PositiveConsoleOutput;
                        chel[n].Print += ConsoleOutput;
                        chel[n].WeightCheck();
                        chel[n].Print -= ConsoleOutput;
                        chel[n].Print += PositiveConsoleOutput;
                        Console.ReadKey();
                        Console.Clear();
                        break;

                    case 10:
                        Console.Clear();
                        if (chel[n].GetSpeciality() == "футболист")
                        {
                            Footballer temp = (Footballer)chel[n];
                            temp.Print += PositiveConsoleOutput;
                            temp.ShootTraining();
                            temp.Print -= PositiveConsoleOutput;
                            chel[n]     = temp;
                        }
                        else if (chel[n].GetSpeciality() == "теннисист")
                        {
                            Tenniser temp = (Tenniser)chel[n];
                            temp.Print += PositiveConsoleOutput;
                            temp.HitTraining();
                            temp.Print -= PositiveConsoleOutput;
                            chel[n]     = temp;
                        }
                        else if (chel[n].GetSpeciality() == "биатлонист")
                        {
                            Biathlete temp = (Biathlete)chel[n];
                            temp.Print += PositiveConsoleOutput;
                            temp.AccuracyTraining();
                            temp.Print -= PositiveConsoleOutput;
                            chel[n]     = temp;
                        }
                        Console.ReadKey();
                        Console.Clear();
                        break;

                    case 11:
                        Console.Clear();
                        if (chel[n].GetSpeciality() == "футболист")
                        {
                            Footballer temp = (Footballer)chel[n];
                            temp.Print += PositiveConsoleOutput;
                            temp.AttackTraining();
                            temp.Print -= PositiveConsoleOutput;
                            chel[n]     = temp;
                        }
                        else if (chel[n].GetSpeciality() == "теннисист")
                        {
                            Console.WriteLine("Выберите соперника");
                            while (true)
                            {
                                foreach (var i in chel)
                                {
                                    i.SmallInfo();
                                }
                                m = InputChecker(chel.Count) - 1;
                                if (n == m)
                                {
                                    throw new Exception("Игра с самим собой невозможна");
                                }
                                else if (chel[m].GetSpeciality() == "теннисист")
                                {
                                    break;
                                }
                                else
                                {
                                    Console.WriteLine("Человек не является теннисистом");
                                }
                                Console.ReadKey();
                                Console.Clear();
                            }
                            Console.Clear();
                            Tenniser temp     = (Tenniser)chel[n];
                            Tenniser opponent = (Tenniser)chel[m];
                            temp.Print += ConsoleOutput;
                            temp.PlayGame(opponent);
                            temp.Print -= ConsoleOutput;
                        }
                        else if (chel[n].GetSpeciality() == "биатлонист")
                        {
                            Biathlete temp = (Biathlete)chel[n];
                            temp.Print += PositiveConsoleOutput;
                            temp.HaveARound();
                            temp.Print -= PositiveConsoleOutput;
                            chel[n]     = temp;
                        }
                        Console.ReadKey();
                        Console.Clear();
                        break;

                    case 12:
                        Console.Clear();
                        if (chel[n].GetSpeciality() == "футболист")
                        {
                            Footballer temp = (Footballer)chel[n];
                            temp.Print += PositiveConsoleOutput;
                            temp.DefenceTraining();
                            temp.Print -= PositiveConsoleOutput;
                            chel[n]     = temp;
                        }
                        else
                        {
                            return;
                        }
                        Console.ReadKey();
                        Console.Clear();
                        break;

                    case 13:
                        Console.Clear();
                        if (chel[n].GetSpeciality() == "футболист")
                        {
                            Footballer temp = (Footballer)chel[n];
                            temp.Print += ConsoleOutput;
                            temp.RoleAnalysis();
                            temp.Print -= ConsoleOutput;
                        }
                        else
                        {
                            return;
                        }
                        Console.ReadKey();
                        Console.Clear();
                        break;

                    default:
                        return;
                    }
                    chel[n].Print -= PositiveConsoleOutput;
                } while (switcher != 1 && switcher != 2);
            }
        }