|  | "use strict";
let NORTH = 0;
let NORTH_EAST = 1;
let EAST = 2;
let SOUTH_EAST = 3;
let SOUTH = 4;
let SOUTH_WEST = 5;
let WEST = 6;
let NORTH_WEST = 7;
/*jshint browser: true*/
/*jshint devel: true*/
function Location(name="Nowhere") {
  this.name = name;
  this.description = "Not much of anything, really.";
  this.exits = [null,null,null,null,null,null,null,null];
}
function opposite(direction) {
  return (direction + 4) % 8;
}
function connectLocations(loc1,loc2,loc1Exit) {
  if (loc1.exits[loc1Exit] != null) {
    alert(loc1.name + " is already connected to " + loc1.exits[loc1Exit].name);
    return;
  } else if (loc2.exits[opposite(loc1Exit)] != null) {
    alert(loc2.name + " is already connected to " + loc2.exits[opposite(loc1Exit)].name);
    return;
  } else {
    if (loc1Exit >= 0 && loc1Exit <= 7) {
      loc1.exits[loc1Exit] = loc2;
      loc2.exits[opposite(loc1Exit)] = loc1;
    }
  }
}
function createWorld() {
  let bedroom = new Location("Bedroom");
  let bathroom = new Location("Bathroom");
  let livingroom = new Location("Living Room");
  connectLocations(bedroom,bathroom,EAST);
  connectLocations(bedroom,livingroom,NORTH);
  return bedroom;
}
 |