From 753b2edc2fcfdfad47c50cea9e9b45f1371e1f0f Mon Sep 17 00:00:00 2001 From: Fen Dweller Date: Thu, 8 Mar 2018 21:29:10 -0500 Subject: [PATCH] Buttons disable/enable properly. Rooms are described. Version number, baby! --- feast.css | 8 ++++++++ feast.html | 49 ++++++++++++++++++++++++++++++++++++++----------- feast.js | 43 +++++++++++++++++++++++++++++++++---------- world.js | 9 ++++++++- 4 files changed, 87 insertions(+), 22 deletions(-) diff --git a/feast.css b/feast.css index ea7bff3..c9c0060 100644 --- a/feast.css +++ b/feast.css @@ -15,6 +15,14 @@ button { height: 100px; } +.active-compass-button { + +} + +.inactive-compass-button { + background: #111; +} + #log { background: #222; width: 100%; diff --git a/feast.html b/feast.html index ba188c6..700864d 100644 --- a/feast.html +++ b/feast.html @@ -19,24 +19,51 @@
-qweqwwetr + Welcome to Feast v0.0.3
-qweqw + qweqw
+ diff --git a/feast.js b/feast.js index 109ee16..3d5fca4 100644 --- a/feast.js +++ b/feast.js @@ -1,7 +1,21 @@ let currentRoom = null; +let dirButtons = []; function updateDisplay() { - document.getElementById("location").innerHTML = currentRoom.name; + for (let i = 0; i < dirButtons.length; i++) { + let button = dirButtons[i]; + if (currentRoom.exits[i] == null) { + button.disabled = true; + button.classList.remove("active-compass-button"); + button.classList.add("inactive-compass-button"); + button.innerHTML = ""; + } else { + button.disabled = false; + button.classList.remove("inactive-compass-button"); + button.classList.add("active-compass-button"); + button.innerHTML = currentRoom.exits[i].name; + } + } } function move(direction) { @@ -11,7 +25,7 @@ function move(direction) { return; } else { currentRoom = target; - update(["You move to " + currentRoom.name]); + update(["You move to " + currentRoom.name,currentRoom.description]); updateDisplay(); } @@ -30,31 +44,40 @@ function update(lines=[]) { div.innerHTML = lines[i]; log.appendChild(div); } + updateDisplay(); } function loadCompass() { - document.getElementById("compass-north-west").addEventListener("click", function() { + dirButtons[NORTH_WEST] = document.getElementById("compass-north-west"); + dirButtons[NORTH_WEST].addEventListener("click", function() { move(NORTH_WEST); }); - document.getElementById("compass-north").addEventListener("click", function() { + dirButtons[NORTH] = document.getElementById("compass-north"); + dirButtons[NORTH].addEventListener("click", function() { move(NORTH); }); - document.getElementById("compass-north-east").addEventListener("click", function() { + dirButtons[NORTH_EAST] = document.getElementById("compass-north-east"); + dirButtons[NORTH_EAST].addEventListener("click", function() { move(NORTH_EAST); }); - document.getElementById("compass-west").addEventListener("click", function() { + dirButtons[WEST] = document.getElementById("compass-west"); + dirButtons[WEST].addEventListener("click", function() { move(WEST); }); - document.getElementById("compass-east").addEventListener("click", function() { + dirButtons[EAST] = document.getElementById("compass-east"); + dirButtons[EAST].addEventListener("click", function() { move(EAST); }); - document.getElementById("compass-south-west").addEventListener("click", function() { + dirButtons[SOUTH_WEST] = document.getElementById("compass-south-west"); + dirButtons[SOUTH_WEST].addEventListener("click", function() { move(SOUTH_WEST); }); - document.getElementById("compass-south").addEventListener("click", function() { + dirButtons[SOUTH] = document.getElementById("compass-south"); + dirButtons[SOUTH].addEventListener("click", function() { move(SOUTH); }); - document.getElementById("compass-south-east").addEventListener("click", function() { + dirButtons[SOUTH_EAST] = document.getElementById("compass-south-east"); + dirButtons[SOUTH_EAST].addEventListener("click", function() { move(SOUTH_EAST); }); } diff --git a/world.js b/world.js index af7f575..eaf3d1a 100644 --- a/world.js +++ b/world.js @@ -14,7 +14,7 @@ let NORTH_WEST = 7; function Location(name="Nowhere") { this.name = name; - this.description = "Not much of anything, really."; + this.description = ""; this.exits = [null,null,null,null,null,null,null,null]; } @@ -41,9 +41,16 @@ function createWorld() { let bedroom = new Location("Bedroom"); let bathroom = new Location("Bathroom"); let livingroom = new Location("Living Room"); + let street = new Location("Street"); + let alley = new Location("Alley"); + let hotvore = new Location("Sexy vore scene"); + hotvore.description = "Oh murr"; connectLocations(bedroom,bathroom,EAST); connectLocations(bedroom,livingroom,NORTH); + connectLocations(livingroom,street,NORTH); + connectLocations(street,alley,WEST); + connectLocations(alley,hotvore,NORTH_WEST); return bedroom; }