// Define the game object const game = { currentRoom: null, rooms: {}, createRoom: function (name, description) { this.rooms[name] = { name: name, description: description, exits: {}, items: [], }; }, createExit: function (sourceRoom, direction, destinationRoom) { this.rooms[sourceRoom].exits[direction] = destinationRoom; }, createItem: function (room, item) { this.rooms[room].items.push(item); }, init: function (startRoom) { this.currentRoom = startRoom; }, look: function () { return this.rooms[this.currentRoom].description; }, go: function (direction) { const nextRoom = this.rooms[this.currentRoom].exits[direction]; if (nextRoom) { this.currentRoom = nextRoom; return "You are now in " + this.currentRoom + "."; } else { return "You can't go that way!"; } }, take: function (item) { const roomItems = this.rooms[this.currentRoom].items; const index = roomItems.indexOf(item); if (index !== -1) { roomItems.splice(index, 1); return "You take the " + item + "."; } else { return "There is no " + item + " here."; } }, }; // Create rooms game.createRoom("start", "You are in a dark room. There is a door to the north."); game.createRoom("hall", "You are in a long hallway. There are doors to the north and south."); game.createRoom("end", "You are in a brightly lit room. There is a door to the south."); // Create exits game.createExit("start", "north", "hall"); game.createExit("hall", "north", "end"); game.createExit("hall", "south", "start"); // Create items game.createItem("start", "key"); // Initialize the game game.init("start"); // Example gameplay console.log(game.look()); // You are in a dark room. There is a door to the north. console.log(game.go("north")); // You are now in hall. console.log(game.look()); // You are in a long hallway. There are doors to the north and south. console.log(game.take("key")); // You take the key. console.log(game.go("north")); // You are now in end. console.log(game.look()); // You are in a brightly lit room. There is a door to the south. console.log(game.go("south")); // You are now in hall.