From e255ccf7f01247a5e305dc6028b33ed8cd2e484e Mon Sep 17 00:00:00 2001 From: Fen Dweller Date: Fri, 16 Mar 2018 16:53:16 -0400 Subject: [PATCH] Added a kind of half working save/load system --- feast.js | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++--- objects.js | 16 ++++++++++ 2 files changed, 102 insertions(+), 4 deletions(-) diff --git a/feast.js b/feast.js index 619afc2..5a7e7ef 100644 --- a/feast.js +++ b/feast.js @@ -265,14 +265,16 @@ function move(direction) { moveTo(target,currentRoom.exitDescs[direction]); } -function moveToByName(roomName, desc="You go places lol") { - moveTo(world[roomName], desc); +function moveToByName(roomName, desc="You go places lol", loading=false) { + moveTo(world[roomName], desc, loading); } -function moveTo(room,desc="You go places lol") { +function moveTo(room,desc="You go places lol", loading=false) { actions = []; currentRoom = room; - advanceTime(30); + + if (!loading) + advanceTime(30); currentRoom.objects.forEach(function (object) { object.actions.forEach(function (action) { @@ -356,6 +358,15 @@ function retrieveSettings() { return JSON.parse(window.localStorage.getItem("settings")); } +function clearScreen() { + let log = document.getElementById("log"); + let child = log.firstChild; + while (child != null) { + log.removeChild(child); + child = log.firstChild; + } +} + function update(lines=[]) { let log = document.getElementById("log"); for (let i=0; i= 0) { + k = n; + } else { + k = len + n; + if (k < 0) {k = 0;} + } + var currentElement; + while (k < len) { + currentElement = O[k]; + if (searchElement === currentElement || + (searchElement !== searchElement && currentElement !== currentElement)) { + return true; + } + k++; + } + return false; + }; +} diff --git a/objects.js b/objects.js index abb8331..f2dbf06 100644 --- a/objects.js +++ b/objects.js @@ -83,6 +83,22 @@ function Bed() { updateDisplay(); } }); + this.actions.push({ + "name": "Save Game", + "action": function() { + saveGame(); + update(["Game saved."]); + updateDisplay(); + } + }); + this.actions.push({ + "name": "Load Game", + "action": function() { + loadGame(); + update(["Game loaded."]); + updateDisplay(); + } + }); } function Journal() {