public async Task <IActionResult> Edit(int id, ResidenceBuilding residenceBuilding) { if (id != residenceBuilding.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(residenceBuilding); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ResidenceBuildingExists(residenceBuilding.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["BuildingTypeId"] = new SelectList(_context.BuildingTypes, "Id", "Name", residenceBuilding.BuildingTypeId); ViewData["ResidenceZoneId"] = new SelectList(_context.ResidenceZones, "Id", "Name", residenceBuilding.ResidenceZoneId); return(View(residenceBuilding)); }
// adds a building to the appropriate dictionary public void addBuilding(Tuple t, Building b) { if (b.GetType() == typeof(HeadQuarterBuilding)) { HeadQuarterBuilding head = (HeadQuarterBuilding)b; hq = head; hqLocation.x = t.x; hqLocation.y = t.y; } else if (b.GetType() == typeof(DecorativeBuilding)) { DecorativeBuilding decBuilding = (DecorativeBuilding)b; decorativeBuildings.Add(t, decBuilding); } else if (b.GetType() == typeof(ResourceBuilding)) { ResourceBuilding resBuilding = (ResourceBuilding)b; resourceBuildings.Add(t, resBuilding); } else if (b.GetType() == typeof(ResidenceBuilding)) { ResidenceBuilding resBuilding = (ResidenceBuilding)b; residenceBuildings.Add(t, resBuilding); } }
public async Task <IActionResult> Create(ResidenceBuilding residenceBuilding) { if (ModelState.IsValid) { _context.Add(residenceBuilding); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["BuildingTypeId"] = new SelectList(_context.BuildingTypes, "Id", "Name", residenceBuilding.BuildingTypeId); ViewData["ResidenceZoneId"] = new SelectList(_context.ResidenceZones, "Id", "Name", residenceBuilding.ResidenceZoneId); return(View(residenceBuilding)); }
static void Main(string[] args) { map[19, 19] = 1; int haveInput = 0; // choose difficulty level Console.WriteLine("Choose difficulty (Easy, Medium or Hard)"); string d = Console.ReadLine().ToLower(); // toLower just in case Console.Clear(); // Remove the Choose difficulty text Difficulty difficult = new Difficulty(); switch (d) { case "easy": difficult = Difficulty.Easy; break; case "medium": difficult = Difficulty.Medium; break; case "hard": difficult = Difficulty.Hard; break; } if (difficult == Difficulty.Easy) { timer = 100 * 2; } else if (difficult == Difficulty.Medium) { timer = 70 * 2; } else if (difficult == Difficulty.Hard) { timer = 50; } drawMap(map, buildings, true); while (!lose) { Thread.Sleep(timer); if (Console.KeyAvailable) { keyInfo = Console.ReadKey(); if (Convert.ToString(keyInfo.Key) == "Enter") { Console.Clear(); Console.WriteLine("What kind of building you want to build?"); Console.WriteLine("e) Electricity factory "); Console.WriteLine("f) Food factory "); Console.WriteLine("w) Water factory "); Console.WriteLine("h) Hospital "); Console.WriteLine("r) Residence "); Console.WriteLine("s) Security "); Console.WriteLine("Write only letter a, b, c, d, e or f "); string letter = Console.ReadLine(); Position position = new Position(); position.x = cursorX; position.y = cursorY; switch (letter) { case "e": buildings[countOfBuildings] = new ElectricityFactory('E', position, Color.Blue, ref electricity); break; case "f": buildings[countOfBuildings] = new FoodFactory('F', position, Color.Gray, ref electricity, ref food); break; case "w": buildings[countOfBuildings] = new WaterFactory('W', position, Color.Green, ref electricity, ref water); break; case "h": buildings[countOfBuildings] = new HospitalBuilding('H', position, Color.Pink, 1, ref health, ref electricity); break; case "r": buildings[countOfBuildings] = new ResidenceBuilding('R', position, Color.Yellow, 1, ref security, ref health, ref electricity, ref food, ref water, ref money); residenceBuildingsCount++; break; case "s": buildings[countOfBuildings] = new SecurityBuilding('S', position, Color.Red, 1, ref security, ref electricity); break; } countOfBuildings++; drawMap(map, buildings, true); } if (Convert.ToString(keyInfo.Key) == "LeftArrow") { cursorX--; } if (Convert.ToString(keyInfo.Key) == "RightArrow") { cursorX++; } if (Convert.ToString(keyInfo.Key) == "UpArrow") { cursorY--; } if (Convert.ToString(keyInfo.Key) == "DownArrow") { cursorY++; } if (cursorX < 0) { cursorX = 0; } if (cursorX >= Map_Size_X) { cursorX = Map_Size_X - 1; } if (cursorY < 0) { cursorY = 0; } if (cursorY >= Map_Size_Y) { cursorY = Map_Size_Y - 1; } Console.Clear(); keyInfo = new ConsoleKeyInfo(); EnemyMove(ref map, ref buildings, sizeOfEnemy); sizeOfEnemy++; drawMap(map, buildings, true); Console.SetCursorPosition(0, 20); Console.WriteLine("Electricity: {0} Food: {1} Water: {2} Happiness: {3} \nHealth: {4} Money: {5} Population: {6} Security: {7}", electricity.Amount, food.Amount, water.Amount, happiness.Amount, health.Amount, money.Amount, population.Amount, security.Amount); Console.WriteLine("Use up, down, left and right arrow keys to choose your position to build!"); Console.WriteLine("Press enter to choose a building!"); Console.SetCursorPosition(cursorX, cursorY); Console.WriteLine("X"); haveInput = 1; } else { drawMap(map, buildings, false); Console.SetCursorPosition(0, 20); Console.WriteLine("Electricity: {0} Food: {1} Water: {2} Happiness: {3} \nHealth: {4} Money: {5} Population: {6} Security: {7}", electricity.Amount, food.Amount, water.Amount, happiness.Amount, health.Amount, money.Amount, population.Amount, security.Amount); Console.WriteLine("Use up, down, left and right arrow keys to choose your position to build!"); Console.WriteLine("Press enter to choose a building!"); Console.SetCursorPosition(cursorX, cursorY); Console.WriteLine("X"); } } }