private void InitialiteConsumables() { AnimalFood animalFood = new AnimalFood(); AnimalWater animalWater = new AnimalWater(); Fertilizer fertilizer = new Fertilizer(); Fungicide fungicide = new Fungicide(50); Herbicide herbicide = new Herbicide(50); Irrigation irrigation = new Irrigation(); Pesticide pesticide = new Pesticide(50); Vaccine vaccine = new Vaccine(50); market.AddConsumable(animalFood); market.AddConsumable(animalWater); market.AddConsumable(fertilizer); market.AddConsumable(fungicide); market.AddConsumable(herbicide); market.AddConsumable(irrigation); market.AddConsumable(pesticide); market.AddConsumable(vaccine); }
public void ApplyCure() { int selectedTerrainIndex = map.getTerrainIndex(player.Terrains, true); if (selectedTerrainIndex == -1) { Console.WriteLine("Opción no valida..."); } else { Terrain selectedTerrain = map.Terrains[selectedTerrainIndex]; int playerTerrainIndex = player.Terrains.IndexOf(selectedTerrain); Terrain terrain = player.Terrains[playerTerrainIndex]; if (!terrain.HasBuilding()) { Console.WriteLine("No tienes un edificio en este terreno..."); } else { Building terrainBuilding = terrain.Building; if (terrainBuilding.GetType() == typeof(Plantation)) { Plantation plantationBuilding = terrainBuilding as Plantation; List <Consumable> availableConsumables = new List <Consumable>(); bool hasAvailableConsumables = false; while (!hasAvailableConsumables) { availableConsumables = player.GetAvailableConsumables(new List <string> { "Herbicide", "Pesticide", "Fungicide" }); string option = CheckIfCanAddConsumableToTerrain(availableConsumables); if (option == "out") { return; } else if (option == "continue") { hasAvailableConsumables = true; } } Console.WriteLine("Elige uno de los productos disponibles:"); for (int i = 0; i < availableConsumables.Count; i++) { Console.WriteLine($"({i + 1}) - {availableConsumables[i].Name}"); } int userOption = Int32.Parse(Console.ReadLine()); if (userOption < 1 || userOption > availableConsumables.Count) { Console.WriteLine("Opción no valida..."); return; } Consumable selectedConsumable = availableConsumables[userOption - 1]; if (selectedConsumable.GetType() == typeof(Herbicide)) { Herbicide herbicideConsumable = selectedConsumable as Herbicide; if (herbicideConsumable.CheckSuccess()) { plantationBuilding.HasUndergrowth = false; Console.WriteLine($"Herbicida funciono."); } else { Console.WriteLine($"Herbicida no funciono."); } } else if (selectedConsumable.GetType() == typeof(Pesticide)) { Pesticide pesticideConsumable = selectedConsumable as Pesticide; if (pesticideConsumable.CheckSuccess()) { plantationBuilding.HasWorms = false; Console.WriteLine($"Pesticida funciono."); } else { Console.WriteLine($"Pesticida no funciono."); } } else if (selectedConsumable.GetType() == typeof(Fungicide)) { Fungicide fungicideConsumable = selectedConsumable as Fungicide; if (fungicideConsumable.CheckSuccess()) { plantationBuilding.Sick = false; Console.WriteLine($"Fungicida funciono."); } else { Console.WriteLine($"Fungicida no funciono."); } } else { return; } int indexOfConsumable = player.consumables.IndexOf(selectedConsumable); player.consumables.RemoveAt(indexOfConsumable); } else if (terrainBuilding.GetType() == typeof(Livestock)) { Livestock liveStockBuilding = terrainBuilding as Livestock; List <Consumable> availableConsumables = new List <Consumable>(); bool hasAvailableConsumables = false; while (!hasAvailableConsumables) { availableConsumables = player.GetAvailableConsumables(new List <string> { "Vaccine" }); string option = CheckIfCanAddConsumableToTerrain(availableConsumables); if (option == "out") { return; } else if (option == "continue") { hasAvailableConsumables = true; } } Console.WriteLine("Elige uno de los productos disponibles:"); for (int i = 0; i < availableConsumables.Count; i++) { Console.WriteLine($"({i + 1}) - {availableConsumables[i].Name}"); } int userOption = Int32.Parse(Console.ReadLine()); if (userOption < 1 || userOption > availableConsumables.Count) { Console.WriteLine("Opción no valida..."); return; } Consumable selectedConsumable = availableConsumables[userOption - 1]; if (selectedConsumable.GetType() == typeof(Vaccine)) { Vaccine vaccineConsumable = selectedConsumable as Vaccine; if (vaccineConsumable.CheckSuccess()) { liveStockBuilding.Sick = false; Console.WriteLine($"Vacuna funciono."); } else { Console.WriteLine($"Vacuna no funciono."); } } else { return; } int indexOfConsumable = player.consumables.IndexOf(selectedConsumable); player.consumables.RemoveAt(indexOfConsumable); } else { return; } } } }