Пример #1
0
 public void NewGame()
 {
     Player player1 = new Player();
     Location loc1 = new Location();
     Mob mob1 = new Mob();
     Item itm1 = new Item();
     player1.Start();                //перенести содержимое функции сюда же
     loc1.name = "на грязных улицах города";
     mob1.name = "никого";
     itm1.name = "ничего";
 }
Пример #2
0
        public static void Move(Player player1, Mob mob1, Item itm1, Location loc1)
        {
            {
                if (player1.lvl == 1)
                {
                    loc1.move_low();
                    mob1.Spawn_low1();
                    itm1.Generate_low();
                    player1.v0 = 0;
                }
                if (player1.lvl == 2)
                {
                    if (player1.v0 == 0)
                    {
                        Dialog.Dialog2(player1.name);
                        player1.v0 = 1;
                    }
                    loc1.name = " в темном лесу";
                    mob1.Spawn_low2();
                    itm1.Generate_low();
                }
                if (player1.lvl == 3)
                {
                    if (player1.v0 == 1)
                    {
                        Dialog.Dialog3(player1.name);
                        player1.v0 = 2;
                    }
                    loc1.move_norm();
                    switch (loc1.id)
                    {
                        case 0:
                            mob1.Spawn_norm1();
                            itm1.Generate_norm();
                            break;
                        case 1:
                            mob1.Spawn_norm2();
                            itm1.Generate_norm();
                            break;
                    }
                }
                if (player1.lvl == 4)
                {
                    if (player1.v0 == 2)
                    {
                        Dialog.Dialog4(player1.name);
                        player1.v0 = 3;
                    }
                    loc1.name = " у подножия горы";
                    mob1.Spawn_uncommon();
                    itm1.Generate_uncommon();
                }
                if (player1.lvl == 5)
                {
                    loc1.move_boss1();
                    mob1.Spawn_boss1();
                    itm1.Generate_boss1();
                }
                if (player1.lvl == 6)
                {
                    if (player1.v0 == 3)
                    {
                        Dialog.Dialog6(player1.name);
                        player1.v0 = 4;
                    }
                    loc1.move_1();
                    mob1.Spawn_1();
                    itm1.Generate_1();
                }
                if (player1.lvl == 7 || player1.lvl == 8)
                {
                    if (player1.v0 == 4)
                    {
                        Dialog.Dialog6(player1.name);
                        player1.v0 = 5;
                    }
                    loc1.move_2();
                    mob1.Spawn_2();
                    itm1.Generate_2();
                }
                if (player1.lvl == 9)
                {
                    Console.WriteLine("Вы встречаете человека в белых одеяниях.\nОкрикнув его, он поворачивается, его глаза светятся синим.\nНезнакомец: приходи ко мне снова, когда узнаешь вопрос который я должен тебе задать.\nМожешь просить помощи, но врядли это поможет.");
                    string answer = Console.ReadLine();
                    if (answer == "куда светит солнце")
                    {
                        player1.lvl = player1.lvl + 1; Console.WriteLine("Незнакомец смеется в ответ и исчезает в ярком свете, вы чувствуете прилив сил."); player1.hp_max = player1.hp_max + 25; player1.hp = player1.hp_max;
                        answer = ""; player1.lvl = 10; player1.exp += 100;
                    };
                }
                if (player1.lvl == 10)
                {
                    loc1.name = " в темноте";
                    if (player1.v1 == 0)
                    {
                        Console.WriteLine("Вы попадаете в зал, окутанный темнотой.\nКажется что темнота становится материальна и тянется за вами.\nС трудом можно разглядеть распахнутую дверь, из которой еле виден свет.\nГде-то вдалеке слышится крик, зовущий на помощь.\n1.Пойти на крик\n2.Пойти в дверь");
                        player1.v1 = 3;
                    }
                    while (player1.v1 == 3)
                    {
                        string answ = Console.ReadLine();
                        if (answ == "1") { player1.v1 = 1; };
                        if (answ == "2") { player1.v1 = 2; };
                    }
                    if (player1.v1 == 1)
                    {
                        Console.WriteLine("Вы движетесь на звуки крика, доносящиеся откуда то из темноты.");
                        Console.WriteLine("Внезапно из темноты вырываются когти, которые хватают вас и вы теряете сознание.");
                        player1.v1 = 4;
                    }
                    if (player1.v1 == 2)
                    {
                        Console.WriteLine("Подойдя к двери, вы обнаруживаете там горящий факел, который весит над ботинками. \nЛучшему воину- гласит надпись на ботинках, рассматривая их, вы слышите, как за вами захлапывается дверь.\nВас окружает толпа существ похожих на тени.");
                        itm1.name = "Ботинки лучшего воина"; itm1.describe = "Докажи, что ты способен их носить."; itm1.hp_bns = 15; itm1.dam_bns = 10; itm1.arm_bns = 10; itm1.slt = 6;
                        mob1.name = "Толпа теней"; mob1.describe = "Неосязаемые, но оружие их отпугивает. Долго находиться с ними нельзя."; mob1.hp = 120; mob1.dam = 30; mob1.exp = 0;
                    }
                    if (player1.v1 == 4)
                    {

                        Dialog.Dialog10_1(player1.name);
                        player1.hp = player1.hp_max;
                        player1.v1 = 5;
                    }
                    if (player1.v1 == 5)
                    {
                        mob1.name = "Ящероволк"; mob1.describe = "Двуногая тварь, с острыми когтями, головой ящерицы и телом волка."; mob1.hp = 150; mob1.dam = 35; mob1.exp = 0;
                    }
                }
                if (player1.lvl == 11)
                {
                    itm1.Generate_11();
                    loc1.name = " в катакомбах";
                    mob1.Spawn_11();
                }
                if (player1.lvl == 12)
                {
                    itm1.Generate_12();
                    loc1.name = " выход из коридоров";
                    mob1.Spawn_12();
                }
                if (player1.lvl == 13)
                {
                    if (player1.v2 == 0)
                    {
                        Dialog.Dialog13(player1.name, player1.TraderName);
                        player1.v2 = 1;
                    }
                    loc1.name = " на пути в Гвисад";
                    //itm1.Generate_13();
                    mob1.Spawn_13();
                }
                if (player1.lvl == 14)
                {
                    if (player1.v2 == 1)
                    {
                        Dialog.Dialog14(player1.name, player1.TraderName);
                        player1.v2 = 2;
                    }
                    loc1.name = " возле стен Гвисада";
                    itm1.Generate_14();
                    mob1.Spawn_14();
                }
                if (player1.lvl == 15)
                {
                    if (player1.v2 == 2)
                    {
                        Dialog.Dialog15(player1.name, player1.TraderName);
                        player1.v2 = 3;
                        player1.hpot = player1.hpot_max;
                    }

                    loc1.name = "";
                    itm1.Generate_15();
                    mob1.Spawn_15();
                }
                if (player1.lvl == 16)
                {
                    if (player1.v2 == 3)
                    {
                        Dialog.Dialog16_1(player1.name, player1.TraderName);
                        player1.v2 = 4;
                    }
                    if (player1.v2 == 4)
                    {
                        Dialog.Dialog16_2(player1.name, player1.TraderName);
                        player1.v2 = 5;
                    }
                    while (player1.v2 == 5)
                    {
                        string Answer;
                        Answer = Console.ReadLine();
                        if (Answer == "Гвисад") { Console.WriteLine("Старик: Да, ты именно тот, кто мне нужен.\nСтарик: Встретимся возле цитадели, а сейчас мне пора идти."); player1.v2 = 6; };
                    }
                    if (player1.v2 == 6)
                    {
                        Dialog.Dialog16_3(player1.name, player1.TraderName);
                        player1.v2 = 7;
                    }
                    if (player1.v2 == 7)
                    {
                        loc1.name = " в Гвисаде";
                        itm1.Generate_16();
                        mob1.Spawn_16();
                    }
                }
                if (player1.lvl == 17)
                {
                    if (player1.v3 == 0)
                    {
                        Dialog.Dialog17(player1.name, player1.TraderName);
                        player1.v3 = 1;
                    }
                    if (player1.v3 == 1)
                    {
                        loc1.name = " возле ворот цитадели";
                        while (player1.v4 < 100)
                        {
                            int CountLeft = 0, CountCenter = 0, CountRight = 0;
                            string Answer;
                            Console.WriteLine("К вам приближается новая волна противников.\nС какой стороны отбиваться?\n1.Левый фланг\n2.Центр\n3.Правый фланг");
                            Answer = Console.ReadLine();
                            if (Answer == "1") { player1.v4 += 10; CountLeft++; Console.WriteLine("Атака с левого фланга отбита"); };
                            if (Answer == "2") { player1.v4 += 15; CountCenter++; Console.WriteLine("Атака с центра отбита"); };
                            if (Answer == "3") { player1.v4 += 10; CountRight++; Console.WriteLine("Атака с правого фланга отбита"); };
                            if (CountLeft > 4) { Console.WriteLine("Вы не уследили за правым флангом, вас и старика убивают."); player1.GameOver(); };
                            if (CountRight > 4) { Console.WriteLine("Вы не уследили за левым флангом, вас и старика убивают."); player1.GameOver(); };
                            if (CountCenter > 3) { Console.WriteLine("Вы не уследили за флангами, вас и старика убивают."); player1.GameOver(); };
                        }
                        if (player1.v4 >= 100)
                        {
                            player1.v3 = 2;
                        }
                    }
                    if (player1.v3 == 2)
                    {
                        Console.WriteLine("Старик заканчивает чтение заклинания, магическая защита снята с ворот.");
                        Console.WriteLine("Старик: скоро магическая защита вернется на ворота, мы должны продержаться.");
                        player1.v3 = 3;
                    }
                    if (player1.v3 == 3)
                    {
                        loc1.name = " за воротами цитадели";
                        mob1.Spawn_17();

                    }

                }
                if (player1.lvl == 18)
                {
                    if (player1.v3 == 3)
                    {
                        Dialog.Dialog18_1(player1.name, player1.TraderName);
                        player1.v3 = 4;
                    }
                    if (player1.v3 == 4)
                    {
                        Dialog.Dialog18_2(player1.name, player1.TraderName);
                        player1.v3 = 5;
                    }
                    if (player1.v3 == 5)
                    {
                        Dialog.Dialog18_3(player1.name, player1.TraderName);
                        player1.v3 = 6;
                    }
                    if (player1.v3 == 6)
                    {
                        Dialog.Dialog18_4(player1.name, player1.TraderName);
                        player1.v3 = 7;
                    }
                    if (player1.v3 == 7)
                    {
                        Dialog.Dialog18_5(player1.name, player1.TraderName);
                        player1.v3 = 8;
                    }
                    if (player1.v3 == 8)
                    {
                        while (player1.Way != "1" && player1.Way != "2")
                        {player1.Way = Console.ReadLine();}
                        player1.v3 = 9;
                    }
                    if (player1.v3 == 9 && player1.Way == "1")
                    {
                        Dialog.Dialog18a(player1.name, player1.TraderName);
                        mob1.Spawn_18a();
                        loc1.name = " в цитадели темного культа";
                    }
                    if (player1.v3 == 9 && player1.Way == "2")
                    {
                        Dialog.Dialog18b(player1.name, player1.TraderName);
                        mob1.Spawn_18b();
                        loc1.name = " в цитадели темного культа";
                    }

                }
                if (player1.lvl == 19)
                {
                    if (player1.v5 == 0 && player1.Way == "1")
                    {
                        Dialog.Dialog19a(player1.name, player1.TraderName);
                        player1.v5 = 1;
                    }
                    if (player1.v5 == 0 && player1.Way == "2")
                    {
                        Dialog.Dialog19b(player1.name, player1.TraderName);
                        player1.v5 = 1;
                    }
                    if (player1.v5 == 1 && player1.Way == "1")
                    {
                        mob1.FinalA();
                        player1.v5 = 2;
                    }
                    if (player1.v5 == 1 && player1.Way == "2")
                    {
                        mob1.FinalB();
                        player1.v5 = 2;
                    }

                }
                if (player1.lvl == 20)    //заглушка
                {
                    if (player1.v5 == 2) { Dialog.Dialog20(player1.name, player1.TraderName); player1.v5 = 3; };
                    player1.score = player1.exp + player1.hp_max + player1.damage + player1.armor;
                    Console.WriteLine("Вы пришли к концу игры. \nПродолжение следует...\nВаш счет: " + player1.score);
                    Console.ReadKey();
                    player1.Start();
                }

                Console.WriteLine("\n\nВы находитесь " + loc1.name + " на полу валяется " + itm1.name + ".\nК вам приближается " + mob1.name);

            }
        }
Пример #3
0
 public static void Look(Mob mob1, Item itm1, Location loc1)
 {
     Console.WriteLine("\nВы находитесь " + loc1.name + ".");
     if (mob1.name != "никого") Console.WriteLine("Рядом находится: " + mob1.name);
     if (itm1.name != "ничего") Console.WriteLine("На полу валяется: " + itm1.name);
 }
Пример #4
0
        static void Main(string[] args)
        {
            string temp;
            Player player1 = new Player();
            Location loc1 = new Location();
            Mob mob1 = new Mob();
            Item itm1 = new Item();
            player1.Start();
            Console.Clear();
            Console.WriteLine("Для вызова справки напишите помощь,-h,/help. Если вы играете в первый раз, предлагаем ознакомиться с игрой(команда - инструкция).Приятной игры.\n\nВы оказываетесь на улице города. Вас только что выгнали из трактира.\nК вам подходит незнакомец, отдает вам свиток.\nНезнакомец: Воспользуйся этим, если заваляются лишние монеты.\nСтранствующий торговец гласит надпись на обороте свитка.\nНезнакомец уходит в даль, скрываясь в темноте переулков.\nВы идете к выходу из города, потому как держите путь в крепость Гвисад.\nХозяин трактира обещал убить если еще раз увидит.");
            loc1.name = "на грязных улицах города";
            mob1.name = "никого";
            itm1.name = "ничего";

            while (player1.name != null)
            {
                temp = Console.ReadLine();

                switch (temp)
                {
                        //sv_cheats 1
                    case "::iddqd":
                        player1.armor = Game.CheatArmor();
                        break;
                    case "::iwantpewpew":
                        player1.damage = Game.CheatDamage();
                        break;
                    case "//aboutdev":
                        Game.ShowDev();
                        break;
                    case "::setlevel":
                        player1.lvl = Game.CheatLevel();
                        player1.exp = (player1.lvl - 1) * 100;
                        break;
                        //sv_cheats 0
                    case "/sav":
                    case "/save":
                    case "сохранить":
                        player1 = Game.SaveGame(player1);
                        break;
                    case "/lod":
                    case "/load":
                    case "загрузить":
                        player1 = Game.LoadGame(player1);
                        break;
                    case "t":
                    case "/t":
                    case "/trd":
                    case "торговец":
                        {
                            Market.Trader(player1);
                        };
                        break;
                     case "m":
                     case "/m":
                     case "/mov":
                    case "/move":
                     case "идти":
                        Player.Move(player1, mob1,itm1,loc1);
                        break;
                    case "l":
                    case "/l":
                    case "/lkk":
                    case "/look":
                    case "осмотреть":
                        Player.Look( mob1, itm1, loc1);
                        break;
                    case "i":
                    case "/i":
                    case "/ins":
                    case "/inspect":
                    case "изучить":
                        if (player1.lvl == 5)
                        {
                            Console.WriteLine(loc1.describe);
                        }

                        if (player1.lvl == 9)
                        {
                            Console.WriteLine("Может стоит попросить у кого то помощи");
                            break;
                        }
                        if (player1.lvl !=9 || player1.lvl !=5)
                        {
                            Player.Inspect(mob1,itm1,player1);
                        }
                        break;

                    case "s":
                    case "/s":
                    case "/stt":
                    case "/state":
                    case "состояние":
                        {
                            player1.ShowStat();
                        }
                        break;

                    case "/hlp":
                    case "/help":
                    case "помощь":
                        Game.ShowHelp();
                        if (player1.lvl == 9) Console.WriteLine("куда светит солнце");
                        break;

                    case "/instruction":
                    case "инструкция":
                        Game.ShowInstruction();
                        break;

                    case "h":
                    case "/h":
                    case "/hup":
                    case "/heal":
                    case "лечение":
                        Player.HealingPotion(player1);
                        if (mob1.name == "Глава культистов" && mob1.dam > 10)
                        {
                            Console.WriteLine("Вы выпиваете зелье и босс ослабевает");
                            mob1.dam = mob1.dam - 73;
                            mob1.hp = mob1.hp - 20;
                        }
                        break;

                    case "a":
                    case "/a":
                    case "/att":
                    case "/attack":
                    case "атака":
                        Player.Attack(mob1,player1);

                        break;

                    case "e":
                    case "/e":
                    case "/eqp":
                    case "/equip":
                    case "надеть":
                        if (itm1.name == "ничего")
                        {
                            Console.WriteLine("Нечего одевать");
                            break;
                        }
                        if ((mob1.hp == 0 || mob1.name == "никого"))
                        {
                            Player.EquipItem(player1, itm1);
                        }
                        else Console.WriteLine(mob1.name + " охраняет " + itm1.name + ", необходимо сначало убить его.");
                        break;

                        }
            }
            Console.ReadKey();
        }