public override string ToString() { StringBuilder sb = new StringBuilder(); sb.AppendLine(MainPerson.ToString()); sb.AppendLine("Parents:"); if (Parents.Any()) { sb.AppendLine(string.Join(Environment.NewLine, Parents)); } sb.AppendLine("Children:"); sb.AppendLine(string.Join(Environment.NewLine, Children)); return(sb.ToString().TrimEnd()); }
static void Main() { Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("ru-RU"); #region creating_main_character Console.WriteLine("Яркий солнечный свет, проникающий сквозь веки, помог мне прийти в себя."); Console.WriteLine("Открыв глаза, я осмотрелся. Итак, я нахожусь на небольшой лесной полянке."); Console.WriteLine("Потом осмотрел своё тело. --[А кто я?]--"); string chose = ChoseSimulation(new List <string> { "Human", "Gnome", "Elf", "Orc", "Goblin" }, rm.GetString("InvalidUserCmd")); Races race = Races.Human; switch (chose) { case "Human": race = Races.Human; break; case "Gnome": race = Races.Gnome; break; case "Elf": race = Races.Elf; break; case "Orc": race = Races.Orc; break; case "Goblin": race = Races.Goblin; break; } Console.WriteLine("--[А какого я пола?]--"); chose = ChoseSimulation(new List <string> { "Male", "Female" }, rm.GetString("InvalidUserCmd")); Genders gender = chose == "Male" ? Genders.Male : Genders.Female; Console.WriteLine("--[А я умею колдовать?]--"); chose = ChoseSimulation(new List <string> { "Yes", "No" }, rm.GetString("InvalidUserCmd")); bool isWizard = chose == "Yes" ? true : false; Console.WriteLine("--[А как меня зовут?]--"); string name = Console.ReadLine(); Character MainPerson; if (!isWizard) { MainPerson = new Character(name, race, gender, 20, 500.0); } else { MainPerson = new Wizard(name, race, gender, 40, 500.0, 300.0); } #endregion #region found_aqua_vitae Console.WriteLine("Вроде все мои знания оказались при мне. Похоже всё нормально."); Console.WriteLine("Размышляя о весьма важных для меня вещах, я заметил небольшую бутылку у моих ног."); Console.WriteLine("--[Подобрать бутылку]--"); chose = ChoseSimulation(new List <string> { "Yes", "No" }, rm.GetString("InvalidUserCmd")); if (chose == "Yes") { MainPerson.GetArtefact(new AquaVitae(AquaVitae.Volumes.Normal), false); } #endregion #region rider Console.WriteLine("Из-за поворота на тракте сначала показался передовой всадник на вороном коне."); Console.WriteLine("Одет он по военному - кольчуга, шлем, сапоги, на плечах линялый плащ, в ножнах меч, а в руке копьё с вымпелом."); Console.WriteLine("Всадник подскакал ко мне и остановил коня."); Character Rider = new Character("Rider", Races.Human, Genders.Male, 25, 100.0); Rider.Inventory.GetArtefact(new LightningStaff(200)); Console.WriteLine("-Всадник: Кто такой, и куда направляешься?"); chose = ChoseSimulation(new List <string> { "Нагрубить", $"Я {name}" }, rm.GetString("InvalidUserCmd")); if (chose == "Нагрубить") { Console.WriteLine($"-{name}: Чё тебе надо, думаешь крутой на коне?"); Console.WriteLine("--[Всадник атаковал вас]--"); MainPerson.CurrentHealth -= 50; while (MainPerson.Condition != Conditions.Dead && Rider.Condition != Conditions.Dead) { Console.WriteLine("--[Что делать?]--"); chose = ChoseSimulation(new List <string> { "Атаковать", "Бежать" }, rm.GetString("InvalidUserCmd")); if (chose == "Атаковать") { Rider.CurrentHealth -= 25; Console.WriteLine("--[Всадник атаковал вас]--"); MainPerson.CurrentHealth -= 50; } if (chose == "Бежать") { Console.WriteLine("-Всадник: Куда бежишь, я на коне!"); Console.WriteLine("--[Всадник догоняет вас и атакует]--"); MainPerson.CurrentHealth -= 35; } } if (Rider.Condition == Conditions.Dead) { Console.WriteLine("--[Вы убили всадника и забрали у него артефакт]--"); MainPerson.GetArtefact(new PoisonousSaliva(100), false); } else if (MainPerson.Condition == Conditions.Dead) { Console.WriteLine("--[Вы умерли, игра окончена]--"); Environment.Exit(0); } } else { Console.WriteLine($"-{name}: Я {name} и иду я в Изенгард, где надеюсь найти службу."); Console.WriteLine("~Так я решил назваться в Средиземье, и имя это придумал сам.~"); Console.WriteLine("-Мужчина спрыгнул на землю и подошел ко мне поближе, оказавшись ростом примерно метр восемьдесят."); Console.WriteLine("-Всадник: И что же ты здесь делаешь?"); Console.WriteLine("~В этот момент я почувствовал общий настрой этого человека - смесь подозрительности, " + "заинтересованности и досады на возможную задержку, связанною с тем, что придется разбираться со мной." + " Но, самое главное, враждебность от него не исходила.~"); chose = ChoseSimulation(new List <string> { "Я сам не знаю", "Я путешественник" }, rm.GetString("InvalidUserCmd")); if (chose == "Я путешественник") { Console.WriteLine("-Всадник: Интересно, и откуда ты?"); chose = ChoseSimulation(new List <string> { "Из Ендерма", "Из Изенгарда" }, rm.GetString("InvalidUserCmd")); if (chose == "Из Ендерма") { Console.WriteLine("-Всадник: Моя семья родом оттуда, землякам нужно помогать. Держи."); Rider.GiveArtefact(MainPerson, new LightningStaff(200)); } else { Console.WriteLine("-Всадник: Ну хорошо, ступай своей дорогой"); } } else { Console.WriteLine("-Всадник: Звучит глупо! Ты наверное гробокопатель. Умри!"); Console.WriteLine("--[Пока вы говорили со всадником, к нему подбежали трое других]--"); Console.WriteLine("--[Вы пытались убежать, но что-то пошло не так]--"); Console.WriteLine("--[Вы умерли, игра окончена]--"); Environment.Exit(0); } } #endregion NewChapter(2, MainPerson); }