Esempio n. 1
0
        public void YarikHome(Player player, Battle battle, int easteregg, List <Nps> nps, Misc misc, List <Enemy> enemies)
        {
            Console.ReadKey();
            Console.WriteLine("Я позвонил в Ярику в дверь. Он какое то время не открывал, но потом раздались шаги");

            Console.ReadKey();
            Thread.Sleep(3000);
            Console.WriteLine($"Ярик: О Login, а что ты тут делаешь?");
            Console.WriteLine($" Login? Верно ведь это моё имя и вовсе не {player.name}");
            player.name = "Login";
            Console.ReadKey();
            Console.WriteLine($"Что вообще вчера произошло?\n" +
                              "Ярик: Понятия не имею ты выпил всего стакан пива\n" +
                              "Говорил о каких-то рептилоидах и Деде-Максиме. Потом вырубился");
            Console.ReadKey();
            Console.WriteLine("Это что-же получаеться - всё что я пережил - просто сон??");
            Console.ReadKey();
            Console.WriteLine("1. Ай к чёрту. Давай лучше в дотку\n" +
                              "2. Ну раз это всё сон - omae wa mou shindeiru, Ярик");
            dialogechoise = Console.ReadLine();
            switch (dialogechoise)
            {
            case "1":
                Console.WriteLine("Ярик: Ну пошли. Я на Энигме");
                Console.WriteLine("ДОТЕРСКАЯ КОНЦОВКА ПОЛУЧЕНА");
                Console.ReadKey();
                misc.GameOver();
                break;

            case "2":
                Console.WriteLine("Ярик: NANI!");
                battle.BattleYarir(enemies, player, misc, Lists.abilities, Lists.YarikAbility);
                break;

            default:
                break;
            }
        }
Esempio n. 2
0
        public void BattleYarir(List <Enemy> enemies, Player player, Misc misc, List <Ability> abilities, List <Ability> YarikAbility)
        {
            Console.Clear();
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("Ярик: Ты не знаешь с кем связался, глупец!\n" +
                              "тебе меня не одалеть! И кастует ");
            Console.WriteLine("Ярик: Твои жалкие фокусы против меня бесполезны\n");
            Console.ResetColor();
            for (int i = 1; i < 5; i++)
            {
                int    yarikAbil = 0;
                Random random    = new Random();
                int    YarikMove = 0;
                foreach (var yarikSpell in Lists.YarikAbility)
                {
                    YarikMove = random.Next(0, YarikAbility.Count);
                }
                bool SycleVar1 = true;
                int  abil      = 2;



                while (SycleVar1)
                {
                    Console.WriteLine("Твой ход!\n");
                    Console.WriteLine($"Выбирай, чем бить:\n");
                    foreach (var spell in Lists.abilities)
                    {
                        Console.WriteLine((Lists.abilities.IndexOf(spell) + 1 + " " + spell.Name));
                    }
                    //Console.WriteLine("E Открыть инвентарь");
                    abil      = Convert.ToInt32(Console.ReadLine());
                    SycleVar1 = false;
                    Console.WriteLine($"Способность {Lists.abilities[abil - 1].Name}");
                }
                if (Lists.abilities[abil - 1].Name == "Игры разума")
                {
                    Console.ForegroundColor = ConsoleColor.Cyan;
                    Console.WriteLine($"Время как будто остановились. Голос в голове говорит: сейчас он кастонёт {Lists.YarikAbility[YarikMove].Name}\n");
                    Console.ResetColor();
                    Console.WriteLine($"1. Отразить {Lists.YarikAbility[YarikMove].Name}\n");
                    battlechoise = Console.ReadLine();
                    switch (battlechoise)
                    {
                    case "1":
                        Console.ForegroundColor = ConsoleColor.Cyan;
                        Console.WriteLine($"Что-же, давай сюда свой {Lists.YarikAbility[YarikMove].Name}\n");
                        Console.ResetColor();
                        break;

                    default:
                        break;
                    }
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine($"\n\nЯрик: кастую {(Lists.YarikAbility[YarikMove].Name)}");
                    Console.WriteLine("Ярик: ЧТО! НЕВОЗМОЖНО!\n");
                    Console.ResetColor();
                    Console.ReadKey();
                    switch (i)
                    {
                    case 1:
                        Console.ForegroundColor = ConsoleColor.Cyan;
                        Console.WriteLine($"Чёрт! Получилось! Я отразил его {(Lists.YarikAbility[YarikMove].Name)}\n");
                        Console.ResetColor();
                        break;

                    case 2:
                        Console.ForegroundColor = ConsoleColor.Cyan;
                        Console.WriteLine("Ха! Видишь мат в 4 хода? А я в 3!\n");
                        Console.ResetColor();
                        break;

                    case 3:
                        Console.ForegroundColor = ConsoleColor.Cyan;
                        Console.WriteLine("Ещё не поздно здаться, Ярик\n");
                        Console.ResetColor();
                        break;

                    case 4:
                        Console.ForegroundColor = ConsoleColor.Cyan;
                        Console.WriteLine("После четвёртой отражённой способности мне оставалось только добить его\n");
                        Console.ResetColor();
                        break;

                    default:
                        break;
                    }
                }
                else
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("Даже не почувствовав удара, Ярик наносит ответный удар\n");
                    Console.WriteLine($"Ярик: кастую {(Lists.YarikAbility[YarikMove].Name)}\n");
                    Console.ReadKey();
                    Console.WriteLine($"Ярик росщепил тебя на атомы\n");
                    Console.ResetColor();
                    Console.ReadKey();
                    misc.GameOver();
                }
            }
            Console.ForegroundColor = ConsoleColor.DarkMagenta;
            Console.WriteLine("Издав предсмертных хрип Ты всё равно не сдашь курсач без меня Ярик пал замертво\n\n\n");
            Console.ResetColor();
            Console.WriteLine("---------------------");
            Console.ForegroundColor = ConsoleColor.Cyan;
            Console.WriteLine("ИСТИННАЯ КОНЦОВКА ПОЛУЧЕНА");
            Console.ResetColor();
            misc.GameOver();
        }
Esempio n. 3
0
        public void BossBattle(Enemy enemy, Player player, Misc misc)
        {
            Console.Clear();
            Console.WriteLine($"Без особых раздумий {enemy.name} с криком {enemy.battlecry} вступает в бой!");
            while (player.hp > 0 && enemy.hp > 0)
            {
                try
                {
                    bool SycleVar1 = true;

                    while (SycleVar1)
                    {
                        Console.WriteLine("Твой ход!\n");
                        Console.WriteLine($"Выбирай, чем бить:");
                        foreach (var spell in Lists.abilities)
                        {
                            Console.WriteLine((Lists.abilities.IndexOf(spell) + 1 + " " + spell.Name));
                        }
                        //Console.WriteLine("E Открыть инвентарь");
                        //abil = Console.ReadLine();
                        //abil = Console.ReadLine();
                        //abil = Console.ReadLine();
                        abil      = Console.ReadLine();              //do not touch under any surcumstances!
                        abil      = (int.Parse)(Console.ReadLine()); //do not touch under any surcumstances!
                        SycleVar1 = false;
                        Console.ForegroundColor = ConsoleColor.Blue;
                        Console.WriteLine($"Способность {Lists.abilities[abil - 1].Name}\n");
                        Console.ResetColor();
                    }

                    if (player.buffedturns > 0)

                    {
                        if (Lists.abilities[abil - 1].Duration > 0)
                        {
                            if (Lists.abilities[abil - 1].DamageBuff > 0)
                            {
                                player.buffeddamage = Lists.abilities[abil - 1].DamageBuff;
                            }
                            Console.ForegroundColor = ConsoleColor.DarkBlue;
                            Console.WriteLine("Бафф обновлён\n");
                            Console.ResetColor();
                            player.buffedturns -= 1;
                        }
                        else
                        {
                            enemy.hp           -= (Lists.abilities[abil - 1].Damage) * player.buffeddamage * (Lists.Resistance[abil - 1].Resistance);
                            player.buffedturns -= 1;
                        }
                    }
                    else
                    {
                        if (Lists.abilities[abil - 1].Duration > 0)
                        {
                            if (Lists.abilities[abil - 1].DamageBuff > 0)
                            {
                                player.buffeddamage = Lists.abilities[abil - 1].DamageBuff;
                            }
                            player.buffedturns      = Lists.abilities[abil - 1].Duration + 1;
                            enemy.hp               -= (Lists.abilities[abil - 1].Damage) * player.buffeddamage * (Lists.Resistance[abil - 1].Resistance);
                            player.buffedturns     -= 1;
                            Console.ForegroundColor = ConsoleColor.DarkBlue;
                            Console.WriteLine($"Осталось ходов под баффом: {player.buffedturns -= 1}\n\n\n");
                            Console.ResetColor();
                        }
                        else
                        {
                            enemy.hp -= Lists.abilities[abil - 1].Damage * (Lists.Resistance[abil - 1].Resistance);
                        }
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine("-----------------------------------------------");
                        Console.WriteLine($"{enemy.name} HP: {enemy.hp}\n");

                        Console.ResetColor();
                    }
                    player.hp -= enemy.damage;
                    Console.ForegroundColor = ConsoleColor.DarkYellow;
                    Console.WriteLine("-----------------------------------------------");
                    Console.WriteLine($"Ты нанёс {(Lists.abilities[abil - 1].Damage) * player.buffeddamage * (Lists.Resistance[abil - 1].Resistance)} урона\n");

                    Console.ResetColor();
                    Console.ForegroundColor = ConsoleColor.DarkYellow;
                    Console.WriteLine("-----------------------------------------------");
                    Console.WriteLine($"{enemy.name} ударил тебя и нанёс {enemy.damage} урона\n");
                    Console.WriteLine("-----------------------------------------------");
                    Console.ResetColor();
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.WriteLine($"У тебя осталось: {player.hp} HP\n\n\n");
                    Console.ResetColor();
                }
                catch
                {
                    Console.ForegroundColor = ConsoleColor.Cyan;
                    Console.WriteLine("\n \n \n Тоби Ass");
                    Console.ResetColor();
                    music.StartMusic("Music/coffin.mp3");
                    DateTime date = new DateTime();

                    date = DateTime.Now;
                    Console.ReadKey();
                    var date1 = DateTime.Now;
                    if (date.AddSeconds(10) < date1)
                    {
                        music.StopMusic();
                        misc.GameOver();
                        //player.hp = -22848;
                    }
                    music.StopMusic();
                }
            }

            if (enemy.hp <= 0)
            {
                if (enemy.type == "Гопник")
                {
                    Console.WriteLine($"{enemy.name} сказал свои последние слова {Lists.BattlecryPhrases[GeneratePhrase(random)]} и пал замертво\n");
                }
                else
                {
                    Console.WriteLine($"{enemy.name} сказал свои последние слова {enemy.deathrattle} и пал замертво\n\n");
                }
            }
            else
            {
                misc.GameOver();
            }

            Loot loot = new Loot();

            loot.TakeLoot(player, enemy);
            Console.ReadKey();
        }
Esempio n. 4
0
        public void Gutter1(Player player, Battle battle, int easteregg, List <Nps> nps, Misc misc)
        {
            synth.SetOutputToDefaultAudioDevice();
            var LocationBug = false;

            Console.WriteLine("Встав и осмотрев окрестности, я понял где нахожусь. \n" +
                              "Горы мусора, старая техника. \n" +
                              "Я на помойке. " +
                              "\nМне не очень хотелось оставаться здесь. Нужно поскорее выбираться и идти домой, переодеться. \n" +
                              "Хотя с другой стороны возможно стоит порыскать здесь в поисках сменных вещей\n");
            Console.ReadKey();

            Console.WriteLine("");
            Console.ForegroundColor = ConsoleColor.Blue;
            Console.WriteLine("1. Уйти из помойки\n");
            if (Gutter1_2Var == true)
            {
                Console.WriteLine("2. Осмотреться");
            }
            Console.ResetColor();
            locationchoise = Console.ReadLine();

            switch (locationchoise)
            {
            case "1":
                location = "street1";
                break;

            case "2":
                location = "gutter1_2";
                Console.WriteLine("На помойке небыло ни души, лишь время от времени пролетали птицы\n " +
                                  "Где-то вдали был слышен машинный гул и возмущённые голоса. \n" +
                                  "Возможно мне стоит попросить у них сменную одежду? \n" +
                                  "Но за кого меня примут... весь в грязи и ещё голова расскалываеться. \n");
                Console.ReadKey();
                if (Gutter1_1Var)
                {
                    Console.WriteLine("Краем глаза я заметил кучу рваных вещей лежавших неподалёку. \n" +
                                      "Хоть не известно какой бомж носил их до этого. \n" +
                                      "Гораздо безопаснее будет переодеться в них\n");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.WriteLine("1. Надеть разорванные вещи\n\n" +
                                      "2. Попросить вещи у рабочих\n");
                    Console.ResetColor();
                    locationchoise = Console.ReadLine();
                    switch (locationchoise)
                    {
                    case "1":
                        Gutter1_1(player, battle, easteregg, nps, Lists.enemies, misc);
                        break;

                    case "2":
                        Gutter1_2(player, battle, easteregg, nps, Lists.enemies, misc);

                        break;

                    default:
                        Console.WriteLine("Я тебя предупреждал!");
                        synth.SpeakAsync($"Сенк ю фор камминг. Соу вай а ю гэй?");
                        //synth.SpeakAsync($"Thank you for comming. so why Are you gay?");
                        Console.WriteLine("Thank you for comming. SO WHY Are YOU GAY?");

                        break;
                    }
                }
                else
                {
                    Gutter1_2(player, battle, easteregg, nps, Lists.enemies, misc);
                }


                break;

            default:
                if (Gutter1_1Var)
                {
                    Gutter1_1(player, battle, easteregg, nps, Lists.enemies, misc);
                }
                else
                {
                    Console.WriteLine("Всё! Хватит! Ты проиграл!");
                }
                misc.GameOver();
                break;
            }
        }
Esempio n. 5
0
        public void Basement(Player player, Battle battle, int easteregg, List <Nps> nps, Misc misc, List <Enemy> enemies)
        {
            while (CurrentLocation != 8)
            {
                Console.WriteLine("Пройдя ещё пару шагов я оказался перед развилкой");
                //Console.WriteLine($"Позиция {CurrentLocation}");
                BasementChoise();
                switch (CurrentLocation)
                {
                case 1:
                    if (ChosenLocation == 1)
                    {
                        CurrentLocation = 9;
                    }
                    else if (ChosenLocation == 2)
                    {
                        CurrentLocation = 2;
                    }
                    else
                    {
                        CurrentLocation = 1;
                    }
                    break;

                case 2:
                    if (ChosenLocation == 1)
                    {
                        CurrentLocation = 15;
                    }
                    else if (ChosenLocation == 2)
                    {
                        CurrentLocation = 3;
                    }
                    else
                    {
                        CurrentLocation = 1;
                    }
                    break;

                case 3:
                    if (ChosenLocation == 1)
                    {
                        CurrentLocation = 16;
                    }
                    else if (ChosenLocation == 2)
                    {
                        CurrentLocation = 4;
                    }
                    else
                    {
                        CurrentLocation = 1;
                    }
                    break;

                case 4:
                    if (ChosenLocation == 3)
                    {
                        CurrentLocation = 5;
                    }
                    else
                    {
                        CurrentLocation = 1;
                    }
                    break;

                case 5:
                    if (ChosenLocation == 1)
                    {
                        CurrentLocation = 6;
                    }
                    else if (ChosenLocation == 2)
                    {
                        CurrentLocation = 20;
                    }
                    else if (ChosenLocation == 3)
                    {
                        CurrentLocation = 19;
                    }
                    else
                    {
                        CurrentLocation = 1;
                    }
                    break;

                case 6:
                    if (ChosenLocation == 1)
                    {
                        CurrentLocation = 7;
                    }
                    else
                    {
                        CurrentLocation = 1;
                    }
                    break;

                case 7:
                    if (ChosenLocation == 1)
                    {
                        CurrentLocation = 8;
                    }
                    else if (ChosenLocation == 2)
                    {
                        CurrentLocation = 21;
                    }
                    else
                    {
                        CurrentLocation = 1;
                    }
                    break;

                case 8:

                    break;

                case 9:
                    if (ChosenLocation == 1)
                    {
                        CurrentLocation = 10;
                    }
                    else if (ChosenLocation == 2)
                    {
                        CurrentLocation = 15;
                    }
                    else
                    {
                        CurrentLocation = 1;
                    }
                    break;

                case 10:
                    if (ChosenLocation == 1)
                    {
                        CurrentLocation = 17;
                    }
                    else if (ChosenLocation == 3)
                    {
                        CurrentLocation = 11;
                    }
                    else
                    {
                        CurrentLocation = 1;
                    }
                    break;

                case 11:
                    if (ChosenLocation == 3)
                    {
                        CurrentLocation = 12;
                    }
                    else
                    {
                        CurrentLocation = 1;
                    }
                    break;

                case 12:
                    if (ChosenLocation == 1)
                    {
                        CurrentLocation = 18;
                    }
                    else if (ChosenLocation == 2)
                    {
                        CurrentLocation = 13;
                    }
                    else
                    {
                        CurrentLocation = 1;
                    }
                    break;

                case 13:
                    if (ChosenLocation == 1)
                    {
                        CurrentLocation = 22;
                    }
                    else if (ChosenLocation == 2)
                    {
                        CurrentLocation = 14;
                    }
                    else
                    {
                        CurrentLocation = 1;
                    }
                    break;

                case 14:
                    if (ChosenLocation == 3)
                    {
                        CurrentLocation = 8;
                    }
                    else
                    {
                        CurrentLocation = 1;
                    }
                    break;

                case 15:
                    if (ChosenLocation == 2)
                    {
                        CurrentLocation = 16;
                    }
                    else
                    {
                        CurrentLocation = 1;
                    }
                    break;

                case 16:
                    CurrentLocation = 1;
                    break;

                case 17:
                    if (ChosenLocation == 2)
                    {
                        CurrentLocation = 12;
                    }
                    else
                    {
                        CurrentLocation = 1;
                    }
                    break;

                case 18:
                    if (ChosenLocation == 2)
                    {
                        CurrentLocation = 22;
                    }
                    else
                    {
                        CurrentLocation = 1;
                    }
                    break;

                case 19:
                    CurrentLocation = 1;
                    break;

                case 20:
                    CurrentLocation = 1;
                    break;

                case 21:
                    CurrentLocation = 1;
                    break;

                case 22:
                    CurrentLocation = 1;
                    break;

                default:
                    break;
                }
            }

            Console.WriteLine("Блуждая по этому месту я и не надеялся выбраться, но к моему счастью я вышел в достаточно большую и остлённую комнату");
            Console.WriteLine("На небольшом стуле по среди комнаты сидела фигура в чёрном капюшоне");
            Console.ReadKey();
            string hello1       = "Неизвестный: Приветствую тебя.";
            string helloNormal1 = hello1;

            hello1 = ReverseString(hello1);
            Console.WriteLine("Неизвестный: Приветствую тебя.");
            Console.WriteLine($"{player.name}: Я не понимаю. Кто-ты?");
            string hello       = "Если ты тот, о ком слагали легенды - ты всё поймёшь. Мы расса Нибириацев. Получили сигнал из земли отправленный из твоего планшета.";
            string helloNormal = hello;

            hello = ReverseString(hello);

            Console.WriteLine(hello);
            Console.WriteLine("1. Подумать");
            for (int i = 0; i < 20; i++)
            {
                Console.Write(".");
                Thread.Sleep(500);
            }

            Console.WriteLine($"{Lists.nps[3].name}: {helloNormal} ");
            Console.WriteLine($"{player.name}: Не может быть!? Ты - РЕПТИЛОИД!?");

            Console.WriteLine($"{Lists.nps[3].name}: Ты можешь присоедениться к нам и обрести силу Хамона. Или уйти и продолжить своё мирское существование\n" +
                              $"1. Присоедениться\n" +
                              $"2. Отказаться");
            dialogechoise = Console.ReadLine();
            switch (dialogechoise)
            {
            case "1":
                player.abilities.Add(Lists.allAbilities[4]);
                Console.WriteLine($"Получена способность: {Lists.allAbilities[4].Name}");
                Console.ReadKey();
                Console.WriteLine($"{Lists.nps[3].name} кивнул головой. Я начал чувствовать изменения внутри. \n" +
                                  $"А может это были остатки молока рабочих? В прочим не важно. {Lists.nps[3].name} прервал ход моих мыслей");

                Console.WriteLine($"{ Lists.nps[3].name}: Теперь ты истинный Рептилоид\n" +
                                  $"Я почувствовал слабость у упал в обморок, \a" +
                                  $"а когда очнулся - был уже перед дверью Ярика");

                YarikHome(player, battle, easteregg, nps, misc, enemies);
                break;

            case "2":

                misc.GameOver();

                break;

            default:
                break;
            }
        }