using System.Collections.Generic;
public static void Main()
public List<Tuple<int, int>> Rooms ()
var roomList = new List<Tuple<int, int>>();
roomList.Add(new Tuple<int, int>(0,0));
roomList.Add(new Tuple<int, int>(-2,0));
roomList.Add(new Tuple<int, int>(2,0));
roomList.Add(new Tuple<int, int>(0,-2));
roomList.Add(new Tuple<int, int>(0,2));
public static void GenerateGrid()
var buildMap = new StringBuilder();
var xAxisLength = map.Rooms().Max(i => i.Item1)+1;
var yAxisLength = map.Rooms().Max(i => i.Item2)+1;
for (int x = -10; x < xAxisLength; x++)
for (int y = -10; y < yAxisLength; y++)
map.DrawMap(x, y, buildMap);
Console.Write(buildMap.ToString());
public bool IsRoom(int x, int y)
return Rooms().Any(c => c.Item1.Equals(x) && c.Item2.Equals(y));
public static string DrawRoom()
public static string DrawHorizontalConnector()
public static string DrawVerticalConnector()
public static string DrawRightAngleConnector()
public static string DrawLeftAngleConnector()
public void DrawMap (int x, int y, StringBuilder buildMap)
buildMap.Append(DrawRoom());
else if (IsRoom(x,y-1) && IsRoom(x,y+1))
buildMap.Append(DrawHorizontalConnector());
else if (IsRoom(x-1,y) && IsRoom(x+1,y))
buildMap.Append(DrawVerticalConnector());