public SimulationObject[,,] initializeMap() { SimulationObject[,,] domain = new SimulationObject[3, this.getRows() + 2, this.getColumns() + 2]; string[,] realDomain = this.getDomain(); //creating floor for (int i = 0; i < domain.GetLength(1); i++) { for (int j = 0; j < domain.GetLength(2); j++) { // Simulation Object Initiate - inserting wall as name domain[0, i, j] = new SimulationObject("f", 0); // assign the simulation objects } } //creating domain for (int i = 0; i < this.getRows(); i++) { for (int j = 0; j < this.getColumns(); j++) { if (this.getCharAt(i, j).StartsWith("h") || this.getCharAt(i, j).StartsWith("b")) { domain[1, i + 1, j + 1] = new SimulationObject(this.getCharAt(i, j).Substring(0, 1), Convert.ToInt32(this.getCharAt(i, j).Substring(1, 2))); } else { domain[1, i + 1, j + 1] = new SimulationObject(this.getCharAt(i, j), 0); } } } //creating frame for (int i = 0; i < domain.GetLength(2); i++) { domain[1, 0, i] = new SimulationObject("w", 0); domain[1, this.getRows() + 1, i] = new SimulationObject("w", 0); } for (int i = 0; i < domain.GetLength(1); i++) { domain[1, i, 0] = new SimulationObject("w", 0); domain[1, i, this.getColumns() + 1] = new SimulationObject("w", 0); } return(domain); }