private void buildLocations()
    {
        Location exhibit, reception, cafe, guardOffice, museumEntrance, museumCarPark, car, gunWharf, cinema, lobby1, lobby2, screen1, screen2, screen3, screen4, fireExit, rescuePoint;
        MovableObject keyEntrance, health, food, brick;
        FixedObject chair;

        keyEntrance = MovableObject.create("key")
                           .withDescription("A key that unlocks museum entrance door")
                           .andHasPasscode(900);       
       
        health = MovableObject.create("health")
                           .withDescription("A health Potion that recovers 12")
                           .andHealthPotion(12);
        food = MovableObject.create("food")
                           .withDescription("Food")
                           .andWeight(1);
        brick = MovableObject.create("brick")
                           .withDescription("a heavy brick")
                           .andWeight(5);

        chair = FixedObject.create("chair")
                           .withDescription("An old wooden chair");
       
        
        exhibit = Location.create(); // Start Location
        reception = Location.create();
        cafe = Location.create();
        guardOffice = Location.create();
        museumEntrance = Location.create();
        museumCarPark = Location.create();
        car = Location.create();
        
        gunWharf = Location.create();
        
        cinema = Location.create();
        lobby1 = Location.create();        
        lobby2 = Location.create();
        screen1 = Location.create();
        screen2 = Location.create();
        screen3 = Location.create();
        screen4 = Location.create();
        
        fireExit = Location.create();        
        rescuePoint = Location.create();
        
        
        exhibit.addDescription("Medieval Exhibit")
                .withExit("south", reception)
                .andHasObject(chair)
                .andHasObject(health);
               
        reception.addDescription("Museum Reception")
               .withExit("east", cafe)
               .withExit("south", museumEntrance)
               .withExit("west", guardOffice)
               .withExit("north", exhibit)
               .andEnemy(enemy1);

        guardOffice.addDescription("Security Guard Office")
           .withExit("east", reception)
           .andPasscode(500) // Unlocked by keyOffice
           .andHasObject(keyEntrance);
        
        cafe.addDescription("Museum Cafe")
           .withExit("west", reception)
           .andHasObject(health)                          
           .andHasObject(food)               
           .andFriend(sam);

        museumEntrance.addDescription("Museum Entrance")
            .withExit("north", reception)
            .withExit("south", museumCarPark)
            .andPasscode(900); // Unlocked by keyOffice 
            
        museumCarPark.addDescription("Museum Car Park")
            .withExit("north", museumEntrance)
            .withExit("south", gunWharf);
            
        gunWharf.addDescription("Gun Wharf Shoping Floor 1")
            .withExit("north", car)
            .withExit("south", cinema)
            .andHasObject(brick);              
            
        cinema.addDescription("Cinema Entrance")
            .withExit("north", gunWharf)
            .withExit("west", lobby1)
            .withExit("south", lobby2)
            .withExit("east", fireExit)            
            .andHasObject(brick);
            
        lobby1.addDescription("Cinema Lobby for screens 1 and 2")
            .withExit("east", cinema)
            .withExit("west", screen1)            
            .withExit("south", screen2);        
            
        lobby2.addDescription("Cinema Lobby for screens 3 and 4")
            .withExit("north", cinema)
            .withExit("east", screen4)            
            .withExit("south", screen3)
            .andHasObject(food)               
            .andFriend(sam);
            
        screen1.addDescription("Cinema Screen 1")
            .withExit("north", lobby1)
            .withExit("east", screen2);
            
        screen2.addDescription("Cinema Screen 2")
            .withExit("north", lobby1)
            .withExit("west", screen1)   
            .withExit("east", screen3);
            
        screen3.addDescription("Cinema Screen 3")
            .withExit("north", lobby2)
            .withExit("west", screen2)   
            .withExit("east", screen4)
            .andFriend(john);
            
        screen4.addDescription("Cinema Screen 4")
            .withExit("north", lobby2)
            .withExit("west", screen3);
            
            
        fireExit.addDescription("Cinema Fire Exit")
            .withExit("east", rescuePoint)
            .withExit("west", cinema)            
            .andPasscode(200) // Unlocked by keyBoat ;
            .andEnemy(enemy3);

            
        rescuePoint.addDescription("RESCUE")
            .withExit("west", fireExit);

            
        
        
        gameData.addLocation(exhibit);
        gameData.addLocation(reception);
        gameData.addLocation(cafe);
        gameData.addLocation(guardOffice);
        gameData.addLocation(museumEntrance);
        gameData.addLocation(museumCarPark);
        gameData.addLocation(car);
        gameData.addLocation(gunWharf);
        gameData.addLocation(cinema);
        gameData.addLocation(lobby1);
        gameData.addLocation(lobby2);
        gameData.addLocation(screen1);
        gameData.addLocation(screen2);
        gameData.addLocation(screen3);
        gameData.addLocation(screen4);
        
        gameData.addLocation(fireExit);
        gameData.addLocation(rescuePoint);
        
        
        gameData.setNewLocation(exhibit);
    }