public class Map {
        private Room[][] rooms;
        private Hunter hunter;
        
        private final int ROWS;
        private final int COLS;

        public Map(int rows, int cols) {
                this.ROWS = rows;
                this.COLS = cols;
        
                rooms = new Room[ROWS][COLS];
                for (int r = 0; r < rooms.length; r++) {
                        for (int c = 0; c < rooms[0].length; c++) {
                                rooms[r][c] = new Room();
                        }
                }
                
                int wumpusLocation = 0;
                int pitLocation = 0;
                /*
                 * This while loop generates random locations for the 
                 * wumpus, and pit. If the random values repeat,
                 * it tries again.
                 */
                while (wumpusLocation == pitLocation)
                {
                        wumpusLocation = (int) (Math.random() * rows * cols);
                        pitLocation = (int) (Math.random() * rows * cols);
                }
                
                this.placeWumpus(wumpusLocation);
                this.placePit(pitLocation);
                
                while(true)
                {        
                        int hunterLocation = (int) (Math.random() * rows * cols);
                        if(rooms[hunterLocation/cols][hunterLocation%cols].isEmpty())
                        {
                                this.placeHunter(hunterLocation);
                                hunter = new Hunter(hunterLocation/cols,hunterLocation%cols);
                                break;
                        }        
                }
        }

        
        /*
         * This method will place the pit at the given location.
         * It will also put slime in the adjacent rooms.
         * The row value is the location divided by the number
         * of columns, and the col value is the location
         * mod the number of columns.
         */
        private void placePit(int pitLocation) {
                // TODO Auto-generated method stub
                
        }

        /*
         * This method will place the wumpus at the given location.
         * It will also put blood in the adjacent rooms.
         * The row value is the location divided by the number
         * of columns, and the col value is the location
         * mod the number of columns.
         */
        private void placeWumpus(int wumpusLocation) {
                // TODO Auto-generated method stub
                
        }

        
        /*
         * This method will place the hunter at the given location.
         * The row value is the location divided by the number
         * of columns, and the col value is the location
         * mod the number of columns.
         */
        private void placeHunter(int hunterLocation) {
                // TODO Auto-generated method stub
                
        }

        /*
         * Depending on the value of dir, this method
         * moves the hunter to a room adjacent to its current
         * room. It updates the Hunter object as well.
         */
        public void Move(Direction dir)
        {
                // TODO Write this code
                
                //Additions by Chris C.
                //Calculate new location
                int newX = this.hunter.getXCoordinate() + dir.getDiffX();
                int newY = this.hunter.getYCoordinate() + dir.getDiffY();
                
                //Verify valid X location
                if( newX >= this.COLS ) {
                        newX = 0;
                }
                
                else if( newX < 0 ) {
                        newX = this.COLS;
                }
                
                //Verify valid Y location
                if( newY >= this.ROWS ) {
                        newY = 0;
                }
                
                else if( newY < 0 ) {
                        newY = this.ROWS;
                }
        }
        
        public String toString() {
                String mapDisplay = "";
                for (int r = 0; r < rooms.length; r++) {
                        for (int c = 0; c < rooms[0].length; c++) {
                                mapDisplay += "[" + rooms[r][c].toString() + "] ";
                        }
                        mapDisplay += System.getProperty("line.separator");
                }
                return mapDisplay;
        }
        
        /**
         * The different directions possible for movement
         */
        
}
@@ -2106,59 +2106,475 @@
     
-// TODO Auto-generated method stub%0A                
+int pitX = pitLocation/COLS;%0A                int pitY = pitLocation%25COLS;%0A                rooms%5BpitX%5D%5BpitY%5D.setCondition(Condtion.PIT);%0A                rooms%5BMath.min(pitX + 1,COLS)%5D%5BpitY%5D.setCondition(Condition.SLIME);%0A                rooms%5BMath.max(pitX - 1, 0)%5D%5BpitY%5D.setCondition(Condition.SLIME);%0A                rooms%5BpitX%5D%5BMath.min(pitY + 1,ROWS)%5D.setCondition(Condition.SLIME);%0A                rooms%5BpitX%5D%5BMath.max(pitY - 1, 0)%5D.setCondition(Condition.SLIME);
 %0A   
@@ -2962,79 +2962,87 @@
     
-// TODO Auto-generated method stub%0A                %0A        %7D%0A%0A        
+int pitX = wumpusLocation/COLS;%0A                int pitY = wumpusLocation%25COLS;
 %0A   
@@ -3042,35 +3042,32 @@
 LS;%0A        
-/*%0A
         
  * This meth
@@ -3058,225 +3058,222 @@
     
- * This method will place the hunter at the given location.%0A         * The row value is the location divided by the number%0A         * of columns, and the col value is the location%0A         * mod the number of columns.
+rooms%5BpitX%5D%5BpitY%5D.setCondition(Condtion.WUMPUS);%0A                rooms%5BMath.min(pitX + 1,COLS)%5D%5BpitY%5D.setCondition(Condition.BLOOD);%0A                rooms%5BMath.max(pitX - 1, 0)%5D%5BpitY%5D.setCondition(Condition.BLOOD);
 %0A   
@@ -3282,133 +3282,164 @@
     
-*/%0A
        
- private void placeHunter(int hunterLocation) %7B%0A                // TODO Auto-generated method stub%0A                
+rooms%5BpitX%5D%5BMath.min(pitY + 1,ROWS)%5D.setCondition(Condition.BLOOD);%0A                rooms%5BpitX%5D%5BMath.max(pitY - 1, 0)%5D.setCondition(Condition.BLOOD);
 %0A   
@@ -4723,32 +4723,244 @@
 .length; c++) %7B%0A
+                                if(c == hunter.getXCoordinate() && c == hunter.getYCoordinate())%0A                                        mapDisplay += %22%5B%22 + H + %22%5D %22;%0A                                else%0A        
                 
@@ -5204,90 +5204,8 @@
    %0A
-        /**%0A         * The different directions possible for movement%0A         */%0A
     
@@ -5210,8 +5210,9 @@
       %0A%7D
+%0A

Update Map.java