--- id: 62a8b6536156c51500739b41 title: Step 62 challengeType: 0 dashedName: step-62 --- # --description-- The `locations` array contains two locations: the town square and the store. Currently you are passing that entire array into the update functions. Pass in only the first element of the `locations` array by adding `[0]` at the end of the variable. For example: `myFunction(arg[0]);`. This is called bracket notation. Values in an array are accessed by index. Indices are numerical values and start at 0 - this is called zero-based indexing. `arg[0]` would be the first element in the `arg` array. # --hints-- You should use bracket notation with `locations`. ```js assert.match(code, /locations\[/); ``` You should access the first object in the `locations` array. Remember that arrays are zero-based. ```js assert.match(code, /locations\[0\]/); ``` You should pass the first object in the `locations` array into the `update` function. ```js assert.match(code, /update\(locations\[0\]\);/); ``` This call should still be in your `goTown()` function. ```js assert.match(goTown.toString(), /update\(locations\[0\]\);/); ``` # --seed-- ## --seed-contents-- ```html RPG - Dragon Repeller
XP: 0 Health: 100 Gold: 50
Monster Name: Health:
Welcome to Dragon Repeller. You must defeat the dragon that is preventing people from leaving the town. You are in the town square. Where do you want to go? Use the buttons above.
``` ```css body { background-color: darkblue; } #text { background-color: black; color: white; padding: 10px; } #game { max-width: 500px; max-height: 400px; background-color: lightgray; color: white; margin: 0 auto; padding: 10px; } #controls, #stats { border: 1px solid black; padding: 5px; color: black; } #monsterStats { display: none; border: 1px solid black; padding: 5px; color: white; background-color: red; } .stat { padding-right: 10px; } ``` ```js let xp = 0; let health = 100; let gold = 50; let currentWeapon = 0; let fighting; let monsterHealth; let inventory = ["stick"]; const button1 = document.querySelector('#button1'); const button2 = document.querySelector("#button2"); const button3 = document.querySelector("#button3"); const text = document.querySelector("#text"); const xpText = document.querySelector("#xpText"); const healthText = document.querySelector("#healthText"); const goldText = document.querySelector("#goldText"); const monsterStats = document.querySelector("#monsterStats"); const monsterName = document.querySelector("#monsterName"); const monsterHealthText =document.querySelector("#monsterHealth"); const locations = [ { name: "town square", "button text": ["Go to store", "Go to cave", "Fight dragon"], "button functions": [goStore, goCave, fightDragon], text: "You are in the town square. You see a sign that says \"Store\"." }, { name: "store", "button text": ["Buy 10 health (10 gold)", "Buy weapon (30 gold)", "Go to town square"], "button functions": [buyHealth, buyWeapon, goTown], text: "You enter the store." } ]; // initialize buttons button1.onclick = goStore; button2.onclick = goCave; button3.onclick = fightDragon; function update(location) { button1.innerText = "Go to store"; button2.innerText = "Go to cave"; button3.innerText = "Fight dragon"; button1.onclick = goStore; button2.onclick = goCave; button3.onclick = fightDragon; text.innerText = "You are in the town square. You see a sign that says \"Store\"."; } --fcc-editable-region-- function goTown() { update(locations); } --fcc-editable-region-- function goStore() { } function goCave() { console.log("Going to cave."); } function fightDragon() { console.log("Fighting dragon."); } function buyHealth() { } function buyWeapon() { } ```