public void CompleteQuest(Player player1) { if (Condition == 1) { Console.WriteLine("Вы выполнили задание " + QuestName); Console.WriteLine("Вы получаете " + Exp + " опыта и " + Gold + " золота"); player1.exp += Exp; player1.gold += Gold; } }
public static Player SaveGame(Player player1) { using (Stream writer = new FileStream("save.xml", FileMode.Create)) { XmlSerializer serializer = new XmlSerializer(typeof(Player)); serializer.Serialize(writer, player1); } Console.WriteLine("Игра сохранена."); return player1; }
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 = "ничего"; }
public static Player LoadGame(Player player1) { using (Stream stream = new FileStream("save.xml", FileMode.Open)) { XmlSerializer serializer = new XmlSerializer(typeof(Player)); player1 = (Player)serializer.Deserialize(stream); } Console.Clear(); Console.WriteLine("Игра загружена."); return player1; }
public void NewQuest(Player player1) { if (player1.lvl == ReqLvl) { Console.WriteLine("Задание " + QuestName + "\n" + QuestGiver + ": " + QuestDescription); Condition = 0; Console.WriteLine("Принять задание?"); while (Answer != "да" || Answer !="нет") Answer = Console.ReadLine(); if (Answer == "да") Console.WriteLine("Вы принимаете задание "+QuestName); if (Answer == "нет") Console.WriteLine("Вы отказались от задания "+QuestName); } }
public void Spawn(Player player1) { SmthCount = player1.lvl; Random rnd = new Random(); int RndNmb = rnd.Next(SmthCount); switch (RndNmb) { case 0: SmthName = "Something0"; SmthDisc = "Text0"; break; case 1: SmthName = "Something1"; SmthDisc = "Text1"; break; } }
public static void Trader(Player player1) { int PriceHpot = 30, PriceScroll = 100, PriceAmul = 1000, PriceNewAmul = 2500; string trade = "10"; if (player1.trader == false) { Console.WriteLine("Вы достаете свиток незнакомца из города, пытаясь разобрать надписи.\nТаинственный торговец: Эй, что ты уставился в эти листы, не меня ищешь?\nВы поднимаете голову, перед вами тот самый человек, который вручил эти свитки."); player1.trader = true; } Console.WriteLine("\n" + player1.TraderName + ": Чего желаешь?"); Console.WriteLine("Товары: " + "\t\t\t\t\t\t\t\t Ваше золото: " + player1.gold); Console.WriteLine("1.Зелье лечения(восстанавливает здоровье)\t\t\t\t 30 золотых"); Console.WriteLine("2.Свиток силы(увеличивает урон на 1)\t\t\t\t\t 100 золотых"); Console.WriteLine("3.Свиток брони(увеличивает броню на 1)\t\t\t\t\t 100 золотых"); if (player1.lvl > 5) Console.WriteLine("4.Амулет удачи(10% шанс нанести критический урон)\t\t\t 1000 золотых"); if (player1.lvl > 7) Console.WriteLine("5.Амулет защиты(уменьшает получаемый в бою урон на 20%)\t\t\t 1000 золотых"); if (player1.lvl > 13) Console.WriteLine("6.Зачарованный амулет удачи(25% шанс нанести критический урон)\t\t 2500 золотых"); Console.WriteLine("0.Уйти"); while (trade != "0") { trade = Console.ReadLine(); if (trade == "1") { if (player1.gold >= PriceHpot) { if (player1.hpot < player1.hpot_max) { if (player1.sale == 10) { Console.WriteLine(player1.TraderName + ": Ты стал моим постоянным клиентом, в этот раз я отдам товар бесплатно."); player1.sale = 0; player1.hpot++; } else { player1.gold -= PriceHpot; player1.hpot++; player1.sale++; } Console.WriteLine("Вы покупаете зелье лечения."); } else Console.WriteLine("У вас нет свободного места."); } else Console.WriteLine(player1.TraderName + ": У тебя не хватает золота."); } if (trade == "2") { if (player1.gold >= PriceScroll) { if (player1.sale == 10) { Console.WriteLine(player1.TraderName + ": Ты стал моим постоянным клиентом, в этот раз я отдам товар бесплатно."); player1.sale = 0; player1.damage++; } else { player1.gold -= PriceScroll; player1.damage++; player1.sale++; } Console.WriteLine("Вы покупаете свиток силы, ваш урон увеличивается на 1."); } else Console.WriteLine(player1.TraderName + ": У тебя не хватает золота"); } if (trade == "3") { if (player1.gold >= PriceScroll) { if (player1.sale == 10) { Console.WriteLine(player1.TraderName + ": Ты стал моим постоянным клиентом, в этот раз я отдам товар бесплатно."); player1.sale = 0; player1.armor++; } else { player1.gold -= PriceScroll; player1.armor++; player1.sale++; } Console.WriteLine("Вы покупаете свиток брони, ваша броня увеличивается на 1."); } else Console.WriteLine(player1.TraderName + ": У тебя не хватает золота"); } if (player1.lvl > 5 && trade == "4") { if (player1.gold >= PriceAmul) { player1.gold -= PriceAmul; Console.WriteLine("Вы покупаете амулет удачи, шанс нанести критический урон возрастает на 10%"); player1.amul = "Амулет удачи"; player1.sale = 10; } else Console.WriteLine(player1.TraderName + ": У тебя не хватает золота"); } if (player1.lvl > 7 && trade == "5") { if (player1.gold >= PriceAmul) { player1.gold -= PriceAmul; Console.WriteLine("Вы покупаете амулет защиты, получаемый урон уменьшен на 20%"); player1.amul = "Амулет защиты"; player1.sale = 10; } else Console.WriteLine(player1.TraderName + ": У тебя не хватает золота"); } if (player1.lvl > 13 && trade == "6") { if (player1.gold >= PriceNewAmul) { player1.gold -= PriceNewAmul; Console.WriteLine("Вы покупаете зачарованный амулет удачи, шанс нанести критический урон возрастает до 25%"); player1.amul = "Зачарованный амулет удачи"; player1.sale = 10; } else Console.WriteLine(player1.TraderName + ": У тебя не хватает золота"); } } Console.WriteLine(player1.TraderName + ": Возвращайся, как заработаешь еще.\n"); }
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); } }
public static void Inspect(Mob mob1, Item itm1, Player player1) { if (mob1.name != "никого") { if (mob1.mag == true) { mob1.DamageType = "(магический)"; } if (mob1.mag == false) { mob1.DamageType = "(физический)"; } Console.WriteLine("\n" + mob1.name + " - " + mob1.describe + "\nЗдоровье: " + mob1.hp + "\nУрон: " + mob1.dam + mob1.DamageType + "\n"); } if (itm1.name != "ничего") { if (itm1.slt == 1) { itm1.TempName = player1.pant_name; itm1.TempHp = player1.pant_hp; itm1.TempDamage = player1.pant_dam; itm1.TempArmor = player1.pant_arm; }; if (itm1.slt == 2) { itm1.TempName = player1.body_name; itm1.TempHp = player1.body_hp; itm1.TempDamage = player1.body_dam; itm1.TempArmor = player1.body_arm; }; if (itm1.slt == 3) { itm1.TempName = player1.head_name; itm1.TempHp = player1.head_hp; itm1.TempDamage = player1.head_dam; itm1.TempArmor = player1.head_arm; }; if (itm1.slt == 4) { itm1.TempName = player1.weapon_name; itm1.TempHp = player1.weapon_hp; itm1.TempDamage = player1.weapon_dam; itm1.TempArmor = player1.weapon_arm; }; if (itm1.slt == 5) { itm1.TempName = player1.hand_name; itm1.TempHp = player1.hand_hp; itm1.TempDamage = player1.hand_dam; itm1.TempArmor = player1.hand_arm; }; if (itm1.slt == 6) { itm1.TempName = player1.boot_name; itm1.TempHp = player1.boot_hp; itm1.TempDamage = player1.boot_dam; itm1.TempArmor = player1.boot_arm; }; Console.WriteLine("\n\t\t\t\t\tЭкипировано:\n" + itm1.name +"\t\t\t" +itm1.TempName + "\nБонус здоровья: " + itm1.hp_bns +"\t\t\t"+itm1.TempHp+ "\nБонус урона: " + itm1.dam_bns +"\t\t\t\t"+itm1.TempDamage +"\nБонус брони: " + itm1.arm_bns +"\t\t\t\t"+itm1.TempArmor +"\n" + itm1.describe + "\n"); } if (mob1.name == "никого" && itm1.name == "ничего") { Console.WriteLine("Вокруг ничего интересного."); } }
public static void HealingPotion(Player player1) { if (player1.hpot != 0) { if (player1.hp != player1.hp_max) { player1.hp = player1.hp + 20 + 2 * player1.lvl; if (player1.hp > player1.hp_max) player1.hp = player1.hp_max; Console.WriteLine("Вы использовали лечащее зелье, восстановлено " + (20 + 2 * player1.lvl) + " здоровья"); player1.hpot--; } else Console.WriteLine("У вас полный запас здоровья"); } else Console.WriteLine("У вас нет лечащих зелий"); }
public static void Attack(Mob mob1, Player player1) { if (mob1.name == "никого") Console.WriteLine("Некого атаковать."); if (player1.lvl == 19) { int crit1; bool CritBonus1 = false; if (player1.amul == "Зачарованный амулет удачи") { Random x = new Random(); crit1 = x.Next(100); if (crit1 < 25) CritBonus1 = true; } if (player1.amul == "Амулет удачи") { Random x = new Random(); crit1 = x.Next(100); if (crit1 < 10) CritBonus1 = true; } if (CritBonus1 == true) { Console.WriteLine("\nВы атакуете, наносите " + (player1.damage * 2) + " урона(критическая атака) " + mob1.name); mob1.hp = mob1.hp - (2 * player1.damage); } if (CritBonus1 == false) { Console.WriteLine("\nВы атакуете, наносите " + player1.damage + " урона " + mob1.name); mob1.hp = mob1.hp - player1.damage; } if (mob1.mag == true) mob1.dam = mob1.dam + player1.armor; if (mob1.dam <= player1.armor) { player1.hp = player1.hp - 1; Console.WriteLine(mob1.name + " атакует вас, вы получаете 1 урона"); } if (mob1.dam > player1.armor) { if (player1.amul == "Амулет защиты") { player1.hp = player1.hp - 4 * (mob1.dam - player1.armor) / 5; Console.WriteLine(mob1.name + " атакует вас, вы получаете " + 4 * (mob1.dam - player1.armor) / 5 + " урона"); } if (player1.amul != "Амулет защиты") { player1.hp = player1.hp - (mob1.dam - player1.armor); Console.WriteLine(mob1.name + " атакует вас, вы получаете " + (mob1.dam - player1.armor) + " урона"); } } if (mob1.mag == true) mob1.dam = mob1.dam - player1.armor; if (player1.hp <= 0) { Console.WriteLine(mob1.name + " побеждает, вы умираете и начинаете гнить."); player1.GameOver(); mob1.name = "никого"; mob1.mag = false; } if (mob1.hp <= 0) { int chance, oldlvl, golddrop; Console.WriteLine("Вы побеждаете " + mob1.name + " и получаете " + mob1.exp + " опыта."); player1.exp = player1.exp + mob1.exp; oldlvl = player1.lvl; player1.lvl = player1.exp / 100 + 1; if (oldlvl != player1.lvl) { player1.hp_max = player1.hp_max + 3; player1.damage = player1.damage + 1; player1.hpot_max++; Console.WriteLine("Поздравляем! Вы достигли " + player1.lvl + " уровня. Максимальный запас здоровья увеличен на 3. Урон увеличен на 1. Максимальное количество зелий увеличено до " + player1.hpot_max + "."); } } } if (player1.lvl != 19) { while (player1.hp > 0 && mob1.hp > 0) { int crit = 0; bool CritBonus = false; if (player1.amul == "Зачарованный амулет удачи") { Random x = new Random(); crit = x.Next(100); if (crit < 25) CritBonus = true; } if (player1.amul == "Амулет удачи") { Random x = new Random(); crit = x.Next(100); if (crit < 10) CritBonus = true; } if (CritBonus == true) { Console.WriteLine("\nВы атакуете, наносите " + (player1.damage * 2) + " урона(критическая атака) " + mob1.name); mob1.hp = mob1.hp - (2 * player1.damage); } if (CritBonus == false) { Console.WriteLine("\nВы атакуете, наносите " + player1.damage + " урона " + mob1.name); mob1.hp = mob1.hp - player1.damage; } if (mob1.mag == true) mob1.dam = mob1.dam + player1.armor; if (mob1.dam <= player1.armor) { player1.hp = player1.hp - 1; Console.WriteLine(mob1.name + " атакует вас, вы получаете 1 урона"); } if (mob1.dam > player1.armor) { if (player1.amul == "Амулет защиты") { player1.hp = player1.hp - 4 * (mob1.dam - player1.armor) / 5; Console.WriteLine(mob1.name + " атакует вас, вы получаете " + 4 * (mob1.dam - player1.armor) / 5 + " урона"); } if (player1.amul != "Амулет защиты") { player1.hp = player1.hp - (mob1.dam - player1.armor); Console.WriteLine(mob1.name + " атакует вас, вы получаете " + (mob1.dam - player1.armor) + " урона"); } } if (mob1.mag == true) mob1.dam = mob1.dam - player1.armor; if (player1.hp <= 0) { Console.WriteLine(mob1.name + " побеждает, вы умираете и начинаете гнить."); player1.GameOver(); mob1.name = "никого"; mob1.mag = false; } if (mob1.hp <= 0) { int chance, oldlvl, golddrop; Console.WriteLine("Вы побеждаете " + mob1.name + " и получаете " + mob1.exp + " опыта."); player1.exp = player1.exp + mob1.exp; oldlvl = player1.lvl; player1.lvl = player1.exp / 100 + 1; if (oldlvl != player1.lvl) { player1.hp_max = player1.hp_max + 3; player1.damage = player1.damage + 1; player1.hpot_max++; Console.WriteLine("Поздравляем! Вы достигли " + player1.lvl + " уровня. Максимальный запас здоровья увеличен на 3. Урон увеличен на 1. Максимальное количество зелий увеличено до " + player1.hpot_max + "."); } mob1.name = "никого"; mob1.mag = false; Random rnd = new Random(); chance = rnd.Next(3); if (chance == 2 && player1.hpot < player1.hpot_max) { Console.WriteLine("Вы получаете лечебное зелье"); player1.hpot++; } golddrop = rnd.Next(1, 11); player1.gold = player1.gold + (golddrop * player1.lvl); Console.WriteLine("Вы получаете " + (golddrop * player1.lvl) + " золота."); if (player1.v1 == 2) { player1.v1 = 1; player1.hp = player1.hp_max; Console.WriteLine("Вы чувствуете облегчение, ваши силы восстановлены. Можно продолжать путь."); } if (player1.v1 == 5) { player1.v1 = 6; player1.hp = player1.hp_max; Dialog.Dialog10_2(player1.name, player1.TraderName); player1.TraderName = "Деребин"; player1.lvl = 11; player1.exp = 1000; Console.WriteLine("Поздравляем! Вы достигли " + player1.lvl + " уровня. Максимальный запас здоровья увеличен на 3. Урон увеличен на 1. Максимальное количество зелий увеличено до " + player1.hpot_max + "."); } } } } }
public static void EquipItem(Player player1, Item itm1) { if (itm1.slt == 1) { Console.WriteLine("Вы надеваете: " + itm1.name); player1.hp_max = player1.hp_max - player1.pant_hp; player1.armor = player1.armor - player1.pant_arm; player1.damage = player1.damage - player1.pant_dam; player1.pant_hp = 0; player1.pant_arm = 0; player1.pant_dam = 0; player1.pant_name = itm1.name; player1.pant_hp = itm1.hp_bns; player1.pant_arm = itm1.arm_bns; player1.pant_dam = itm1.dam_bns; player1.hp_max = player1.hp_max + player1.pant_hp; player1.armor = player1.armor + player1.pant_arm; player1.damage = player1.damage + player1.pant_dam; itm1.name = "ничего"; }; if (itm1.slt == 2) { player1.hp_max = player1.hp_max - player1.body_hp; player1.armor = player1.armor - player1.body_arm; player1.damage = player1.damage - player1.body_dam; Console.WriteLine("Вы надеваете: " + itm1.name); player1.body_hp = 0; player1.body_arm = 0; player1.body_dam = 0; player1.body_name = itm1.name; player1.body_hp = itm1.hp_bns; player1.body_arm = itm1.arm_bns; player1.body_dam = itm1.dam_bns; player1.hp_max = player1.hp_max + player1.body_hp; player1.armor = player1.armor + player1.body_arm; player1.damage = player1.damage + player1.body_dam; itm1.name = "ничего"; }; if (itm1.slt == 3) { player1.hp_max = player1.hp_max - player1.head_hp; player1.armor = player1.armor - player1.head_arm; player1.damage = player1.damage - player1.head_dam; Console.WriteLine("Вы надеваете: " + itm1.name); player1.head_hp = 0; player1.head_arm = 0; player1.head_dam = 0; player1.head_name = itm1.name; player1.head_hp = itm1.hp_bns; player1.head_arm = itm1.arm_bns; player1.head_dam = itm1.dam_bns; player1.hp_max = player1.hp_max + player1.head_hp; player1.armor = player1.armor + player1.head_arm; player1.damage = player1.damage + player1.head_dam; itm1.name = "ничего"; }; if (itm1.slt == 4) { player1.hp_max = player1.hp_max - player1.weapon_hp; player1.armor = player1.armor - player1.weapon_arm; player1.damage = player1.damage - player1.weapon_dam; Console.WriteLine("Вы надеваете: " + itm1.name); player1.weapon_hp = 0; player1.weapon_arm = 0; player1.weapon_dam = 0; player1.weapon_name = itm1.name; player1.weapon_hp = itm1.hp_bns; player1.weapon_arm = itm1.arm_bns; player1.weapon_dam = itm1.dam_bns; player1.hp_max = player1.hp_max + player1.weapon_hp; player1.armor = player1.armor + player1.weapon_arm; player1.damage = player1.damage + player1.weapon_dam; itm1.name = "ничего"; }; if (itm1.slt == 5) { player1.hp_max = player1.hp_max - player1.hand_hp; player1.armor = player1.armor - player1.hand_arm; player1.damage = player1.damage - player1.hand_dam; Console.WriteLine("Вы надеваете: " + itm1.name); player1.hand_hp = 0; player1.hand_arm = 0; player1.hand_dam = 0; player1.hand_name = itm1.name; player1.hand_hp = itm1.hp_bns; player1.hand_arm = itm1.arm_bns; player1.hand_dam = itm1.dam_bns; player1.hp_max = player1.hp_max + player1.hand_hp; player1.armor = player1.armor + player1.hand_arm; player1.damage = player1.damage + player1.hand_dam; itm1.name = "ничего"; }; if (itm1.slt == 6) { player1.hp_max = player1.hp_max - player1.boot_hp; player1.armor = player1.armor - player1.boot_arm; player1.damage = player1.damage - player1.boot_dam; Console.WriteLine("Вы надеваете: " + itm1.name); player1.boot_hp = 0; player1.boot_arm = 0; player1.boot_dam = 0; player1.boot_name = itm1.name; player1.boot_hp = itm1.hp_bns; player1.boot_arm = itm1.arm_bns; player1.boot_dam = itm1.dam_bns; player1.hp_max = player1.hp_max + player1.boot_hp; player1.armor = player1.armor + player1.boot_arm; player1.damage = player1.damage + player1.boot_dam; itm1.name = "ничего"; }; }
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(); }