From ade2fe2339a18baeaec7682a94578385e2b82083 Mon Sep 17 00:00:00 2001 From: Andrew Miner Date: Mon, 28 May 2018 20:53:41 -0600 Subject: [PATCH] Allow entering the car and ending the game --- game_engine.coffee | 13 +++++++++---- story.coffee | 14 +++++++++----- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/game_engine.coffee b/game_engine.coffee index 54a6c7f..9822314 100644 --- a/game_engine.coffee +++ b/game_engine.coffee @@ -10,14 +10,15 @@ configureDefaults = (story)-> parser = story.parser parser.addDirections( - "north", "northeast", "east", "southeast", "south", "southwest", "west", "northwest", "up", "down" + "north", "northeast", "east", "southeast", "south", "southwest", "west", "northwest", "up", "down", "in", "out" ) parser.addFillerWords( "a", "all", "an", "around", "at", "everything", "of", "it", "the", "to", "thing" ) parser.addAliases({ - "d": "down", "e": "east", "g": "go", "i": "inventory", "l": "look", "n": "north", "ne": "northeast", - "nw": "northwest", "s": "south", "se": "southeast", "sw": "southwest", "u": "up", "w": "west", + "d": "down", "e": "east", "g": "go", "get": "take", "i": "inventory", "into": "in", "l": "look", + "leave": "exit", "n": "north", "ne": "northeast", "nw": "northwest", "s": "south", "se": "southeast", + "sw": "southwest", "u": "up", "w": "west" }) ######################################################################################################################## @@ -185,7 +186,6 @@ class Location extends Actor result.push("\n") result.push(@description) - console.log("@inventory.length: #{@inventory.length}") if @inventory.length > 0 result.push("") result.push(@inventory.describe()) @@ -238,6 +238,7 @@ class Parser @verbs[verb] = verb interpret: (userInput)-> + userInput = userInput.toLowerCase() sentence = new Sentence for rawWord in userInput.split(/\s\s*/) rawWord = @_resolveAliases(rawWord) @@ -492,6 +493,7 @@ class Story extends Actor @onRestart = onRestart @parser = new Parser(this) @player = new Player(this) + @possibleScore = undefined @title = title # Properties ################################################################################### @@ -528,6 +530,9 @@ class Story extends Actor location.visited = true + endGame: -> + @log.writeln("\n\nThanks for playing! Say: \"restart\" to play again!\n\n\n") + interpret: (userInput)-> try @log.echoInput(userInput) diff --git a/story.coffee b/story.coffee index c616ab3..3efca9e 100644 --- a/story.coffee +++ b/story.coffee @@ -18,16 +18,19 @@ window.STORY = new Story "A Walk Through My House", -> car = @addLocation "Your Car" car.description = "Your car isn't anything special, but it does get you around." - car.addVerb "leave", "drive", "start", => + car.addVerb "drive", "start", => @log.writeln("Having finished your visit, you drive back home again.") @endGame() driveway = @addLocation "Driveway" driveway.description = - "The driveway extends slightly uphill a short way to the west back to the street. At this part, it's recessed a - little below the level of the lawn with a stone wall defining the boundary. To the south are three garage doors - which make up the entire side of the house. Above the doors are a few windows. The back yard is to the east, and - the some steps lead up to the front porch to the southwest." + "The driveway is paved with concrete, and quite large: room enough for five or six cars. Your own car is the + only one here at the moment, though. The driveway extends slightly uphill a short way to the west back to the + street. At this part, it's recessed a little below the level of the lawn with a stone wall defining the + boundary.\n\nFrom where you're standing, it looks like most of the property has been left wild with tall, + scraggly pine trees swaying in a light breeze. Immediately surrounding the house is a short-cropped lawn. To the + south are three garage doors which make up the entire side of the house. Above the doors are a few windows. The + back yard is to the east, and the some steps lead up to the front porch to the southwest." driveway.addItem hose frontPorch = @addLocation "Front Porch" @@ -40,6 +43,7 @@ window.STORY = new Story "A Walk Through My House", -> # Configure Map #################################################################################################### + driveway.addTransition "in", car driveway.addTransition "southwest", frontPorch frontPorch.addTransition "north", driveway