public static Hike ContinueHike(Hike nowHike) { string name; Console.WriteLine("Enter hike name"); name = Console.ReadLine(); List <Character> characters = nowHike.GetAllCharacters(); Storage storage = nowHike.GetStorage(); Console.WriteLine("Choose quest"); TileWithCoords choosenTile = Map.ChooseTileOnMap(nowHike.GetHikePlacement()); List <Eventt> choosenQuests = ReadLoadTile.ReadTileById(choosenTile.GetTile()).GetQuests(); Coords destination = choosenTile.GetCoords(); int i = 0; foreach (Eventt qst in choosenQuests) { Console.WriteLine("{0}. {1}", i, qst.GetName()); i++; } int cho = PlayerInput.Input(0, choosenQuests.Count()); Eventt quest = choosenQuests[cho]; Console.WriteLine("Choose Path"); List <Coords> path = Map.BuildPath(nowHike.GetHikePlacement(), destination); return(new Hike(name, characters, path, quest, storage)); }
public static Hike StartHike() { List <Coords> path; List <Character> characters = new List <Character> { }; Eventt quest = null; List <Eventt> choosenQuests; bool continuee = true; string name; int i; int cho; Console.WriteLine("Enter hike name"); name = Console.ReadLine(); Console.WriteLine("Choose characters"); while (continuee) { i = 0; Console.WriteLine("Choosen Characters:"); foreach (Character character1 in characters) { Console.WriteLine(character1.GetName()); } Console.WriteLine("Free Characters"); foreach (Character character in Town.GetFreeCharacters()) { Console.WriteLine("{0}. {1}", i, character.GetName()); i++; } Console.WriteLine("{0}. Remove characters from hike", i); i++; Console.WriteLine("{0}. That's all, continue", i); cho = PlayerInput.Input(0, Town.GetFreeCharacters().Count() + 2); Console.Write("\n"); if (cho >= 0 && cho < Town.GetFreeCharacters().Count()) { characters.Add(Town.GetFreeCharacters()[cho]); Town.RemoveFreeCharacter(Town.GetFreeCharacters()[cho]); } else { if (cho == Town.GetFreeCharacters().Count()) { do { i = 0; Console.WriteLine("Free Characters"); foreach (Character character in Town.GetFreeCharacters()) { Console.WriteLine(character.GetName()); } Console.WriteLine("Choosen Characters:"); foreach (Character character1 in characters) { Console.WriteLine("{0}. {1}", i, character1.GetName()); i++; } Console.WriteLine("{0}. Add characters to the hike", i); i++; cho = PlayerInput.Input(0, characters.Count() + 1); if (cho >= 0 && cho < characters.Count()) { Town.AddFreeCharacter(characters[cho]); characters.Remove(characters[cho]); } else { if (cho == characters.Count()) { continuee = false; } } } while (continuee); cho = 0; continuee = true; } if (cho == Town.GetFreeCharacters().Count() + 1) { if (characters.Count() != 0) { continuee = false; } else { Console.WriteLine("Choose at least one"); } } } } Console.WriteLine("Choose quest"); TileWithCoords choosenTile = Map.ChooseTileOnMap(Map.GetTownCoords()); choosenQuests = ReadLoadTile.ReadTileById(choosenTile.GetTile()).GetQuests(); Coords destination = choosenTile.GetCoords(); i = 0; foreach (Eventt qst in choosenQuests) { Console.WriteLine("{0}. {1}", i, qst.GetName()); i++; } cho = PlayerInput.Input(0, choosenQuests.Count()); quest = choosenQuests[cho]; Console.WriteLine("Choose Path"); path = Map.BuildPath(Map.GetTownCoords(), destination); return(new Hike(name, characters, path, quest, new List <Item> { }, 100, 100)); }