freeCodeCamp/curriculum/challenges/japanese/15-javascript-algorithms-an.../learn-basic-javascript-by-b.../62a3b365f1cdeb33efc2502e.md

139 lines
3.0 KiB
Markdown
Raw Normal View History

---
id: 62a3b365f1cdeb33efc2502e
title: Step 23
challengeType: 0
dashedName: step-23
---
# --description--
You have been declaring your variables with the `var` keyword. However, in modern JavaScript it is best practice to use the `let` keyword instead. This fixes several unusual behaviors with `var` that can make your code difficult to debug.
Change all of your `var` keywords to `let`.
# --hints--
You should not have any `var` keywords in your code.
```js
assert.notMatch(code, /var/);
```
You should use the `let` keyword to declare your `xp` variable.
```js
assert.match(code, /let xp/);
```
You should use the `let` keyword to declare your `health` variable.
```js
assert.match(code, /let health/);
```
You should use the `let` keyword to declare your `gold` variable.
```js
assert.match(code, /let gold/);
```
You should use the `let` keyword to declare your `currentWeapon` variable.
```js
assert.match(code, /let currentWeapon/);
```
You should not change the values of your variables.
```js
assert.equal(xp, 0);
assert.equal(health, 100);
assert.equal(gold, 50);
assert.equal(currentWeapon, 0);
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="./styles.css">
<title>RPG - Dragon Repeller</title>
<script src="./script.js"></script>
</head>
<body>
<div id="game">
<div id="stats">
<span class="stat">XP: <strong><span id="xpText">0</span></strong></span>
<span class="stat">Health: <strong><span id="healthText">100</span></strong></span>
<span class="stat">Gold: <strong><span id="goldText">50</span></strong></span>
</div>
<div id="controls">
<button id="button1">Go to store</button>
<button id="button2">Go to cave</button>
<button id="button3">Fight dragon</button>
</div>
<div id="monsterStats">
<span class="stat">Monster Name: <strong><span id="monsterName"></span></strong></span>
<span class="stat">Health: <strong><span id="monsterHealth"></span></strong></span>
</div>
<div id="text">
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.
</div>
</div>
</body>
</html>
```
```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
--fcc-editable-region--
var xp = 0;
var health = 100;
var gold = 50;
var currentWeapon = 0;
--fcc-editable-region--
```