uni

Thing1's amazing uni repo
Log | Files | Refs | Submodules

Dungon.java (808B)


      1 package Monster;
      2 
      3 public class Dungon {
      4 	private Room[][] rooms;
      5 
      6 	public Dungon(int w, int h) {
      7 		rooms = new Room[h][w];
      8 		updateConnections();
      9 	}
     10 
     11 	public void setRoom(int x, int y, Room room) {
     12 		rooms[y][x] = room;
     13 		updateConnections();
     14 		updateConnections();
     15 	}
     16 
     17 	public Room getRoom(int x, int y) {
     18 		updateConnections();
     19 		return rooms[y][x];
     20 	}
     21 
     22 	private void updateConnections() {
     23 		for (int r = 0; r < rooms.length; r++) {
     24 			for (int c = 0; c < rooms[r].length; c++) {
     25 				if (rooms[r][c] != null) {
     26 					if (r > 0)
     27 						rooms[r][c].setNorth(rooms[r - 1][c]);
     28 					if (r < rooms.length - 1)
     29 						rooms[r][c].setSouth(rooms[r + 1][c]);
     30 					if (c > 0)
     31 						rooms[r][c].setWest(rooms[r][c - 1]);
     32 					if (c < rooms[r].length - 1)
     33 						rooms[r][c].setEast(rooms[r][c + 1]);
     34 				}
     35 			}
     36 		}
     37 	}
     38 }