diff --git a/.gitignore b/.gitignore
index 08e7bcf..04eaaec 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
-*.log
+!**/*.html
+*.log
.DS_Store
diff --git a/README.md b/README.md
index c69c4cb..62237db 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,443 @@
+
+
# Role Playing Game
-JavaScript is a powerful scripting language that
-you can use to make web pages interactive.
-It's one of the core technologies of the web,
+
+JavaScript is a powerful scripting language that
+you can use to make web pages interactive.
+It's one of the core technologies of the web,
along with HTML and CSS. All modern browsers support JavaScript.
-In this practice project, you'll learn fundamental
-programming concepts in JavaScript by coding your
-own Role Playing Game. You'll learn how to work
-with arrays, strings, objects, functions,
+In this practice project, you'll learn fundamental
+programming concepts in JavaScript by coding your
+own Role Playing Game. You'll learn how to work
+with arrays, strings, objects, functions,
loops, if/else statements, and more.
+#### preview
+
+
+
+| [index.html](#indexhtml) | [styles.css](#stylescss) | [script.js](#scriptjs) |
+| ------------------------ | ------------------------ | ---------------------- |
+
+### technologies
+
+
+ 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.
+
+
+
+
+
+```
+
+[Back to top](#top)
+
+### styles.css
+
+```css
+body {
+ background-color: #0a0a23;
+}
+
+#text {
+ background-color: #0a0a23;
+ color: #ffffff;
+ padding: 10px;
+}
+
+#game {
+ max-width: 500px;
+ max-height: 400px;
+ background-color: #ffffff;
+ color: #ffffff;
+ margin: 30px auto 0px;
+ padding: 10px;
+}
+
+#controls,
+#stats {
+ border: 1px solid #0a0a23;
+ color: #0a0a23;
+ padding: 5px;
+}
+
+#monsterStats {
+ display: none;
+ border: 1px solid #0a0a23;
+ padding: 5px;
+ background-color: #c70d0d;
+ color: #ffffff;
+}
+
+.stat {
+ padding-right: 10px;
+}
+
+button {
+ cursor: pointer;
+ color: #0a0a23;
+ background-color: #feac32;
+ background-image: linear-gradient(#fecc4c, #ffac33);
+ border: 3px solid #feac32;
+}
+```
+
+[Back to top](#top)
+
+### script.js
+
+```js
+let xp = 0;
+let health = 100;
+let gold = 50;
+let currentWeaponIndex = 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 weapons = [
+ { name: "stick", power: 5 },
+ { name: "dagger", power: 30 },
+ { name: "claw hammer", power: 50 },
+ { name: "sword", power: 100 },
+];
+
+const monsters = [
+ { name: "slime", level: 2, health: 15 },
+ { name: "fanged beast", level: 8, health: 60 },
+ { name: "dragon", level: 20, health: 300 },
+];
+
+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.",
+ },
+ {
+ name: "cave",
+ "button text": ["Fight slime", "Fight fanged beast", "Go to town square"],
+ "button functions": [fightSlime, fightBeast, goTown],
+ text: "You enter the cave. You see some monsters.",
+ },
+ {
+ name: "fight",
+ "button text": ["Attack", "Dodge", "Run"],
+ "button functions": [attack, dodge, goTown],
+ text: "You are fighting a monster.",
+ },
+ {
+ name: "kill monster",
+ "button text": [
+ "Go to town square",
+ "Go to town square",
+ "Go to town square",
+ ],
+ "button functions": [goTown, goTown, easterEgg],
+ text: 'The monster screams "Arg!" as it dies. You gain experience points and find gold.',
+ },
+ {
+ name: "lose",
+ "button text": ["REPLAY?", "REPLAY?", "REPLAY?"],
+ "button functions": [restart, restart, restart],
+ text: "You die. ☠",
+ },
+ {
+ name: "win",
+ "button text": ["REPLAY?", "REPLAY?", "REPLAY?"],
+ "button functions": [restart, restart, restart],
+ text: "You defeat the dragon! YOU WIN THE GAME! 🎉",
+ },
+ {
+ name: "easter egg",
+ "button text": ["2", "8", "Go to town square?"],
+ "button functions": [pickTwo, pickEight, goTown],
+ text: "You find a secret game. Pick a number above. Ten numbers will be randomly chosen between 0 and 10. If the number you choose matches one of the random numbers, you win!",
+ },
+];
+
+button1.onclick = goStore;
+button2.onclick = goCave;
+button3.onclick = fightDragon;
+
+function update(location) {
+ monsterStats.style.display = "none";
+ button1.innerText = location["button text"][0];
+ button2.innerText = location["button text"][1];
+ button3.innerText = location["button text"][2];
+ button1.onclick = location["button functions"][0];
+ button2.onclick = location["button functions"][1];
+ button3.onclick = location["button functions"][2];
+ text.innerHTML = location.text;
+}
+
+function goTown() {
+ update(locations[0]);
+}
+
+function goStore() {
+ update(locations[1]);
+}
+
+function goCave() {
+ update(locations[2]);
+}
+
+function lose() {
+ update(locations[5]);
+}
+
+function winGame() {
+ update(locations[6]);
+}
+
+function easterEgg() {
+ update(locations[7]);
+}
+
+function goFight() {
+ update(locations[3]);
+ monsterHealth = monsters[fighting].health;
+ monsterStats.style.display = "block";
+ monsterName.innerText = monsters[fighting].name;
+ monsterHealthText.innerText = monsterHealth;
+}
+
+function dodge() {
+ text.innerText = "You dodge the attack from the " + monsters[fighting].name;
+}
+
+function attack() {
+ text.innerText = "The " + monsters[fighting].name + " attacks.";
+ text.innerText +=
+ " You attack it with your " + weapons[currentWeaponIndex].name + ".";
+ health -= getMonsterAttackValue(monsters[fighting].level);
+ if (isMonsterHit()) {
+ monsterHealth -=
+ weapons[currentWeaponIndex].power + Math.floor(Math.random() * xp) + 1;
+ } else {
+ text.innerText += " You miss.";
+ }
+ healthText.innerText = health;
+ monsterHealthText.innerText = monsterHealth;
+ if (health <= 0) {
+ lose();
+ } else if (monsterHealth <= 0) {
+ defeatMonster();
+ if (fighting === 2) {
+ winGame();
+ } else {
+ defeatMonster();
+ }
+ }
+ if (Math.random() <= 0.1 && inventory.length !== 1) {
+ text.innerText += " Your " + inventory.pop() + " breaks.";
+ currentWeaponIndex--;
+ }
+}
+
+function isMonsterHit() {
+ return Math.random() > 0.2 || health < 20;
+}
+
+function getMonsterAttackValue(level) {
+ const hit = level * 5 - Math.floor(Math.random() * xp);
+ console.log(hit);
+ return hit > 0 ? hit : 0;
+}
+
+function fightDragon() {
+ fighting = 2;
+ goFight();
+}
+
+function buyHealth() {
+ if (gold >= 10) {
+ gold -= 10;
+ health += 10;
+ goldText.innerText = gold;
+ healthText.innerText = health;
+ } else {
+ text.innerText = "You do not have enough gold to buy health.";
+ }
+}
+
+function buyWeapon() {
+ if (currentWeaponIndex < weapons.length - 1) {
+ if (gold >= 30) {
+ gold -= 30;
+ currentWeaponIndex++;
+ goldText.innerText = gold;
+ let newWeapon = weapons[currentWeaponIndex].name;
+ text.innerText = "You now have a " + newWeapon + ".";
+ inventory.push(newWeapon);
+ text.innerText += " In your inventory you have: " + inventory;
+ } else {
+ text.innerText = "You do not have enough gold to buy a weapon.";
+ }
+ } else {
+ text.innerText = "You already have the most powerful weapon!";
+ button2.innerText = "Sell weapon for 15 gold";
+ button2.onclick = sellWeapon;
+ }
+}
+
+function sellWeapon() {
+ if (inventory.length > 1) {
+ gold += 15;
+ goldText.innerText = gold;
+ let currentWeapon = inventory.shift();
+ text.innerText = "You sold a " + currentWeapon + ".";
+ text.innerText += " In your inventory you have: " + inventory;
+ } else {
+ text.innerText = "Don't sell your only weapon!";
+ }
+}
+
+function fightSlime() {
+ fighting = 0;
+ goFight();
+}
+
+function fightBeast() {
+ fighting = 1;
+ goFight();
+}
+
+function defeatMonster() {
+ gold += Math.floor(monsters[fighting].level * 6.7);
+ xp += monsters[fighting].level;
+ goldText.innerText = gold;
+ xpText.innerText = xp;
+ update(locations[4]);
+}
+
+function restart() {
+ xp = 0;
+ health = 100;
+ gold = 50;
+ currentWeaponIndex = 0;
+ inventory = ["stick"];
+ xpText.innerText = xp;
+ healthText.innerText = health;
+ goldText.innerText = gold;
+ goTown();
+}
+
+function pick(guess) {
+ const numbers = [];
+ for (let i = 0; i < 10; i++) {
+ numbers.push(Math.floor(Math.random() * 11));
+ text.innerText += numbers[i] + "\n";
+ }
+ if (numbers.includes(guess)) {
+ text.innerText += "Right! You win 20 gold!";
+ gold += 20;
+ goldText.innerText = gold;
+ } else {
+ text.innerText += "Wrong! You lose 10 health!";
+ health -= 10;
+ healthText.innerText = health;
+ if (health <= 0) {
+ lose();
+ }
+ }
+ text.innerText = "You picked " + guess + ". Here are the random numbers:\n";
+}
+
+function pickTwo() {
+ pick(2);
+}
+
+function pickEight() {
+ pick(8);
+}
+```
+
+[Back to top](#top)
diff --git a/__011__Step___/index.html b/__011__Step___/index.html
new file mode 100644
index 0000000..a47740b
--- /dev/null
+++ b/__011__Step___/index.html
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+ RPG - Dragon Repeller
+
+
+
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+ 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.
+
+
+
+
+
diff --git a/___end-product___/README.md b/___end-product___/README.md
new file mode 100644
index 0000000..62237db
--- /dev/null
+++ b/___end-product___/README.md
@@ -0,0 +1,443 @@
+
+
+# Role Playing Game
+
+JavaScript is a powerful scripting language that
+you can use to make web pages interactive.
+It's one of the core technologies of the web,
+along with HTML and CSS. All modern browsers support JavaScript.
+
+In this practice project, you'll learn fundamental
+programming concepts in JavaScript by coding your
+own Role Playing Game. You'll learn how to work
+with arrays, strings, objects, functions,
+loops, if/else statements, and more.
+
+#### preview
+
+
+
+| [index.html](#indexhtml) | [styles.css](#stylescss) | [script.js](#scriptjs) |
+| ------------------------ | ------------------------ | ---------------------- |
+
+### technologies
+
+
+ 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.
+
+
+
+
+
+```
+
+[Back to top](#top)
+
+### styles.css
+
+```css
+body {
+ background-color: #0a0a23;
+}
+
+#text {
+ background-color: #0a0a23;
+ color: #ffffff;
+ padding: 10px;
+}
+
+#game {
+ max-width: 500px;
+ max-height: 400px;
+ background-color: #ffffff;
+ color: #ffffff;
+ margin: 30px auto 0px;
+ padding: 10px;
+}
+
+#controls,
+#stats {
+ border: 1px solid #0a0a23;
+ color: #0a0a23;
+ padding: 5px;
+}
+
+#monsterStats {
+ display: none;
+ border: 1px solid #0a0a23;
+ padding: 5px;
+ background-color: #c70d0d;
+ color: #ffffff;
+}
+
+.stat {
+ padding-right: 10px;
+}
+
+button {
+ cursor: pointer;
+ color: #0a0a23;
+ background-color: #feac32;
+ background-image: linear-gradient(#fecc4c, #ffac33);
+ border: 3px solid #feac32;
+}
+```
+
+[Back to top](#top)
+
+### script.js
+
+```js
+let xp = 0;
+let health = 100;
+let gold = 50;
+let currentWeaponIndex = 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 weapons = [
+ { name: "stick", power: 5 },
+ { name: "dagger", power: 30 },
+ { name: "claw hammer", power: 50 },
+ { name: "sword", power: 100 },
+];
+
+const monsters = [
+ { name: "slime", level: 2, health: 15 },
+ { name: "fanged beast", level: 8, health: 60 },
+ { name: "dragon", level: 20, health: 300 },
+];
+
+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.",
+ },
+ {
+ name: "cave",
+ "button text": ["Fight slime", "Fight fanged beast", "Go to town square"],
+ "button functions": [fightSlime, fightBeast, goTown],
+ text: "You enter the cave. You see some monsters.",
+ },
+ {
+ name: "fight",
+ "button text": ["Attack", "Dodge", "Run"],
+ "button functions": [attack, dodge, goTown],
+ text: "You are fighting a monster.",
+ },
+ {
+ name: "kill monster",
+ "button text": [
+ "Go to town square",
+ "Go to town square",
+ "Go to town square",
+ ],
+ "button functions": [goTown, goTown, easterEgg],
+ text: 'The monster screams "Arg!" as it dies. You gain experience points and find gold.',
+ },
+ {
+ name: "lose",
+ "button text": ["REPLAY?", "REPLAY?", "REPLAY?"],
+ "button functions": [restart, restart, restart],
+ text: "You die. ☠",
+ },
+ {
+ name: "win",
+ "button text": ["REPLAY?", "REPLAY?", "REPLAY?"],
+ "button functions": [restart, restart, restart],
+ text: "You defeat the dragon! YOU WIN THE GAME! 🎉",
+ },
+ {
+ name: "easter egg",
+ "button text": ["2", "8", "Go to town square?"],
+ "button functions": [pickTwo, pickEight, goTown],
+ text: "You find a secret game. Pick a number above. Ten numbers will be randomly chosen between 0 and 10. If the number you choose matches one of the random numbers, you win!",
+ },
+];
+
+button1.onclick = goStore;
+button2.onclick = goCave;
+button3.onclick = fightDragon;
+
+function update(location) {
+ monsterStats.style.display = "none";
+ button1.innerText = location["button text"][0];
+ button2.innerText = location["button text"][1];
+ button3.innerText = location["button text"][2];
+ button1.onclick = location["button functions"][0];
+ button2.onclick = location["button functions"][1];
+ button3.onclick = location["button functions"][2];
+ text.innerHTML = location.text;
+}
+
+function goTown() {
+ update(locations[0]);
+}
+
+function goStore() {
+ update(locations[1]);
+}
+
+function goCave() {
+ update(locations[2]);
+}
+
+function lose() {
+ update(locations[5]);
+}
+
+function winGame() {
+ update(locations[6]);
+}
+
+function easterEgg() {
+ update(locations[7]);
+}
+
+function goFight() {
+ update(locations[3]);
+ monsterHealth = monsters[fighting].health;
+ monsterStats.style.display = "block";
+ monsterName.innerText = monsters[fighting].name;
+ monsterHealthText.innerText = monsterHealth;
+}
+
+function dodge() {
+ text.innerText = "You dodge the attack from the " + monsters[fighting].name;
+}
+
+function attack() {
+ text.innerText = "The " + monsters[fighting].name + " attacks.";
+ text.innerText +=
+ " You attack it with your " + weapons[currentWeaponIndex].name + ".";
+ health -= getMonsterAttackValue(monsters[fighting].level);
+ if (isMonsterHit()) {
+ monsterHealth -=
+ weapons[currentWeaponIndex].power + Math.floor(Math.random() * xp) + 1;
+ } else {
+ text.innerText += " You miss.";
+ }
+ healthText.innerText = health;
+ monsterHealthText.innerText = monsterHealth;
+ if (health <= 0) {
+ lose();
+ } else if (monsterHealth <= 0) {
+ defeatMonster();
+ if (fighting === 2) {
+ winGame();
+ } else {
+ defeatMonster();
+ }
+ }
+ if (Math.random() <= 0.1 && inventory.length !== 1) {
+ text.innerText += " Your " + inventory.pop() + " breaks.";
+ currentWeaponIndex--;
+ }
+}
+
+function isMonsterHit() {
+ return Math.random() > 0.2 || health < 20;
+}
+
+function getMonsterAttackValue(level) {
+ const hit = level * 5 - Math.floor(Math.random() * xp);
+ console.log(hit);
+ return hit > 0 ? hit : 0;
+}
+
+function fightDragon() {
+ fighting = 2;
+ goFight();
+}
+
+function buyHealth() {
+ if (gold >= 10) {
+ gold -= 10;
+ health += 10;
+ goldText.innerText = gold;
+ healthText.innerText = health;
+ } else {
+ text.innerText = "You do not have enough gold to buy health.";
+ }
+}
+
+function buyWeapon() {
+ if (currentWeaponIndex < weapons.length - 1) {
+ if (gold >= 30) {
+ gold -= 30;
+ currentWeaponIndex++;
+ goldText.innerText = gold;
+ let newWeapon = weapons[currentWeaponIndex].name;
+ text.innerText = "You now have a " + newWeapon + ".";
+ inventory.push(newWeapon);
+ text.innerText += " In your inventory you have: " + inventory;
+ } else {
+ text.innerText = "You do not have enough gold to buy a weapon.";
+ }
+ } else {
+ text.innerText = "You already have the most powerful weapon!";
+ button2.innerText = "Sell weapon for 15 gold";
+ button2.onclick = sellWeapon;
+ }
+}
+
+function sellWeapon() {
+ if (inventory.length > 1) {
+ gold += 15;
+ goldText.innerText = gold;
+ let currentWeapon = inventory.shift();
+ text.innerText = "You sold a " + currentWeapon + ".";
+ text.innerText += " In your inventory you have: " + inventory;
+ } else {
+ text.innerText = "Don't sell your only weapon!";
+ }
+}
+
+function fightSlime() {
+ fighting = 0;
+ goFight();
+}
+
+function fightBeast() {
+ fighting = 1;
+ goFight();
+}
+
+function defeatMonster() {
+ gold += Math.floor(monsters[fighting].level * 6.7);
+ xp += monsters[fighting].level;
+ goldText.innerText = gold;
+ xpText.innerText = xp;
+ update(locations[4]);
+}
+
+function restart() {
+ xp = 0;
+ health = 100;
+ gold = 50;
+ currentWeaponIndex = 0;
+ inventory = ["stick"];
+ xpText.innerText = xp;
+ healthText.innerText = health;
+ goldText.innerText = gold;
+ goTown();
+}
+
+function pick(guess) {
+ const numbers = [];
+ for (let i = 0; i < 10; i++) {
+ numbers.push(Math.floor(Math.random() * 11));
+ text.innerText += numbers[i] + "\n";
+ }
+ if (numbers.includes(guess)) {
+ text.innerText += "Right! You win 20 gold!";
+ gold += 20;
+ goldText.innerText = gold;
+ } else {
+ text.innerText += "Wrong! You lose 10 health!";
+ health -= 10;
+ healthText.innerText = health;
+ if (health <= 0) {
+ lose();
+ }
+ }
+ text.innerText = "You picked " + guess + ". Here are the random numbers:\n";
+}
+
+function pickTwo() {
+ pick(2);
+}
+
+function pickEight() {
+ pick(8);
+}
+```
+
+[Back to top](#top)
diff --git a/___end-product___/index.html b/___end-product___/index.html
new file mode 100644
index 0000000..0087aa7
--- /dev/null
+++ b/___end-product___/index.html
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+ 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.
+
+
+
+
+
diff --git a/___end-product___/script.js b/___end-product___/script.js
new file mode 100644
index 0000000..8c9a4a2
--- /dev/null
+++ b/___end-product___/script.js
@@ -0,0 +1,279 @@
+let xp = 0;
+let health = 100;
+let gold = 50;
+let currentWeaponIndex = 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 weapons = [
+ { name: 'stick', power: 5 },
+ { name: 'dagger', power: 30 },
+ { name: 'claw hammer', power: 50 },
+ { name: 'sword', power: 100 }
+];
+
+const monsters = [
+ { name: "slime", level: 2, health: 15 },
+ { name: "fanged beast", level: 8, health: 60 },
+ { name: "dragon", level: 20, health: 300 }
+];
+
+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."
+ },
+ {
+ name: "cave",
+ "button text": ["Fight slime", "Fight fanged beast", "Go to town square"],
+ "button functions": [fightSlime, fightBeast, goTown],
+ text: "You enter the cave. You see some monsters."
+ },
+ {
+ name: "fight",
+ "button text": ["Attack", "Dodge", "Run"],
+ "button functions": [attack, dodge, goTown],
+ text: "You are fighting a monster."
+ },
+ {
+ name: "kill monster",
+ "button text": ["Go to town square", "Go to town square", "Go to town square"],
+ "button functions": [goTown, goTown, easterEgg],
+ text: 'The monster screams "Arg!" as it dies. You gain experience points and find gold.'
+ },
+ {
+ name: "lose",
+ "button text": ["REPLAY?", "REPLAY?", "REPLAY?"],
+ "button functions": [restart, restart, restart],
+ text: "You die. ☠"
+ },
+ {
+ name: "win",
+ "button text": ["REPLAY?", "REPLAY?", "REPLAY?"],
+ "button functions": [restart, restart, restart],
+ text: "You defeat the dragon! YOU WIN THE GAME! 🎉"
+ },
+ {
+ name: "easter egg",
+ "button text": ["2", "8", "Go to town square?"],
+ "button functions": [pickTwo, pickEight, goTown],
+ text: "You find a secret game. Pick a number above. Ten numbers will be randomly chosen between 0 and 10. If the number you choose matches one of the random numbers, you win!"
+ }
+];
+
+// initialize buttons
+button1.onclick = goStore;
+button2.onclick = goCave;
+button3.onclick = fightDragon;
+
+function update(location) {
+ monsterStats.style.display = 'none';
+ button1.innerText = location["button text"][0];
+ button2.innerText = location["button text"][1];
+ button3.innerText = location["button text"][2];
+ button1.onclick = location["button functions"][0];
+ button2.onclick = location["button functions"][1];
+ button3.onclick = location["button functions"][2];
+ text.innerHTML = location.text;
+}
+
+function goTown() {
+ update(locations[0]);
+}
+
+function goStore() {
+ update(locations[1]);
+}
+
+function goCave() {
+ update(locations[2]);
+}
+
+function lose() {
+ update(locations[5]);
+};
+
+function winGame() {
+ update(locations[6]);
+};
+
+function easterEgg() {
+ update(locations[7]);
+};
+
+
+function goFight() {
+ update(locations[3]);
+ monsterHealth = monsters[fighting].health;
+ monsterStats.style.display = 'block';
+ monsterName.innerText = monsters[fighting].name;
+ monsterHealthText.innerText = monsterHealth;
+};
+
+function dodge() {
+ text.innerText = "You dodge the attack from the " + monsters[fighting].name;
+};
+
+function attack() {
+ text.innerText = "The " + monsters[fighting].name + " attacks.";
+ text.innerText += " You attack it with your " + weapons[currentWeaponIndex].name + ".";
+ health -= getMonsterAttackValue(monsters[fighting].level);
+ if (isMonsterHit()) {
+ monsterHealth -= weapons[currentWeaponIndex].power + Math.floor(Math.random() * xp) + 1;
+ } else {
+ text.innerText += " You miss.";
+ };
+ healthText.innerText = health;
+ monsterHealthText.innerText = monsterHealth;
+ if (health <= 0) {
+ lose();
+ } else if (monsterHealth <= 0) {
+ defeatMonster();
+ if (fighting === 2){
+ winGame();
+ } else {
+ defeatMonster();
+ }
+ }
+ if (Math.random() <= .1 && inventory.length !== 1) {
+ text.innerText += " Your " + inventory.pop() + " breaks.";
+ currentWeaponIndex--;
+ }
+};
+
+function isMonsterHit() {
+ return Math.random() > .2 || health < 20;
+};
+
+function getMonsterAttackValue(level) {
+ const hit = (level * 5) - (Math.floor(Math.random() * xp));
+ console.log(hit);
+ return hit > 0 ? hit : 0;
+};
+
+function fightDragon() {
+ fighting = 2;
+ goFight();
+}
+
+function buyHealth() {
+ if (gold >= 10) {
+ gold -= 10;
+ health += 10;
+ goldText.innerText = gold;
+ healthText.innerText = health;
+ } else {
+ text.innerText = "You do not have enough gold to buy health.";
+ }
+}
+
+function buyWeapon() {
+ if (currentWeaponIndex < weapons.length - 1) {
+ if (gold >= 30) {
+ gold -= 30;
+ currentWeaponIndex++;
+ goldText.innerText = gold;
+ let newWeapon = weapons[currentWeaponIndex].name;
+ text.innerText = "You now have a " + newWeapon + ".";
+ inventory.push(newWeapon);
+ text.innerText += " In your inventory you have: " + inventory;
+ } else {
+ text.innerText = "You do not have enough gold to buy a weapon.";
+ }
+ } else {
+ text.innerText = "You already have the most powerful weapon!";
+ button2.innerText = "Sell weapon for 15 gold";
+ button2.onclick = sellWeapon;
+ }
+}
+
+function sellWeapon() {
+ if (inventory.length > 1) {
+ gold += 15;
+ goldText.innerText = gold;
+ let currentWeapon = inventory.shift();
+ text.innerText = "You sold a " + currentWeapon + ".";
+ text.innerText += " In your inventory you have: " + inventory;
+ } else {
+ text.innerText = "Don't sell your only weapon!";
+ }
+}
+
+function fightSlime() {
+ fighting = 0;
+ goFight();
+}
+
+function fightBeast() {
+ fighting = 1;
+ goFight();
+};
+
+function defeatMonster() {
+ gold += Math.floor(monsters[fighting].level * 6.7);
+ xp += monsters[fighting].level;
+ goldText.innerText = gold;
+ xpText.innerText = xp;
+ update(locations[4]);
+};
+
+function restart() {
+ xp = 0;
+ health = 100;
+ gold = 50;
+ currentWeaponIndex = 0;
+ inventory = ['stick'];
+ xpText.innerText = xp;
+ healthText.innerText = health;
+ goldText.innerText = gold;
+ goTown();
+};
+
+function pick(guess) {
+ const numbers = [];
+ for (let i = 0; i < 10; i++) {
+ numbers.push(Math.floor(Math.random() * 11));
+ text.innerText += numbers[i] + "\n";
+ };
+ if (numbers.includes(guess)) {
+ text.innerText += "Right! You win 20 gold!";
+ gold += 20;
+ goldText.innerText = gold;
+ } else {
+ text.innerText += "Wrong! You lose 10 health!";
+ health -= 10;
+ healthText.innerText = health;
+ if (health <= 0) {
+ lose();
+ };
+ }
+ text.innerText = "You picked " + guess + ". Here are the random numbers:\n";
+};
+
+function pickTwo() {
+ pick(2);
+};
+
+function pickEight() {
+ pick(8);
+};
\ No newline at end of file
diff --git a/___end-product___/styles.css b/___end-product___/styles.css
new file mode 100644
index 0000000..44d2652
--- /dev/null
+++ b/___end-product___/styles.css
@@ -0,0 +1,45 @@
+body {
+ background-color: #0a0a23;
+}
+
+#text {
+ background-color: #0a0a23;
+ color: #ffffff;
+ padding: 10px;
+}
+
+#game {
+ max-width: 500px;
+ max-height: 400px;
+ background-color: #ffffff;
+ color: #ffffff;
+ margin: 30px auto 0px;
+ padding: 10px;
+}
+
+#controls,
+#stats {
+ border: 1px solid #0a0a23;
+ color: #0a0a23;
+ padding: 5px;
+}
+
+#monsterStats {
+ display: none;
+ border: 1px solid #0a0a23;
+ padding: 5px;
+ background-color: #c70d0d;
+ color: #ffffff;
+}
+
+.stat {
+ padding-right: 10px;
+}
+
+button {
+ cursor: pointer;
+ color: #0a0a23;
+ background-color: #feac32;
+ background-image: linear-gradient(#fecc4c, #ffac33);
+ border: 3px solid #feac32;
+}