diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-001.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-001.md
deleted file mode 100644
index a50816dd7c..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-001.md
+++ /dev/null
@@ -1,113 +0,0 @@
----
-id: 5d5a813321b9e3db6c106a46
-title: Part 1
-challengeType: 0
-dashedName: part-1
----
-
-# --description--
-
-To keep track of the player's experience points, we've declared a variable called `xp` and assigned it the starting value of 0.
-
-Create another variable to keep track of health and start it at 100.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(health === 100);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-002.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-002.md
deleted file mode 100644
index 0127056186..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-002.md
+++ /dev/null
@@ -1,113 +0,0 @@
----
-id: 5d5a8dd907f328a948d398ce
-title: Part 2
-challengeType: 0
-dashedName: part-2
----
-
-# --description--
-
-Create a variable called `gold` and set it to the value 50.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(gold === 50);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-003.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-003.md
deleted file mode 100644
index 5e416ceb17..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-003.md
+++ /dev/null
@@ -1,117 +0,0 @@
----
-id: 5d5a8f1c07f328a948d398cf
-title: Part 3
-challengeType: 0
-dashedName: part-3
----
-
-# --description--
-
-Create a variable called `currentWeapon` and set it to 0. When a name has two words, the convention is to use so-called "lowerCamelCase". The first word is all lowercase, and then the first letter of every preceding word is uppercased.
-
-When a name has two words, the convention is to use so-called "lowerCamelCase". The variable name should look like this: currentWeapon.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(currentWeapon === 0);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-004.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-004.md
deleted file mode 100644
index 01e3ae0136..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-004.md
+++ /dev/null
@@ -1,123 +0,0 @@
----
-id: 5d5a903507f328a948d398d0
-title: Part 4
-challengeType: 0
-dashedName: part-4
----
-
-# --description--
-
-We've been declaring variables with the `var` keyword. However, in modern JavaScript, it's better to use `let` instead of `var` because it fixes a number of unusual behaviors with `var` that make it difficult to reason about.
-
-Change every `var` to `let`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- /let\s+xp\s*\=\s*0\;?/.test(code) &&
- /let\s+health\s*\=\s*100\;?/.test(code) &&
- /let\s+gold\s*\=\s*50\;?/.test(code) &&
- /let\s+currentWeapon\s*\=\s*0\;?/.test(code)
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-005.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-005.md
deleted file mode 100644
index 952c282390..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-005.md
+++ /dev/null
@@ -1,119 +0,0 @@
----
-id: 5d5aaa5807f328a948d398d1
-title: Part 5
-challengeType: 0
-dashedName: part-5
----
-
-# --description--
-
-Now you will declare a variable without initializing it.
-
-Using the `let` keyword, declare a variable called `fighting` but don't set it equal to anything. Just end the line with a semicolon right after the variable name.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(/let\s+fighting\s*;?/.test(code) && fighting === undefined);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-007.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-007.md
deleted file mode 100644
index 2053d6cc09..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-007.md
+++ /dev/null
@@ -1,124 +0,0 @@
----
-id: 5d5aac9c07f328a948d398d3
-title: Part 7
-challengeType: 0
-dashedName: part-7
----
-
-# --description--
-
-Now set the inventory to equal the string "stick".
-
-Strings must be surrounded with double quotes `"`, single quotes `'`, or backticks `` ` ``.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(inventory === 'stick');
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-008.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-008.md
deleted file mode 100644
index 7a4a0040ab..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-008.md
+++ /dev/null
@@ -1,132 +0,0 @@
----
-id: 5d5aad2307f328a948d398d4
-title: Part 8
-challengeType: 0
-dashedName: part-8
----
-
-# --description--
-
-Since the inventory can store multiple items, change the value of `inventory` to an array with the items stick, dagger, and sword.
-
-Here is an example of a variable sandwich that equals a three-item array:
-
-```js
-let sandwich = ["peanut butter", "jelly", "bread"];
-```
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- inventory.includes('stick') &&
- inventory.includes('dagger') &&
- inventory.includes('sword')
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-009.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-009.md
deleted file mode 100644
index 95c7682998..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-009.md
+++ /dev/null
@@ -1,122 +0,0 @@
----
-id: 5d5aae1207f328a948d398d5
-title: Part 9
-challengeType: 0
-dashedName: part-9
----
-
-# --description--
-
-For now, let's start the player with just the stick. Delete the dagger and sword items in the array. More items will be added to the array during game play.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(inventory[0] === 'stick' && inventory.length === 1);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-010.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-010.md
deleted file mode 100644
index fe8783aa45..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-010.md
+++ /dev/null
@@ -1,131 +0,0 @@
----
-id: 5d5ab57f07f328a948d398d6
-title: Part 10
-challengeType: 0
-dashedName: part-10
----
-
-# --description--
-
-In order to update HTML elements on the page, you need to get references to them in your JavaScript code. The code `let el = document.querySelector("#el");` gets a reference to an HTML element with an `id` of `el` and assigns it to the variable `el`.
-
-Get a reference to the HTML element with the `id` of `button1` and assign it to a variable with the name `button1`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- /let\s+button1\s*\=\s*document.querySelector\(\s*[\'\"\`]\s*\#button1\s*[\'\"\`]\s*\);?/.test(
- code
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-011.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-011.md
deleted file mode 100644
index 33b03c9c92..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-011.md
+++ /dev/null
@@ -1,126 +0,0 @@
----
-id: 5d5b66ce07f328a948d398d7
-title: Part 11
-challengeType: 0
-dashedName: part-11
----
-
-# --description--
-
-You can also declare variables with the `const` key word. Since `button1` is a constant that will never change, switch the `let` keyword that declares the variable to `const`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(/const\s+button1\s*/.test(code));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-012.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-012.md
deleted file mode 100644
index 9f6aba13f8..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-012.md
+++ /dev/null
@@ -1,165 +0,0 @@
----
-id: 5d64cf8f853b56a21cd16319
-title: Part 12
-challengeType: 0
-dashedName: part-12
----
-
-# --description--
-
-Here are the ids of the other HTML elements that we want a reference to in the JavaScript code: `button2`, `button3`, `text`, `xpText`, `healthText`, `goldText`, `monsterStats`, `monsterNameText`, `monsterHealthText`.
-
-Just like you did with `storeButton`, create variables and set them equal to the element references.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- /const\s+button2\s*\=\s*document.querySelector\(\s*[\'\"\`]\s*\#button2\s*[\'\"\`]\s*\);?/.test(
- code
- ) &&
- /const\s+button3\s*\=\s*document.querySelector\(\s*[\'\"\`]\s*\#button3\s*[\'\"\`]\s*\);?/.test(
- code
- ) &&
- /const\s+text\s*\=\s*document.querySelector\(\s*[\'\"\`]\s*\#text\s*[\'\"\`]\s*\);?/.test(
- code
- ) &&
- /const\s+xpText\s*\=\s*document.querySelector\(\s*[\'\"\`]\s*\#xpText\s*[\'\"\`]\s*\);?/.test(
- code
- ) &&
- /const\s+healthText\s*\=\s*document.querySelector\(\s*[\'\"\`]\s*\#healthText\s*[\'\"\`]\s*\);?/.test(
- code
- ) &&
- /const\s+goldText\s*\=\s*document.querySelector\(\s*[\'\"\`]\s*\#goldText\s*[\'\"\`]\s*\);?/.test(
- code
- ) &&
- /const\s+monsterStats\s*\=\s*document.querySelector\(\s*[\'\"\`]\s*\#monsterStats\s*[\'\"\`]\s*\);?/.test(
- code
- ) &&
- /const\s+monsterNameText|monsterName\s*\=\s*document.querySelector\(\s*[\'\"\`]\s*\#monsterName\s*[\'\"\`]\s*\);?/.test(
- code
- ) &&
- /const\s+monsterHealthText|monsterHealth\s*\=\s*document.querySelector\(\s*[\'\"\`]\s*\#monsterHealth\s*[\'\"\`]\s*\);?/.test(
- code
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-013.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-013.md
deleted file mode 100644
index fa6cc172bd..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-013.md
+++ /dev/null
@@ -1,148 +0,0 @@
----
-id: 5d651ee1ee291f75bbd738ee
-title: Part 13
-challengeType: 0
-dashedName: part-13
----
-
-# --description--
-
-Make a comment to describe what the next few lines of code will do. Comments can be written with either two forward-slashes `//` or with a multi-line sequence `/* */`. For example, here is a single line comment that says "hello world": `// hello world`.
-
-Write a single line comment that says "initialize buttons".
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(/\/\/\s*[iI]nitialize buttons/.test(code));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-014.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-014.md
deleted file mode 100644
index 5e5a71ca5c..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-014.md
+++ /dev/null
@@ -1,150 +0,0 @@
----
-id: 5d652e5a6e6bf7a6a27aa80a
-title: Part 14
-challengeType: 0
-dashedName: part-14
----
-
-# --description--
-
-Designate what the first button in the HTML does by setting the `onclick` property of `button1` to the function name `goStore`. You will create the `goStore` function later. For example, in `button.onclick = openProgram;`, the `onclick` property of `button` is set to `openProgram`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(/button1\.onclick\s*\=\s*goStore\;?/.test(code));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-015.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-015.md
deleted file mode 100644
index ef4c717e72..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-015.md
+++ /dev/null
@@ -1,155 +0,0 @@
----
-id: 5d653b2d6e6bf7a6a27aa80b
-title: Part 15
-challengeType: 0
-dashedName: part-15
----
-
-# --description--
-
-Now set the `onclick` property of `button2` and `button3`. The second button should be set to `goCave` and the third button should be set to `fightDragon`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- /button2\.onclick\s*\=\s*goCave\;?/.test(code) &&
- /button3\.onclick\s*\=\s*fightDragon\;?/.test(code)
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-016.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-016.md
deleted file mode 100644
index a3b657d461..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-016.md
+++ /dev/null
@@ -1,162 +0,0 @@
----
-id: 5d653c4d6e6bf7a6a27aa80c
-title: Part 16
-challengeType: 0
-dashedName: part-16
----
-
-# --description--
-
-Create the `goStore` function to hold the code that runs whenever the player goes to the store. Here is an example of an empty function called `functionName` (Note the opening curly brace at the end of the first line and the closing curly brace on the second line):
-
-```js
-function functionName() {
-}
-```
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(typeof goStore === 'function');
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-017.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-017.md
deleted file mode 100644
index d5b5e39ed6..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-017.md
+++ /dev/null
@@ -1,171 +0,0 @@
----
-id: 5d6542826e6bf7a6a27aa80d
-title: Part 17
-challengeType: 0
-dashedName: part-17
----
-
-# --description--
-
-For now, make the `goStore` function output the message "Going to store." to the web console. For example, here is a function that outputs the message "Hello World" to the web console (Note that code inside a function should be indented):
-
-```js
-function functionName() {
- console.log("Hello World");
-}
-```
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- goStore
- .toString()
- .match(/console\.log\(\s*[\"\'\`]Going to store\.?[\"\'\`]\s*\)/)
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-018.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-018.md
deleted file mode 100644
index a889d272bc..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-018.md
+++ /dev/null
@@ -1,170 +0,0 @@
----
-id: 5d65f2c62012114c7d7c57eb
-title: Part 18
-challengeType: 0
-dashedName: part-18
----
-
-# --description--
-
-Similar to the `goStore` function, create a `goCave` function that prints "Going to cave." to the console.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- goCave
- .toString()
- .match(/console\.log\(\s*[\"\'\`]Going to cave\.?[\"\'\`]\s*\)/)
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-019.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-019.md
deleted file mode 100644
index 57ab5c69cb..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-019.md
+++ /dev/null
@@ -1,180 +0,0 @@
----
-id: 5d65f4cd2012114c7d7c57ec
-title: Part 19
-challengeType: 0
-dashedName: part-19
----
-
-# --description--
-
-Also, create a `fightDragon` function that prints "Fighting dragon." to the console.
-
-When you are finished, you can test out your program in the browser.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- fightDragon
- .toString()
- .match(/console\.log\(\s*[\"\'\`]Fighting dragon\.?[\"\'\`]\s*\)/)
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-020.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-020.md
deleted file mode 100644
index ad137d4786..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-020.md
+++ /dev/null
@@ -1,185 +0,0 @@
----
-id: 5d65f6392012114c7d7c57ed
-title: Part 20
-challengeType: 0
-dashedName: part-20
----
-
-# --description--
-
-When a player clicks the 'Go to store' button, the buttons and text in the game should change. Remove the code inside the `goStore` function. Add a new line of code inside the function that updates the text of `button1` so that it says "Buy 10 health (10 gold)".
-
-For example, this code updates the text of `button` to say "Click Me": `button.innerText = "Click Me";`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- (() => {
- goStore();
- return button1.innerText === 'Buy 10 health (10 gold)';
- })()
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-021.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-021.md
deleted file mode 100644
index a2672d2934..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-021.md
+++ /dev/null
@@ -1,189 +0,0 @@
----
-id: 5d6606634bab337fbb433884
-title: Part 21
-challengeType: 0
-dashedName: part-21
----
-
-# --description--
-
-After the line that updates `button1`, update the text of `button2` to say "Buy weapon (30 gold)" and update the text of `button3` to say "Go to town square".
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- (() => {
- goStore();
- return (
- button1.innerText === 'Buy 10 health (10 gold)' &&
- button2.innerText === 'Buy weapon (30 gold)' &&
- button3.innerText === 'Go to town square'
- );
- })()
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-022.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-022.md
deleted file mode 100644
index 6fd39fc853..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-022.md
+++ /dev/null
@@ -1,189 +0,0 @@
----
-id: 5d66093c4bab337fbb433885
-title: Part 22
-challengeType: 0
-dashedName: part-22
----
-
-# --description--
-
-Now that the text on the buttons have changed, the `onclick` properties on the buttons should change. Inside the goStore function, update the `onclick` property of all three buttons. The new functions should be `buyHealth`, `buyWeapon`, and `goTown`. If you have trouble, look at how the buttons were initialized.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- goStore.toString().match(/button1\.onclick\s*\=\s*buyHealth\;?/) &&
- goStore.toString().match(/button2\.onclick\s*\=\s*buyWeapon\;?/) &&
- goStore.toString().match(/button3\.onclick\s*\=\s*goTown\;?/)
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-023.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-023.md
deleted file mode 100644
index 4a6293348b..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-023.md
+++ /dev/null
@@ -1,193 +0,0 @@
----
-id: 5d660a32e0696bdec46938d5
-title: Part 23
-challengeType: 0
-dashedName: part-23
----
-
-# --description--
-
-Right after the `onclick` properties are updated, change the `innerText` property of `text` to "You enter the store."
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- goStore
- .toString()
- .match(/text\.innerText\s*\=\s*[\'\"\`]You enter the store\.?[\'\"\`]/)
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-024.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-024.md
deleted file mode 100644
index abdd465afc..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-024.md
+++ /dev/null
@@ -1,203 +0,0 @@
----
-id: 5d6616d8e0696bdec46938d6
-title: Part 24
-challengeType: 0
-dashedName: part-24
----
-
-# --description--
-
-At the end of the current code, add three new empty functions called `buyHealth`, `buyWeapon`, and `goTown`. After this step, you can test out the game by clicking the "Go to store" button.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- typeof buyHealth === 'function' &&
- typeof buyWeapon === 'function' &&
- typeof goTown === 'function'
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-025.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-025.md
deleted file mode 100644
index a0a3a5a021..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-025.md
+++ /dev/null
@@ -1,228 +0,0 @@
----
-id: 5d661814e0696bdec46938d7
-title: Part 25
-challengeType: 0
-dashedName: part-25
----
-
-# --description--
-
-Move the `goTown` function to above the `goStore` function. Then, copy and paste the contents of the `goStore` function into the `goTown` function.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- (() => {
- goTown();
- return (
- button1.innerText === 'Buy 10 health (10 gold)' &&
- button2.innerText === 'Buy weapon (30 gold)' &&
- button3.innerText === 'Go to town square' &&
- text.innerText === 'You enter the store.' &&
- goTown.toString().match(/button1\.onclick\s*\=\s*buyHealth\;?/) &&
- goTown.toString().match(/button2\.onclick\s*\=\s*buyWeapon\;?/) &&
- goTown.toString().match(/button3\.onclick\s*\=\s*goTown\;?/)
- );
- })()
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-026.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-026.md
deleted file mode 100644
index ee955fc993..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-026.md
+++ /dev/null
@@ -1,230 +0,0 @@
----
-id: 5d66198de0696bdec46938d8
-title: Part 26
-challengeType: 0
-dashedName: part-26
----
-
-# --description--
-
-Add double quote marks around the word "Store" in the line "You see a sign that says Store." Before each quotation mark add a `\` to signal that the following quote is not the end of the string, but should instead appear inside the string. This is called escaping.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- (() => {
- goTown();
- return (
- text.innerText ===
- 'You are in the town square. You see a sign that says "Store".'
- );
- })()
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-027.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-027.md
deleted file mode 100644
index adfd7d0a56..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-027.md
+++ /dev/null
@@ -1,235 +0,0 @@
----
-id: 5d661bc6e0696bdec46938d9
-title: Part 27
-challengeType: 0
-dashedName: part-27
----
-
-# --description--
-
-There is repetition in the `goTown` and `goStore` functions. When you have repetition in code, it is a sign that you need a new function.
-
-Above the `goTown` function, create an empty function called `update`. This time the function should take a parameter named `location` so data can be passed into the function when it is called.
-
-Here is an example of a function named `testFun` that accepts a parameter named `param`:
-
-```js
-function testFun(param) {
- console.log(param);
-}
-```
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(update.toString().match(/function update\(\s*location\)\s*\{\s*\}/));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-028.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-028.md
deleted file mode 100644
index ba513bd6d1..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-028.md
+++ /dev/null
@@ -1,230 +0,0 @@
----
-id: 5d6653d5e0696bdec46938da
-title: Part 28
-challengeType: 0
-dashedName: part-28
----
-
-# --description--
-
-Below the list of `const` variables, create a new `const` variable called `locations`. Set it to equal an empty array. This will be used to store all the data for the locations in the game.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(Array.isArray(locations) && locations.length === 0);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-029.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-029.md
deleted file mode 100644
index 6944af320f..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-029.md
+++ /dev/null
@@ -1,236 +0,0 @@
----
-id: 5d665983e0696bdec46938dc
-title: Part 29
-challengeType: 0
-dashedName: part-29
----
-
-# --description--
-
-Arrays can store any data type, including objects. Objects are similar to arrays, except that instead of using indexes to access and modify their data, you access the data in objects through what are called properties.
-
-Inside the `locations` array add an empty object using curly braces.
-
-Here is an example of an array named `arr` with an empty object inside: `const arr = [{}];`
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert.deepStrictEqual(JSON.stringify(locations), `[{}]`);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-030.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-030.md
deleted file mode 100644
index f9c6d55fd8..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-030.md
+++ /dev/null
@@ -1,246 +0,0 @@
----
-id: 5d674fd9e0696bdec46938dd
-title: Part 30
-challengeType: 0
-dashedName: part-30
----
-
-# --description--
-
-Inside the object you just added, create a property called `name` with the value of "town square".
-
-For example, here is an example of an array with an object inside that has a property called `name` with a value of "Quincy Larson" (new lines are used only for the purpose of making the code more readable):
-
-```js
-const arr = [
- {
- name: "Quincy Larson"
- }
-]
-```
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(locations[0].name === 'town square');
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-031.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-031.md
deleted file mode 100644
index ac1796c49b..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-031.md
+++ /dev/null
@@ -1,252 +0,0 @@
----
-id: 5d6752e3e0696bdec46938de
-title: Part 31
-challengeType: 0
-dashedName: part-31
----
-
-# --description--
-
-After the `name` property put a comma. On the next line add a property named `"button text"` that has a value of an empty array. Since the property name has more than one word, there must be quotes around it.
-
-Here is an example:
-
-```js
-const arr = [
- {
- name: "Quincy Larson",
- "favorite colors": []
- }
-]
-```
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert.deepStrictEqual(locations[0]['button text'], []);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-032.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-032.md
deleted file mode 100644
index d358864c5f..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-032.md
+++ /dev/null
@@ -1,248 +0,0 @@
----
-id: 5d6755fce0696bdec46938df
-title: Part 32
-challengeType: 0
-dashedName: part-32
----
-
-# --description--
-
-Inside the `"button text"` array, add three string elements. Use the three stings assigned to the buttons inside the `goTown` function.
-
-Here is an example array with three strings: `const arr = ["one", "two", "three"];`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert.deepStrictEqual(locations[0]['button text'], [
- 'Go to store',
- 'Go to cave',
- 'Fight dragon'
-]);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-033.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-033.md
deleted file mode 100644
index 7604f0b7a9..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-033.md
+++ /dev/null
@@ -1,247 +0,0 @@
----
-id: 5d675726e0696bdec46938e0
-title: Part 33
-challengeType: 0
-dashedName: part-33
----
-
-# --description--
-
-Add another property in the object with the name `"button functions"`. The value should be an array containing the three `onclick` functions from the `goTown` function. It should look like this: `[goStore, goCave, fightDragon]`
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert.deepStrictEqual(locations[0]['button functions'], [
- goStore,
- goCave,
- fightDragon
-]);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-034.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-034.md
deleted file mode 100644
index 53e94ec05c..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-034.md
+++ /dev/null
@@ -1,248 +0,0 @@
----
-id: 5d678366e0696bdec46938e1
-title: Part 34
-challengeType: 0
-dashedName: part-34
----
-
-# --description--
-
-Add one final property to the object named `text`. The value should be the final text from the `goTown` function.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- locations[0].text ===
- 'You are in the town square. You see a sign that says "Store."'
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-035.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-035.md
deleted file mode 100644
index 6e9549b0e8..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-035.md
+++ /dev/null
@@ -1,261 +0,0 @@
----
-id: 5d67845ee0696bdec46938e2
-title: Part 35
-challengeType: 0
-dashedName: part-35
----
-
-# --description--
-
-The `locations` array currently has one element which is an object. Within the array, and after the object's final curly brace, add a comma. On the next line within the array, add another object with all the same properties as the first object. Keep the property names the same on the second object, but change all the property values to the information from the `goStore` function. Also, set the `name` property to `store`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert.deepStrictEqual(locations[1], {
- 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.'
-});
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-036.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-036.md
deleted file mode 100644
index 76823a417f..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-036.md
+++ /dev/null
@@ -1,267 +0,0 @@
----
-id: 5d67880ee0696bdec46938e3
-title: Part 36
-challengeType: 0
-dashedName: part-36
----
-
-# --description--
-
-Now we are can consolidate the code inside the `goTown` and `goStore` functions. Copy the code inside the `goTown` function and paste it in the `update` function. Then delete all the code inside the `goTown` and `goStore` functions.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- (() => {
- update();
- return (
- goTown.toString() === 'function goTown() {}' &&
- goStore.toString() === 'function goStore() {}' &&
- button1.innerText === 'Go to store' &&
- button2.innerText === 'Go to cave' &&
- button3.innerText === 'Fight dragon' &&
- text.innerText ===
- 'You are in the town square. You see a sign that says "Store".' &&
- update.toString().match(/button1\.onclick\s*\=\s*goStore\;?/) &&
- update.toString().match(/button2\.onclick\s*\=\s*goCave\;?/) &&
- update.toString().match(/button3\.onclick\s*\=\s*fightDragon\;?/)
- );
- })()
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-037.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-037.md
deleted file mode 100644
index 996d05d8b2..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-037.md
+++ /dev/null
@@ -1,247 +0,0 @@
----
-id: 5d67ad3de0696bdec46938e4
-title: Part 37
-challengeType: 0
-dashedName: part-37
----
-
-# --description--
-
-Instead of assigning the `innerText` and `onClick` properties to specific strings and functions like it does now, the `update` function will use data from the `location` that is passed into it. First, data needs to be passed into the `update` function. Inside the `goTown` function, call the `update` function.
-
-Here is how you would call a function named `exampleFunction`: `exampleFunction();`
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(goTown.toString().match(/update\(\)/));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-038.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-038.md
deleted file mode 100644
index 8b8100d9c3..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-038.md
+++ /dev/null
@@ -1,248 +0,0 @@
----
-id: 5d67ae95e0696bdec46938e5
-title: Part 38
-challengeType: 0
-dashedName: part-38
----
-
-# --description--
-
-Now change the code you just wrote to call the `update` function so the `locations` array is passed in as an argument.
-
-Here is how you would call a function named `exampleFunction` with an argument called `arg`: `exampleFunction(arg);`
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(goTown.toString().match(/update\(locations\)/));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-039.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-039.md
deleted file mode 100644
index 63f30c6b59..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-039.md
+++ /dev/null
@@ -1,246 +0,0 @@
----
-id: 5d67b284e0696bdec46938e6
-title: Part 39
-challengeType: 0
-dashedName: part-39
----
-
-# --description--
-
-The `locations` array contains two locations: the town square and store. Currently the entire array with both locations is being passed in to the update function. Pass in only the first element of the locations array by adding `[0]` at the end of the name of the array. For example, `exampleFunction(arg[0]);`
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(goTown.toString().match(/update\(locations\[0\]\)/));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-040.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-040.md
deleted file mode 100644
index c8e8a9857d..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-040.md
+++ /dev/null
@@ -1,252 +0,0 @@
----
-id: 5d67b945e0696bdec46938e7
-title: Part 40
-challengeType: 0
-dashedName: part-40
----
-
-# --description--
-
-Now that the `goTown` function calls the `update` function with the first element of the `locations` array, it is time to use that location information to update the `innerText` and `onclick` properties.
-
-Inside the `update` function, change `button1.innerText` to equal `location["button text"]`. That line gets the `"button text"` property of the `location` that was passed into the `update` function\`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- update
- .toString()
- .match(/button1\.innerText\s*\=\s*location\[[\'\"\`]button text[\'\"\`]\]/)
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-041.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-041.md
deleted file mode 100644
index bba6e8fafc..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-041.md
+++ /dev/null
@@ -1,252 +0,0 @@
----
-id: 5d68c3b1e0696bdec46938e8
-title: Part 41
-challengeType: 0
-dashedName: part-41
----
-
-# --description--
-
-`location["button text"]` is an array with three elements. Use only the first element of the array by adding `[0]` at the end.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- update
- .toString()
- .match(
- /button1\.innerText\s*\=\s*location\[[\'\"\`]button text[\'\"\`]\]\[0\]/
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-042.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-042.md
deleted file mode 100644
index 5c6517b2b6..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-042.md
+++ /dev/null
@@ -1,257 +0,0 @@
----
-id: 5d68c51ee0696bdec46938e9
-title: Part 42
-challengeType: 0
-dashedName: part-42
----
-
-# --description--
-
-Now update the `innerText` of the other two buttons. They should be set to equal the same thing as the first button, except the number inside the brackets should be 1 for the second button and 2 for the third button.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- update
- .toString()
- .match(
- /button2\.innerText\s*\=\s*location\[[\'\"\`]button text[\'\"\`]\]\[1\]/
- ) &&
- update
- .toString()
- .match(
- /button3\.innerText\s*\=\s*location\[[\'\"\`]button text[\'\"\`]\]\[2\]/
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-043.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-043.md
deleted file mode 100644
index 009d874188..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-043.md
+++ /dev/null
@@ -1,262 +0,0 @@
----
-id: 5d68c5efe0696bdec46938ea
-title: Part 43
-challengeType: 0
-dashedName: part-43
----
-
-# --description--
-
-Now update the three `onclick` properties. These will look very similar to the `innerText` properties, except instead of using the `"button text"` part of the `location`, use `"button functions"`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- update
- .toString()
- .match(
- /button1\.onclick\s*\=\s*location\[[\'\"\`]button functions[\'\"\`]\]\[0\]/
- ) &&
- update
- .toString()
- .match(
- /button2\.onclick\s*\=\s*location\[[\'\"\`]button functions[\'\"\`]\]\[1\]/
- ) &&
- update
- .toString()
- .match(
- /button3\.onclick\s*\=\s*location\[[\'\"\`]button functions[\'\"\`]\]\[2\]/
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-044.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-044.md
deleted file mode 100644
index 491a31d4c1..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-044.md
+++ /dev/null
@@ -1,248 +0,0 @@
----
-id: 5d68c758e0696bdec46938eb
-title: Part 44
-challengeType: 0
-dashedName: part-44
----
-
-# --description--
-
-Finally, update `text.innerText` to equal the `text` from the location object.
-
-So far we have been accessing properties of the location object using bracket notation. This time use dot notation. Here is how to access a `name` property of an object called `obj` using dot notation: `obj.name`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(update.toString().match(/text\.innerText\s*\=\s*location\.text\;?/));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-045.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-045.md
deleted file mode 100644
index cfcc6110ac..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-045.md
+++ /dev/null
@@ -1,247 +0,0 @@
----
-id: 5d68c947e0696bdec46938ec
-title: Part 45
-challengeType: 0
-dashedName: part-45
----
-
-# --description--
-
-Now update the `goStore` function. The code should look just like the code inside the `goTown` function, except the number 0 should be changed to 1. After this step would be a good time to try out the game so far. You should be able to move between the store and the town square.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(goStore.toString().match(/update\(locations\[1\]\)/));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-046.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-046.md
deleted file mode 100644
index 8880e9dbae..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-046.md
+++ /dev/null
@@ -1,266 +0,0 @@
----
-id: 5d68ca40e0696bdec46938ed
-title: Part 46
-challengeType: 0
-dashedName: part-46
----
-
-# --description--
-
-Add a third object in the `locations` array with the same properties as the other two objects.
-
-Set `name` to "cave". Set the elements in the `"button text"` array to \["Fight slime", "Fight fanged beast", and "Go to town square". Set te elements in the `"button functions"` array to be "fightSlime", "fightBeast", and "goTown". Set the value of the `text` property to "You enter the cave. You see some monsters.".
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert.deepStrictEqual(locations[2], {
- 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.'
-});
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-049.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-049.md
deleted file mode 100644
index ff7dfebe58..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-049.md
+++ /dev/null
@@ -1,275 +0,0 @@
----
-id: 5d68d631e0696bdec46938f0
-title: Part 49
-challengeType: 0
-dashedName: part-49
----
-
-# --description--
-
-Now that the store and cave locations are complete, we'll code the actions at those locations. Inside the `buyHealth` function, set `gold` to equal `gold` minus 10.
-
-For example here is how you would set set `num` to equal 5 less than `num`: `num = num - 5;`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-buyHealth(), assert(gold === 40);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-051.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-051.md
deleted file mode 100644
index 5fcb7a9139..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-051.md
+++ /dev/null
@@ -1,281 +0,0 @@
----
-id: 5d6904b6e0696bdec46938f2
-title: Part 51
-challengeType: 0
-dashedName: part-51
----
-
-# --description--
-
-There is a shorthand way to add or subtract from a variable called compound assignment. The long way to add to a variable is `num = num + 5`. The shorthand way is `num += 5`. It works the same way with subtraction.
-
-Update both lines inside the `buyHealth` function to use compound assignment.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- buyHealth.toString().match(/gold\s*\-\=\s*10\;?/) &&
- buyHealth.toString().match(/health\s*\+\=\s*10\;?/)
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-052.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-052.md
deleted file mode 100644
index ea3cf82bfa..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-052.md
+++ /dev/null
@@ -1,281 +0,0 @@
----
-id: 5d6905ace0696bdec46938f3
-title: Part 52
-challengeType: 0
-dashedName: part-52
----
-
-# --description--
-
-Now that the gold and health variables have been updated, we need to update the values displayed on the screen. Inside the `buyHealth` function, add the line `goldText.innerText = gold;`. Then use the same pattern to update `healthText`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- buyHealth.toString().match(/goldText\.innerText\s*\=\s*gold\;?/) &&
- buyHealth.toString().match(/healthText.innerText\s*\=\s*health\;?/)
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-053.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-053.md
deleted file mode 100644
index b9488436a8..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-053.md
+++ /dev/null
@@ -1,302 +0,0 @@
----
-id: 5d6f6bfc7c812010bf3327cc
-title: Part 53
-challengeType: 0
-dashedName: part-53
----
-
-# --description--
-
-What if the player doesn't have enough gold to buy health? Put all the code in the `buyHealth` function inside an `if` statement. Here is an example of an `if` statement inside a function:
-
-```js
-function checkMoney() {
- if (condition) {
- console.log("You have money!");
- }
-}
-```
-
-Note: For now you should use the word "condition" inside the `if` statement but we'll be changing that next.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- buyHealth
- .toString()
- .match(
- /if\s*\(\s*condition\s*\)\s*\{\s*(gold|health|goldText|healthText)/
- ) &&
- buyHealth.toString().match(/gold\s*\-\=\s*10\;?/) &&
- buyHealth.toString().match(/health\s*\+\=\s*10\;?/) &&
- buyHealth.toString().match(/goldText\.innerText\s*\=\s*gold\;?/) &&
- buyHealth.toString().match(/healthText\.innerText\s*\=\s*health\;?/)
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-054.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-054.md
deleted file mode 100644
index e28f8fba0a..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-054.md
+++ /dev/null
@@ -1,292 +0,0 @@
----
-id: 5d6f6e3c7c812010bf3327cd
-title: Part 54
-challengeType: 0
-dashedName: part-54
----
-
-# --description--
-
-The word "condition" inside the if statement is just a placeholder. Change the condition to check if the amount of gold the player has is greater than or equal to 10.
-
-Here is an `if` statement that checks if `num` is greater than or equal to 5:
-
-```js
-if (num >= 5) {
- console.log("Num is greater than or equal to five!");
-}
-```
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(buyHealth.toString().match(/if\s*\(\s*gold\s*\>\=\s*10\s*\)/));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-055.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-055.md
deleted file mode 100644
index 1961a7c3bd..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-055.md
+++ /dev/null
@@ -1,295 +0,0 @@
----
-id: 5d6f6f747c812010bf3327ce
-title: Part 55
-challengeType: 0
-dashedName: part-55
----
-
-# --description--
-
-Now when a player tries to buy health it will only work if they have enough money. If the player does not have enough money, nothing will happen. Add an `else` statement where you can put code to run if a player dees not have enough money.
-
-Here is an example of an empty `else` statement:
-
-```js
-if (num >= 5) {
- console.log("Num is greater than or equal to five!");
-} else {
-}
-```
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(buyHealth.toString().match(/\}\s*else\s*\{\s*\}/));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-056.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-056.md
deleted file mode 100644
index 92734d76b2..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-056.md
+++ /dev/null
@@ -1,290 +0,0 @@
----
-id: 5d6f70937c812010bf3327cf
-title: Part 56
-challengeType: 0
-dashedName: part-56
----
-
-# --description--
-
-Inside the `else` statement, set `text.innerText` to equal "You do not have enough gold to buy health."
-
-# --hints--
-
-See description above for instructions.
-
-```js
-(gold = 5),
- buyHealth(),
- assert(text.innerText === 'You do not have enough gold to buy health.');
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-057.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-057.md
deleted file mode 100644
index c125391b4d..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-057.md
+++ /dev/null
@@ -1,290 +0,0 @@
----
-id: 5d6f72657c812010bf3327d0
-title: Part 57
-challengeType: 0
-dashedName: part-57
----
-
-# --description--
-
-Before we write the code for the `buyWeapon` function, use `const` to create a `weapons` variable right above the `locations` array. Set it to equal an empty array.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert.deepStrictEqual(weapons, []);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-058.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-058.md
deleted file mode 100644
index d48d9e790d..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-058.md
+++ /dev/null
@@ -1,314 +0,0 @@
----
-id: 5d6f736b7c812010bf3327d2
-title: Part 58
-challengeType: 0
-dashedName: part-58
----
-
-# --description--
-
-Just like in the `locations` array, all the elements in `weapons` will be objects. Add four objects to the `weapons` array, each with two properties: `name` and `power`. The first should be the `name` "stick" with `power` set to 5. Then, "dagger" with set `power` to 30. Next, "claw hammer" with a `power` of 50. Finally, "sword" with a `power` of 100.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert.deepStrictEqual(weapons, [
- { name: 'stick', power: 5 },
- { name: 'dagger', power: 30 },
- { name: 'claw hammer', power: 50 },
- { name: 'sword', power: 100 }
-]);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-059.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-059.md
deleted file mode 100644
index f24a62ffa5..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-059.md
+++ /dev/null
@@ -1,329 +0,0 @@
----
-id: 5d6f776c7c812010bf3327d3
-title: Part 59
-challengeType: 0
-dashedName: part-59
----
-
-# --description--
-
-Inside the `buyWeapon` function, add an `if` statement to check if gold is greater than or equal to 30.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(buyWeapon.toString().match(/if\s*\(\s*gold\s*\>\=\s*30\)\s*\{\s*\}/));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-060.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-060.md
deleted file mode 100644
index a868276b9a..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-060.md
+++ /dev/null
@@ -1,332 +0,0 @@
----
-id: 5d6f785f7c812010bf3327d4
-title: Part 60
-challengeType: 0
-dashedName: part-60
----
-
-# --description--
-
-Similar to in the `buyHealth` function, set `gold` to equal 30 less than its current value.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-(gold = 50), buyWeapon(), assert(gold === 20);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-061.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-061.md
deleted file mode 100644
index 5cee23ff5b..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-061.md
+++ /dev/null
@@ -1,333 +0,0 @@
----
-id: 5d6f79667c812010bf3327d6
-title: Part 61
-challengeType: 0
-dashedName: part-61
----
-
-# --description--
-
-The value of `currentWeapon` corresponds to an index in the `weapons` array. The player starts with a stick since `currentWeapon` starts at 0 and `weapons[0]` is the "stick" weapon. In the `buyWeapon` function, add one to `currentWeapon` since the user is buying the next weapon in the `weapons` array.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-(currentWeapon = 0), buyWeapon(), assert(currentWeapon === 1);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-062.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-062.md
deleted file mode 100644
index ee5a51bf97..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-062.md
+++ /dev/null
@@ -1,342 +0,0 @@
----
-id: 5d6f7b917c812010bf3327d7
-title: Part 62
-challengeType: 0
-dashedName: part-62
----
-
-# --description--
-
-You can easily increment or add one to a variable with the `++` operator. All three of these statements add one to a number:
-
-```js
-num = num + 1;
-num += 1;
-num++;
-```
-
-Change the line `currentWeapon += 1;` to use the `++` operator.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(buyWeapon.toString().match(/currentWeapon\s*\+\+\;?/));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-063.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-063.md
deleted file mode 100644
index 26bf3f78dc..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-063.md
+++ /dev/null
@@ -1,340 +0,0 @@
----
-id: 5d6f82da7c812010bf3327d8
-title: Part 63
-challengeType: 0
-dashedName: part-63
----
-
-# --description--
-
-Now update the `innerText` property of `goldText` and `text`. `text` should equal "You now have a new weapon.".
-
-# --hints--
-
-See description above for instructions.
-
-```js
-buyWeapon(),
- assert(
- goldText.innerText === '20' &&
- text.innerText === 'You now have a new weapon.'
- );
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-064.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-064.md
deleted file mode 100644
index 8725a9fc6e..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-064.md
+++ /dev/null
@@ -1,339 +0,0 @@
----
-id: 5d6f919f7c812010bf3327d9
-title: Part 64
-challengeType: 0
-dashedName: part-64
----
-
-# --description--
-
-Let's tell the player what weapon they bought. In between the two lines you just wrote, use `let` to initialize a new variable called `newWeapon`. Set `newWeapon` to equal `weapons`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(/let\s*newWeapon\s*\=\s*weapons\;?/.test(code));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-065.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-065.md
deleted file mode 100644
index 32764ac06a..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-065.md
+++ /dev/null
@@ -1,340 +0,0 @@
----
-id: 5d6f94347c812010bf3327da
-title: Part 65
-challengeType: 0
-dashedName: part-65
----
-
-# --description--
-
-Right after the word `weapons` (with no space between), add brackets `[]`. In between the brackets put `currentWeapon`, which is the index number of the weapon the player just bought.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(/let\s*newWeapon\s*\=\s*weapons\s?\[currentWeapon\]\;?/.test(code));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-066.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-066.md
deleted file mode 100644
index 597e6d7aad..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-066.md
+++ /dev/null
@@ -1,342 +0,0 @@
----
-id: 5d6f96747c812010bf3327db
-title: Part 66
-challengeType: 0
-dashedName: part-66
----
-
-# --description--
-
-Get just the name property of the current weapon by adding `.name` at the end of `weapons[currentWeapon]` (don't use a space).
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- /let\s*newWeapon\s*\=\s*weapons\s?\[currentWeapon\]\.name\;?/.test(code)
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-067.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-067.md
deleted file mode 100644
index 5fd5f2e6f3..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-067.md
+++ /dev/null
@@ -1,351 +0,0 @@
----
-id: 5d6f98247c812010bf3327dc
-title: Part 67
-challengeType: 0
-dashedName: part-67
----
-
-# --description--
-
-You can insert variables into a string with the concatenation (`+`) operator. Update the "You now have a new weapon." string so it says "You now have a " and then lists the name of the new weapon. Make sure to add a period at the end of the sentence.
-
-Here is an example that creates the string "Hello, our name is freeCodeCamp.":
-
-```js
-let ourName = "freeCodeCamp";
-let ourStr = "Hello, our name is " + ourName + ".";
-```
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- buyWeapon
- .toString()
- .match(/[\'\"\`]You now have a [\'\"\`]\s*\+\s*newWeapon\;?/)
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-068.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-068.md
deleted file mode 100644
index 9bd5e014cd..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-068.md
+++ /dev/null
@@ -1,348 +0,0 @@
----
-id: 5d6f9a4c7c812010bf3327dd
-title: Part 68
-challengeType: 0
-dashedName: part-68
----
-
-# --description--
-
-Way back at the beginning you created the `inventory` array. Push the `newWeapon` onto the end of the `inventory` array. Here is an example of pushing onto an array:
-
-```js
-let arr = ["first"];
-let next = "second";
-arr.push(next);
-// arr now equals ["first", "second"]
-```
-
-# --hints--
-
-See description above for instructions.
-
-```js
-buyWeapon(), assert.deepStrictEqual(inventory, ['stick', 'dagger']);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-069.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-069.md
deleted file mode 100644
index ed7ac6e071..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-069.md
+++ /dev/null
@@ -1,349 +0,0 @@
----
-id: 5d70850e066dac7142a6d797
-title: Part 69
-challengeType: 0
-dashedName: part-69
----
-
-# --description--
-
-Up to this point, anytime `text.innerText` was updated, the old text was erased. This time, use the `+=` operator instead of the `=` operator to add text to the end of `text.innerText`. Add the string " In your inventory you have: " (include the spaces at the beginning and end).
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- buyWeapon
- .toString()
- .match(
- /text\.innerText\s*\+\=\s*[\'\"\`] In your inventory you have\: [\'\"\`]\;?/
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-070.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-070.md
deleted file mode 100644
index 0e64dbaded..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-070.md
+++ /dev/null
@@ -1,350 +0,0 @@
----
-id: 5d70862e066dac7142a6d798
-title: Part 70
-challengeType: 0
-dashedName: part-70
----
-
-# --description--
-
-At the end of the string you just added after the ending quote mark, add `+ inventory` to add the contents of the inventory to the end of the string.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- buyWeapon
- .toString()
- .match(
- /text\.innerText\s*\+\=\s*[\'\"\`] In your inventory you have\: [\'\"\`]\s*\+\s*inventory\;?/
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-071.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-071.md
deleted file mode 100644
index b2dfd7e4c2..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-071.md
+++ /dev/null
@@ -1,352 +0,0 @@
----
-id: 5d7086d4066dac7142a6d799
-title: Part 71
-challengeType: 0
-dashedName: part-71
----
-
-# --description--
-
-At the end of the `if` statement inside the `buyWeapon` function, add an `else` statement. Inside the `else` statement, set `text.innerText` to equal "You do not have enough gold to buy a weapon.".
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- buyWeapon
- .toString()
- .match(
- /\}\s*else\s*\{\s*text\.innerText\s*\=\s*[\'\"\`]You do not have enough gold to buy a weapon\.?[\'\"\`]\;?\s*\}/
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-072.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-072.md
deleted file mode 100644
index 6da16fae4d..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-072.md
+++ /dev/null
@@ -1,361 +0,0 @@
----
-id: 5d7088d2066dac7142a6d79a
-title: Part 72
-challengeType: 0
-dashedName: part-72
----
-
-# --description--
-
-Once a player has the best weapon, they can't buy another one. Wrap all the code in the `buyWeapon` function inside another `if` statement. The condition should check if `currentWeapon` is less than 3 (the index of the last weapon).
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- buyWeapon
- .toString()
- .match(
- /if\s*\(\s*currentWeapon\s*\<\s*3\s*\)\s*\{\s*if\s*\(\s*gold\s*\>\=\s*30\s*\)\s*\{/
- ) &&
- buyWeapon
- .toString()
- .match(
- /\}\s*else\s*\{\s*text\.innerText\s*\=\s*[\'\"\`]You do not have enough gold to buy a weapon\.?[\'\"\`]\;?\s*\}\s*\}/
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-073.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-073.md
deleted file mode 100644
index b2de94000c..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-073.md
+++ /dev/null
@@ -1,358 +0,0 @@
----
-id: 5d708ab5066dac7142a6d79b
-title: Part 73
-challengeType: 0
-dashedName: part-73
----
-
-# --description--
-
-At some point in the future, you may want to add more weapons. Instead of checking if `currentWeapon` is less than three, check if `currentWeapon` is less than the length of the `weapons` array. For example, here is how you would get the length of an array called `arr`: `arr.length`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- buyWeapon
- .toString()
- .match(
- /if\s*\(\s*currentWeapon\s*\<\s*weapons\.length\s*\)\s*\{\s*if\s*\(\s*gold\s*\>\=\s*30\s*\)\s*\{/
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-074.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-074.md
deleted file mode 100644
index ac6f24dc33..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-074.md
+++ /dev/null
@@ -1,358 +0,0 @@
----
-id: 5d708be9066dac7142a6d79c
-title: Part 74
-challengeType: 0
-dashedName: part-74
----
-
-# --description--
-
-We have to fix an error. The `currentWeapon` variable is the array index. Array indexing starts at zero. The index of the last element in an array is one less than the length of the array. In the `if` condition you are working on, change `weapons.length` to `weapons.length - 1`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- buyWeapon
- .toString()
- .match(
- /if\s*\(\s*currentWeapon\s*\<\s*weapons\.length\s*\-\s*1\s*\)\s*\{\s*if\s*\(\s*gold\s*\>\=\s*30\s*\)\s*\{/
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-075.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-075.md
deleted file mode 100644
index d8745f0ce6..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-075.md
+++ /dev/null
@@ -1,360 +0,0 @@
----
-id: 5d708c9a066dac7142a6d79d
-title: Part 75
-challengeType: 0
-dashedName: part-75
----
-
-# --description--
-
-Add an `else` statement on the end of the outer `if` statement. Inside the `else` statement, set `text.innerText` to "You already have the most powerful weapon!".
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- buyWeapon
- .toString()
- .match(
- /\}\s*else\s*\{\s*text\.innerText\s*\=\s*[\'\"\`]You do not have enough gold to buy a weapon\.?[\'\"\`]\;?\s*\}\s*\}\s*else\s*\{\s*text\.innerText\s*\=\s*[\'\"\`]You already have the most powerful weapon\![\'\"\`]\;?\s*\}/
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-076.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-076.md
deleted file mode 100644
index 9c9369715d..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-076.md
+++ /dev/null
@@ -1,364 +0,0 @@
----
-id: 5d708dd7066dac7142a6d79e
-title: Part 76
-challengeType: 0
-dashedName: part-76
----
-
-# --description--
-
-Once a player has the most powerful weapon, we'll give them the ability to sell their older weapons back. In the else statement, set `button2.innerText` to equal "Sell weapon for 15 gold". Also, set `button2.onclick` to the function name `sellWeapon`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- buyWeapon
- .toString()
- .match(
- /else\s*\{\s*text\.innerText\s*\=\s*[\'\"\`]You already have the most powerful weapon\![\'\"\`]\;?\s*button2\.innerText\s*\=\s*[\'\"\`]Sell weapon for 15 gold\.?[\'\"\`]\;?\s*button2\.onclick\s*\=\s*sellWeapon\;?\s*\}/
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-078.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-078.md
deleted file mode 100644
index cdb3492126..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-078.md
+++ /dev/null
@@ -1,373 +0,0 @@
----
-id: 5d709664066dac7142a6d7a0
-title: Part 78
-challengeType: 0
-dashedName: part-78
----
-
-# --description--
-
-Players should not be able to sell their only weapon. Inside the `sellWeapon` function, add an `if` statement with a condition that checks if the length of the `inventory` array is greater than one.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- sellWeapon
- .toString()
- .match(/if\s*\(\s*inventory\.length\s*\>\s*1\s*\)\s*\{\s*\}/)
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-080.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-080.md
deleted file mode 100644
index cc10b5e0ee..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-080.md
+++ /dev/null
@@ -1,379 +0,0 @@
----
-id: 5d71b58b848f6914ab89897d
-title: Part 80
-challengeType: 0
-dashedName: part-80
----
-
-# --description--
-
-Use the `let` keyword to create a variable named `currentWeapon`. Don't set it equal to anything yet. Notice that we already have a `currentWeapon` variable from earlier. Since the `let` keyword is used instead of `var`, this new version of `currentWeapon` is scoped only to this `if` statement. At the close of the `if` statement, the old version of `currentWeapon` will be used again.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- code.match(
- /if\s*\(\s*inventory\.length\s*\>\s*1\s*\)\s*\{\s*(.\s*)*let\s*currentWeapon\;?/
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-081.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-081.md
deleted file mode 100644
index 043a6e1b1e..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-081.md
+++ /dev/null
@@ -1,388 +0,0 @@
----
-id: 5d71bdca848f6914ab89897e
-title: Part 81
-challengeType: 0
-dashedName: part-81
----
-
-# --description--
-
-Use the `shift()` method on the `inventory` array to remove the first element and return that removed element. Set `currentWeapon` to equal returned element.
-
-Here is an example:
-
-```js
-let arr = ["one", "two", "three"];
-let firstElement = arr.shift();
-// arr now equals ["two", "three"] and firstElement now equals "one"
-```
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- code.match(
- /if\s*\(\s*inventory\.length\s*\>\s*1\s*\)\s*\{\s*(.\s*)*let\s*currentWeapon\s*\=\s*inventory\.shift\(\s*\)\;?/
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-082.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-082.md
deleted file mode 100644
index 1c53103684..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-082.md
+++ /dev/null
@@ -1,380 +0,0 @@
----
-id: 5d71bfdf848f6914ab89897f
-title: Part 82
-challengeType: 0
-dashedName: part-82
----
-
-# --description--
-
-After the line that creates the `currentWeapon` variable, set `text.innerText` to equal `"You sold a " + currentWeapon + "."`
-
-# --hints--
-
-See description above for instructions.
-
-```js
-(inventory = ['potato', 'carrot']),
- sellWeapon(),
- assert(text.innerText === 'You sold a potato.' && inventory[0] === 'carrot');
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-083.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-083.md
deleted file mode 100644
index 93d8b087fd..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-083.md
+++ /dev/null
@@ -1,384 +0,0 @@
----
-id: 5d71c20f848f6914ab898980
-title: Part 83
-challengeType: 0
-dashedName: part-83
----
-
-# --description--
-
-Now use the `+=` operator to add to `text.innerText`. Add the string " In your inventory you have: " (with spaces at the beginning and end). Then add the `inventory` variable to the end of the string.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-(inventory = ['potato', 'carrot']),
- sellWeapon(),
- assert(
- text.innerText === 'You sold a potato. In your inventory you have: carrot'
- );
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-084.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-084.md
deleted file mode 100644
index 3874c2eb17..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-084.md
+++ /dev/null
@@ -1,387 +0,0 @@
----
-id: 5d71c80e848f6914ab898981
-title: Part 84
-challengeType: 0
-dashedName: part-84
----
-
-# --description--
-
-Add code so that if the length of the inventory is NOT more than one, then a text message appears that says "Don't sell your only weapon!".
-
-# --hints--
-
-See description above for instructions.
-
-```js
-(inventory = ['potato']),
- sellWeapon(),
- assert(
- inventory[0] === 'potato' &&
- text.innerText === "Don't sell your only weapon!"
- );
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-085.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-085.md
deleted file mode 100644
index 3bdde43e8f..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-085.md
+++ /dev/null
@@ -1,408 +0,0 @@
----
-id: 5d71cab4f27e5122af9f1178
-title: Part 85
-challengeType: 0
-dashedName: part-85
----
-
-# --description--
-
-Now we'll start working on fighting monsters. Organize your code by moving the `fightDragon` function to the bottom of the code near the other fight functions.
-
-Below where the `weapons` array is defined, define a `monsters` array. Set the contents of the `monsters` array to: `{ name: "slime", level: 2, health: 15 }, {name: "fanged beast", level: 8, health: 60 }, { name: "dragon", level: 20, health: 300 }`. Space out the code similar to the `weapons` array so that it is easier to read.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert.deepStrictEqual(monsters, [
- { name: 'slime', level: 2, health: 15 },
- { name: 'fanged beast', level: 8, health: 60 },
- { name: 'dragon', level: 20, health: 300 }
-]);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-086.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-086.md
deleted file mode 100644
index eb27db0455..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-086.md
+++ /dev/null
@@ -1,423 +0,0 @@
----
-id: 5d71ea30f27e5122af9f1179
-title: Part 86
-challengeType: 0
-dashedName: part-86
----
-
-# --description--
-
-Fighting each type of monster will be very similar so all three fighting functions will call a function named `goFight`. At the end of the code, add an empty function named `goFight`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(typeof goFight === 'function');
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-087.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-087.md
deleted file mode 100644
index 181b645c76..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-087.md
+++ /dev/null
@@ -1,430 +0,0 @@
----
-id: 5d71eb0bf27e5122af9f117a
-title: Part 87
-challengeType: 0
-dashedName: part-87
----
-
-# --description--
-
-Inside the `fightSlime` function, set `fighting` to equal 0 (which is the index of the slime in the `monsters` array). On the next line, call the `goFight` function.
-
-As a reminder, here is how you would call a function named `myFunc`: `myFunc();`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(fightSlime.toString().match(/fighting\s*\=\s*0\;?\s*goFight\(\s*\)\;?/));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-088.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-088.md
deleted file mode 100644
index 052627f864..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-088.md
+++ /dev/null
@@ -1,436 +0,0 @@
----
-id: 5d71f787e39bedcf8f0998ff
-title: Part 88
-challengeType: 0
-dashedName: part-88
----
-
-# --description--
-
-Write the code for the `fightBeast` and `fightDragon` functions, using the `fightSlime` function as an example. Make sure to delete the line that is already in the `fightDragon` function.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- fightBeast.toString().match(/fighting\s*\=\s*1\;?\s*goFight\(\s*\)\;?/) &&
- fightDragon.toString().match(/fighting\s*\=\s*2\;?\s*goFight\(\s*\)\;?/)
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-089.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-089.md
deleted file mode 100644
index 47c417e426..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-089.md
+++ /dev/null
@@ -1,452 +0,0 @@
----
-id: 5d71ed88f27e5122af9f117b
-title: Part 89
-challengeType: 0
-dashedName: part-89
----
-
-# --description--
-
-Add a new object in the `locations` array with all the same properties as the other objects in the array. Set `name` to "fight". Set `"button text"` to `["Attack", "Dodge", "Run"]`. Set `"button functions"` to `[attack, dodge, goTown]`. And set `text` to "You are fighting a monster.".
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert.deepStrictEqual(locations[3], {
- name: 'fight',
- 'button text': ['Attack', 'Dodge', 'Run'],
- 'button functions': [attack, dodge, goTown],
- text: 'You are fighting a monster.'
-});
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-092.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-092.md
deleted file mode 100644
index f4a6a6eb3e..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-092.md
+++ /dev/null
@@ -1,476 +0,0 @@
----
-id: 5d72027ce39bedcf8f099900
-title: Part 92
-challengeType: 0
-dashedName: part-92
----
-
-# --description--
-
-Next in the `goFight` function, set `monsterHealth` to equal the health of the current monster. You can get the health of the current monster with `monsters[fighting].health`. Try to understand that line before continuing.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- (() => {
- fightSlime();
- return monsterHealth === 15;
- })() &&
- (() => {
- fightBeast();
- return monsterHealth === 60;
- })() &&
- (() => {
- fightDragon();
- return monsterHealth === 300;
- })()
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-093.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-093.md
deleted file mode 100644
index 84e0290e3c..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-093.md
+++ /dev/null
@@ -1,471 +0,0 @@
----
-id: 5d721925e39bedcf8f099901
-title: Part 93
-challengeType: 0
-dashedName: part-93
----
-
-# --description--
-
-The HTML that shows the monster stats that has been hidden using CSS. Display the `monsterStats` HTML element by updating its CSS `display` property to equal `block`.
-
-Here is an example of updating the `display` property of an element named `myElement`: `myElement.style.display = "block";`
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- goFight
- .toString()
- .match(/^\s*monsterStats\.style\.display\s*\=\s*[\'\"\`]block[\'\"\`]\;?/m)
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-095.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-095.md
deleted file mode 100644
index 0361edec43..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-095.md
+++ /dev/null
@@ -1,471 +0,0 @@
----
-id: 5d7deecc8360d21c6826a9b0
-title: Part 95
-challengeType: 0
-dashedName: part-95
----
-
-# --description--
-
-We'll build out the `attack` function now. For the first line in the function, update the text message to say "The \[monster name] attacks." but replace "\[monster name]" with the actual name of the monster. Remember, you can get the monster name with `monsters[fighting].name`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-fightDragon(), attack(), assert(text.innerText === 'The dragon attacks.');
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-096.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-096.md
deleted file mode 100644
index 5b74ed5e58..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-096.md
+++ /dev/null
@@ -1,478 +0,0 @@
----
-id: 5d7df0458360d21c6826a9b1
-title: Part 96
-challengeType: 0
-dashedName: part-96
----
-
-# --description--
-
-Now use the `+=` operator to append more text to `text.innerText`. Add the text " You attack it with your \[weapon name]." but replace "\[weapon name]" with the actual weapon name. Remember, you can get the weapon name with `weapons[currentWeapon].name`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-(currentWeapon = 3),
- fightDragon(),
- attack(),
- assert(
- text.innerText === 'The dragon attacks. You attack it with your sword.'
- );
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-097.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-097.md
deleted file mode 100644
index 6b15d33fda..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-097.md
+++ /dev/null
@@ -1,475 +0,0 @@
----
-id: 5d7df2a68360d21c6826a9b2
-title: Part 97
-challengeType: 0
-dashedName: part-97
----
-
-# --description--
-
-Next, set `health` to equal `health` minus the monster's level. You can get the monster's level with `monsters[fighting].level`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-(health = 50), fightDragon(), attack(), assert(health === 30);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-099.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-099.md
deleted file mode 100644
index bd3cbd8d48..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-099.md
+++ /dev/null
@@ -1,484 +0,0 @@
----
-id: 5d7df75a8360d21c6826a9b4
-title: Part 99
-challengeType: 0
-dashedName: part-99
----
-
-# --description--
-
-At the end of that line, add a random number between one and the value of `xp`. Here is the formula to get a random number between 1 and 5: `Math.floor(Math.random() * 5) + 1`.
-
-`Math.random()` returns a decimal or floating point number between 0 and 1, and `Math.floor()` rounds a given number down to the nearest integer.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-(xp = 1),
- fightDragon(),
- (monsterHealth = 20),
- attack(),
- assert(monsterHealth === 14);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-101.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-101.md
deleted file mode 100644
index 60d5157b2b..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-101.md
+++ /dev/null
@@ -1,489 +0,0 @@
----
-id: 5d7e02c88360d21c6826a9b7
-title: Part 101
-challengeType: 0
-dashedName: part-101
----
-
-# --description--
-
-Check if health is less than or equal to zero. If it is, call the `lose()` function.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- attack
- .toString()
- .match(/^\s*if\s*\(\s*health\s*\<\=\s*0\s*\)\s*\{\s*lose\(\s*\);?\s*\}/m)
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-102.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-102.md
deleted file mode 100644
index 47874a2616..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-102.md
+++ /dev/null
@@ -1,508 +0,0 @@
----
-id: 5d7e06728360d21c6826a9b8
-title: Part 102
-challengeType: 0
-dashedName: part-102
----
-
-# --description--
-
-An `else` statement can be conditional with an `else if` statement. At the end of the `if` statement, add an `else if` statement to check if `monsterHealth` is less than or equal to zero. Inside the `else if` block, call the `defeatMonster()` function.
-
-Here is an example of an `if` statement with `else if` and `else`:
-
-```js
-if (num > 15) {
- return "Bigger than 15";
-} else if (num < 5) {
- return "Smaller than 5";
-} else {
- return "Between 5 and 15";
-}
-```
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- attack
- .toString()
- .match(
- /^\s*if\s*\(\s*health\s*\<\=\s*0\s*\)\s*\{\s*lose\(\s*\);?\s*\}\s*else if\s*\(\s*monsterHealth\s*\<\=\s*0\s*\)\s*\{\s*defeatMonster\(\s*\)\;?\s*\}/m
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-104.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-104.md
deleted file mode 100644
index 295fcda0c0..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-104.md
+++ /dev/null
@@ -1,507 +0,0 @@
----
-id: 5d7e13798360d21c6826a9bb
-title: Part 104
-challengeType: 0
-dashedName: part-104
----
-
-# --description--
-
-Inside the `dodge` function, set `text.innerText` equal to "You dodge the attack from the \[monster's name]." Instead of "\[monster's name]", get the monster's name with `monsters[fighting].name`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-fightDragon(),
- dodge(),
- assert(text.innerText === 'You dodge the attack from the dragon.');
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-105.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-105.md
deleted file mode 100644
index dc57d38ff7..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-105.md
+++ /dev/null
@@ -1,509 +0,0 @@
----
-id: 5d7f3b6c7c4263f469c36b17
-title: Part 105
-challengeType: 0
-dashedName: part-105
----
-
-# --description--
-
-In the `defeatMonster` function, set `gold` to equal `gold` plus the monster's level times 6.7. You can get the monster's level with `monsters[fighting].level`.
-
-Here is how you would set `num` to equal `num` plus five times eight: `num += 5 * 8`. Remember that `Math.floor()` rounds any number passed to it down to the nearest whole number.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-(gold = 10), fightSlime(), defeatMonster(), assert(gold === 23);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-109.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-109.md
deleted file mode 100644
index f686445b89..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-109.md
+++ /dev/null
@@ -1,532 +0,0 @@
----
-id: 5d7f43947c4263f469c36b1b
-title: Part 109
-challengeType: 0
-dashedName: part-109
----
-
-# --description--
-
-Add a new object in the `locations` array with all the same properties as the other objects in the array. Set `name` to "kill monster". Set `"button text"` to `["Go to town square", "Go to town square", "Go to town square"]`. Set `"button functions"` to `[goTown, goTown, goTown]`. And set `text` to "The monster screams Arg! as it dies. You gain experience points and find gold.".
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert.deepStrictEqual(locations[4], {
- name: 'kill monster',
- 'button text': [
- 'Go to town square',
- 'Go to town square',
- 'Go to town square'
- ],
- 'button functions': [goTown, goTown, goTown],
- text:
- 'The monster screams Arg! as it dies. You gain experience points and find gold.'
-});
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-110.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-110.md
deleted file mode 100644
index 0177434542..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-110.md
+++ /dev/null
@@ -1,538 +0,0 @@
----
-id: 5d7f44ac7c4263f469c36b1c
-title: Part 110
-challengeType: 0
-dashedName: part-110
----
-
-# --description--
-
-The word "Arg!" should have quotes around it. Besides escaping quotes, there is another way you can include quote marks inside a quote. Change the double quotes to single quotes around the sentence, "The monster screams Arg! as it dies. You gain experience points and find gold". Then add double quotes around "Arg!"
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert.deepStrictEqual(locations[4], {
- name: 'kill monster',
- 'button text': [
- 'Go to town square',
- 'Go to town square',
- 'Go to town square'
- ],
- 'button functions': [goTown, goTown, goTown],
- text:
- 'The monster screams "Arg!" as it dies. You gain experience points and find gold.'
-});
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-111.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-111.md
deleted file mode 100644
index 2b1d5134cb..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-111.md
+++ /dev/null
@@ -1,542 +0,0 @@
----
-id: 5d7f459421b11cdaa3f6b15f
-title: Part 111
-challengeType: 0
-dashedName: part-111
----
-
-# --description--
-
-While you're working in the `locations` array, add another object at the end. Set `name` to "lose". Set `"button text"` to `["REPLAY?", "REPLAY?", "REPLAY?"]`. Set `"button functions"` to `[restart, restart, restart]`. And set `text` to "You die. ☠️".
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert.deepStrictEqual(locations[5], {
- name: 'lose',
- 'button text': ['REPLAY?', 'REPLAY?', 'REPLAY?'],
- 'button functions': [restart, restart, restart],
- text: 'You die. ☠️'
-});
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-112.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-112.md
deleted file mode 100644
index 4b2f082256..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-112.md
+++ /dev/null
@@ -1,544 +0,0 @@
----
-id: 5d7f4d9421b11cdaa3f6b160
-title: Part 112
-challengeType: 0
-dashedName: part-112
----
-
-# --description--
-
-After a monster is defeated the monster stat box should no longer display. On the first line of the `update` function add: `monsterStats.style.display = "none";`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-fightSlime(), defeatMonster(), assert(monsterStats.style.display === 'none');
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
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.
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-114.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-114.md
deleted file mode 100644
index f1bdeebb2e..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-114.md
+++ /dev/null
@@ -1,575 +0,0 @@
----
-id: 5d80c3c021b11cdaa3f6b165
-title: Part 114
-challengeType: 0
-dashedName: part-114
----
-
-# --description--
-
-At the end of the code, create a `restart` function. Inside the function, set `xp` to 0, set `health` to 100, set `gold` to 50, set `currentWeapon` to 0, and set `inventory` to `["stick"]`. Also, update the `innerText` properties of `goldText`, `healthText`, and `xpText` to their current values. Finally, call the `goTown()` function.
-
-After this step is a good time to test the game so far.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-(currentWeapon = 1),
- (inventory = ['stick', 'dagger']),
- fightSlime(),
- attack(),
- defeatMonster(),
- restart(),
- assert(
- xp === 0 &&
- gold === 50 &&
- currentWeapon === 0 &&
- inventory[0] === 'stick' &&
- inventory.length === 1 &&
- goldText.innerText === '50' &&
- healthText.innerText === '100' &&
- xpText.innerText === '0' &&
- text.innerText ===
- 'You are in the town square. You see a sign that says "Store."'
- );
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-115.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-115.md
deleted file mode 100644
index 2da91fb9a9..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-115.md
+++ /dev/null
@@ -1,578 +0,0 @@
----
-id: 5d80d20d21b11cdaa3f6b166
-title: Part 115
-challengeType: 0
-dashedName: part-115
----
-
-# --description--
-
-Inside the `attack` function, update the contents of the `else if` statement. Instead of calling the `defeatMonster` function right away, create an `if` statement with an `else` statement. If the player is fighting the dragon (`fighting === 2`), then call the `winGame` function. Else, call the `defeatMonster` function.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- attack
- .toString()
- .match(
- /^\s*\}\s*else\s*if\s*\(\s*monsterHealth\s*\<\=\s*0\s*\)\s*\{\s*if\s*\(\s*fighting\s*===\s*2\)\s*\{\s*winGame\(\s*\)\;?\s*\}\s*else\s*\{\s*defeatMonster\(\s*\)\;?\s*\}\s*\}/m
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-116.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-116.md
deleted file mode 100644
index a648dc53a4..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-116.md
+++ /dev/null
@@ -1,592 +0,0 @@
----
-id: 5d80d67021b11cdaa3f6b167
-title: Part 116
-challengeType: 0
-dashedName: part-116
----
-
-# --description--
-
-The conditional operator, also called the ternary operator, can be used as a one line if-else expression. The syntax is: `condition ? statement-if-true : statement-if-false;`.
-
-Change the if-else expression from the last challenge to use the ternary operator instead. Here is an example:
-
-```js
-if (age >= 18) {
- adultFunction();
-} else {
- kidFunction();
-}
-
-// The above if-else expression does the same thing as the following line
-
-age >= 18 ? adultFunction() : kidFunction();
-```
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- attack
- .toString()
- .match(
- /^\s*\}\s*else\s*if\s*\(\s*monsterHealth\s*\<\=\s*0\s*\)\s*\{\s*fighting\s*\=\=\=\s*2\s*\?\s*winGame\(\s*\)\s*\:\s*defeatMonster\(\s*\)\;?\s*\}/m
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-117.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-117.md
deleted file mode 100644
index d2f4277b03..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-117.md
+++ /dev/null
@@ -1,572 +0,0 @@
----
-id: 5d80da7521b11cdaa3f6b168
-title: Part 117
-challengeType: 0
-dashedName: part-117
----
-
-# --description--
-
-After the `lose` function, create a function called `winGame`. Inside the `winGame` function, call the `update` function and pass in `locations[6]`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(winGame.toString().replace(/\s/g, '').includes('update(locations[6])'));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-118.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-118.md
deleted file mode 100644
index 5544e87fe0..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-118.md
+++ /dev/null
@@ -1,587 +0,0 @@
----
-id: 5dbab6d36ef5fe3a704f848c
-title: Part 118
-challengeType: 0
-dashedName: part-118
----
-
-# --description--
-
-Add another object in the `locations` array. Everything should be the same as the "lose" element, except the `name` should be "win" and the text should be "You defeat the dragon! YOU WIN THE GAME! 🎉"
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert.deepStrictEqual(locations[6], {
- name: 'win',
- 'button text': ['Fight slime', 'Fight fanged beast', 'Go to town square'],
- 'button functions': [restart, restart, restart],
- text: 'You defeat the dragon! YOU WIN THE GAME! 🎉'
-});
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-119.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-119.md
deleted file mode 100644
index 3e79f91c2f..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-119.md
+++ /dev/null
@@ -1,595 +0,0 @@
----
-id: 5dbabb746ef5fe3a704f848d
-title: Part 119
-challengeType: 0
-dashedName: part-119
----
-
-# --description--
-
-The game could be complete now, but let's make it more interesting.
-
-Inside the `attack` function, change the line `health -= monsters[fighting].level;` to `health -= getMonsterAttackValue(monsters[fighting].level);` This sets `health` to equal `health` minus the return value of the `getMonsterAttackValue` function. Also, pass the level of the monster to `getMonsterAttackValue` as an argument.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- attack
- .toString()
- .replace(/\s/g, '')
- .includes('health-=getMonsterAttackValue(monsters[fighting].level')
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-121.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-121.md
deleted file mode 100644
index 50e8300f07..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-121.md
+++ /dev/null
@@ -1,601 +0,0 @@
----
-id: 5dbac0c86ef5fe3a704f8490
-title: Part 121
-challengeType: 0
-dashedName: part-121
----
-
-# --description--
-
-The attack of the monster will be based on the monster's level and player's `xp`. In the `getMonsterAttackValue` function, use `const` to create a variable called `hit`. Set it to equal the equation `(level * 5) - (Math.floor(Math.random() * xp))`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- getMonsterAttackValue
- .toString()
- .replace(/\s/g, '')
- .includes('varhit=level*5-Math.floor(Math.random()*xp)')
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-122.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-122.md
deleted file mode 100644
index 2c8de55b40..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-122.md
+++ /dev/null
@@ -1,604 +0,0 @@
----
-id: 5dbac1f16ef5fe3a704f8491
-title: Part 122
-challengeType: 0
-dashedName: part-122
----
-
-# --description--
-
-Log the value of `hit` to the console to use in debugging.
-
-Here is how to log the value of `num` to the console: `console.log(num);`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- getMonsterAttackValue
- .toString()
- .replace(/\s/g, '')
- .includes('console.log(hit)')
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-123.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-123.md
deleted file mode 100644
index 7ccf018a43..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-123.md
+++ /dev/null
@@ -1,611 +0,0 @@
----
-id: 5dbac2b06ef5fe3a704f8492
-title: Part 123
-challengeType: 0
-dashedName: part-123
----
-
-# --description--
-
-Now return `hit` from the `getMonsterAttackValue` function. The return value of this function is used in the `attack` function.
-
-Here is an example of a function that returns a value:
-
-```js
-function plusThree(num) {
- let numPlusThree = num + 3;
- return numPlusThree;
-}
-
-const answer = plusThree(5); // 8
-```
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- getMonsterAttackValue.toString().replace(/\s/g, '').includes('returnhit')
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-124.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-124.md
deleted file mode 100644
index 8f9d1b0f76..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-124.md
+++ /dev/null
@@ -1,614 +0,0 @@
----
-id: 5dbbb5076ef5fe3a704f849d
-title: Part 124
-challengeType: 0
-dashedName: part-124
----
-
-# --description--
-
-If you play the game in its current state you might notice a bug. If your `xp` is high enough, the `getMonsterAttackValue` function will sometimes return a negative number, which will actually add to your total health when fighting a monster!
-
-In `getMonsterAttackValue`, change `return hit` to a ternary operator that returns `hit` if `hit` is greater than 0, or returns 0 if it is not.
-
-For example, here's a function that returns 5 if `tickets` is greater than 3, or returns 0 if it is not:
-
-```js
-function applyDiscount(tickets) {
- return tickets > 2 : 5 : 0;
-}
-```
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- getMonsterAttackValue
- .toString()
- .replace(/\s/g, '')
- .includes('returnhit>0?hit:0')
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-125.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-125.md
deleted file mode 100644
index 62d444f251..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-125.md
+++ /dev/null
@@ -1,609 +0,0 @@
----
-id: 5dbac6176ef5fe3a704f8493
-title: Part 125
-challengeType: 0
-dashedName: part-125
----
-
-# --description--
-
-In the `attack` function after the line `health -= getMonsterAttackValue(monsters[fighting].level);`, create an empty if expression. For the condition, put the function call `isMonsterHit()`.
-
-Here is an example of an empty if expression with a function call as the condition:
-
-```js
-if (isTrue()) {
-
-}
-```
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(attack.toString().replace(/\s/g, '').includes('if(isMonsterHit()){}'));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-126.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-126.md
deleted file mode 100644
index b2107ec1f0..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-126.md
+++ /dev/null
@@ -1,620 +0,0 @@
----
-id: 5dbaca566ef5fe3a704f8494
-title: Part 126
-challengeType: 0
-dashedName: part-126
----
-
-# --description--
-
-In the `attack` function, move the line `monsterHealth -= weapons[currentWeapon].power + Math.floor(Math.random() * xp) + 1;` into the `if` block.
-
-Here is an example of code in an `if` block that logs a message to the console:
-
-```js
-if (isTrue()) {
- console.log("It's true!");
-}
-```
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- attack
- .toString()
- .replace(/\s/g, '')
- .match(
- /if\(isMonsterHit\(\)\)\{monsterHealth\-\=weapons\[currentWeapon\]\.power\+Math\.floor\(Math\.random\(\)\*xp\)\+1;?\}/
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-127.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-127.md
deleted file mode 100644
index 85efb551ae..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-127.md
+++ /dev/null
@@ -1,614 +0,0 @@
----
-id: 5dbae0446ef5fe3a704f8495
-title: Part 127
-challengeType: 0
-dashedName: part-127
----
-
-# --description--
-
-Add an `else` expression to the `if` expression. Use the `+=` operator to add the text " You miss." onto the end of `text.innerText`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- attack
- .toString()
- .replace(/\s/g, '')
- .match(
- /if\(isMonsterHit\(\)\)\{monsterHealth\-\=weapons\[currentWeapon\]\.power\+Math\.floor\(Math\.random\(\)\*xp\)\+1;?\}else\{text\.innerText\+\=[\'\"\`]Youmiss.[\'\"\`]\;?\}/
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-128.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-128.md
deleted file mode 100644
index 5ded47315c..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-128.md
+++ /dev/null
@@ -1,630 +0,0 @@
----
-id: 5dbae1f66ef5fe3a704f8496
-title: Part 128
-challengeType: 0
-dashedName: part-128
----
-
-# --description--
-
-Now create the `isMonsterHit` function. It will return a boolean to be used in the `if` expression. Return the result of the comparison `Math.random() > .2`.
-
-Here is a function that returns the result of a comparison:
-
-```js
-function flipHeads() {
- return Math.random() > .5;
-}
-```
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- isMonsterHit
- .toString()
- .replace(/\s/g, '')
- .includes('returnMath.random()>.2') ||
- isMonsterHit
- .toString()
- .replace(/\s/g, '')
- .includes('returnMath.random()>0.2')
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-129.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-129.md
deleted file mode 100644
index 9fc1336bd5..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-129.md
+++ /dev/null
@@ -1,628 +0,0 @@
----
-id: 5dbba5716ef5fe3a704f8497
-title: Part 129
-challengeType: 0
-dashedName: part-129
----
-
-# --description--
-
-The player should hit if either `Math.random() > .2` OR if the player's health is less than 20. At the end of the return statement, add the "logical or" operator (`||`) and then check if `health` is less than 20.
-
-Here is an example that returns true if either a number is less than 10 or more than 20: `num < 10 || num > 20`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- isMonsterHit
- .toString()
- .replace(/\s/g, '')
- .includes('returnMath.random()>.2||health<20') ||
- isMonsterHit
- .toString()
- .replace(/\s/g, '')
- .includes('returnMath.random()>0.2||health<20')
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-130.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-130.md
deleted file mode 100644
index 0d3f4e0a31..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-130.md
+++ /dev/null
@@ -1,625 +0,0 @@
----
-id: 5dbba70e6ef5fe3a704f8498
-title: Part 130
-challengeType: 0
-dashedName: part-130
----
-
-# --description--
-
-On every attack, there should be a small chance that the player's weapon breaks. At the end of the `attack` function, add an empty `if` expression with the condition `Math.random() <= .1`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- attack.toString().replace(/\s/g, '').includes('if(Math.random()<=.1){}') ||
- isMonsterHit
- .toString()
- .replace(/\s/g, '')
- .includes('if(Math.random()<=0.1){}')
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-131.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-131.md
deleted file mode 100644
index 041946ae73..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-131.md
+++ /dev/null
@@ -1,646 +0,0 @@
----
-id: 5dbba89e6ef5fe3a704f8499
-title: Part 131
-challengeType: 0
-dashedName: part-131
----
-
-# --description--
-
-Use the `+=` operator to add "Your \[last item in inventory array] breaks." to the end of `text.innerText`. Instead of the bracketed text, it should show the actual item name.
-
-Use `inventory.pop()` to both remove the last element from the array AND return that element. For example:
-
-```js
-let shoppingList = ["milk", "apples", "cereal"];
-console.log("I bought " + shoppingList.pop() + "."); // Logs "I bought cereal."
-// shoppingList now equals ["milk", "apples"]
-```
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- attack
- .toString()
- .replace(/\s/g, '')
- .match(
- /if\(Math\.random\(\)\<\=0?\.1\)\{text\.innerText\+\=\"Your\"\+inventory\.pop\(\)\+\"breaks\.\"\;?\}/
- ) ||
- attack
- .toString()
- .replace(/\s/g, '')
- .match(
- /if\(Math\.random\(\)\<\=0?\.1\)\{text\.innerText\+\=\"Your\"\.concat\(inventory\.pop\(\)\,\"breaks\.\"\)\;?\}/
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-133.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-133.md
deleted file mode 100644
index ea35840058..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-133.md
+++ /dev/null
@@ -1,643 +0,0 @@
----
-id: 5dbbb00e6ef5fe3a704f849b
-title: Part 133
-challengeType: 0
-dashedName: part-133
----
-
-# --description--
-
-We don't want a player's only weapon to break.
-
-Use the "logical and" operator (`&&`) to add a second condition to the `if` expression you just wrote. A player's weapon should only be able to break if `inventory.length` does not equal (`!==`) one.
-
-Here is an example of an `if` expression with the conditions that `firstName` equals "Quincy" AND `lastName` does NOT equal "Larson". With `&&`, both conditions must be true or else the entire statement evaluates to false.
-
-```js
-if (firstName === "Quincy" && lastName !== "Larson") {
- console.log("Cool name but not the creator of freeCodeCamp.org.")
-}
-```
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- attack
- .toString()
- .replace(/\s/g, '')
- .match(
- /if\(Math\.random\(\)\<\=0?\.1\&\&inventory\.length\!\=\=1\)\{text\.innerText\+\=\"Your\"\+inventory\.pop\(\)\+\"breaks\.\"\;?currentWeapon--\;?\}/
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-134.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-134.md
deleted file mode 100644
index d73015dadc..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-134.md
+++ /dev/null
@@ -1,637 +0,0 @@
----
-id: 5dbbb1466ef5fe3a704f849c
-title: Part 134
-challengeType: 0
-dashedName: part-134
----
-
-# --description--
-
-The only thing left to add is a mini-game easter egg (a hidden feature).
-
-Add a new function called `easterEgg` that calls the `update` function and passes in `locations[7]` as an argument.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- easterEgg
- .toString()
- .replace(/\s/g, '')
- .match(/functioneasterEgg\(\)\{(return)?update\(locations\[7\]\)\;?}/)
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-135.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-135.md
deleted file mode 100644
index 6c4fded964..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-135.md
+++ /dev/null
@@ -1,651 +0,0 @@
----
-id: 5dbbf3796ef5fe3a704f849e
-title: Part 135
-challengeType: 0
-dashedName: part-135
----
-
-# --description--
-
-Add a new object to the `locations` array.
-
-Set `name` to "easter egg", `"button text"` to `["2", "8", "Go to town square?"]`, `"button functions"` to `[pickTwo, pickEight, goTown]`, and `text` to "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!"
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert.deepStrictEqual(locations[7], {
- 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!'
-});
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-136.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-136.md
deleted file mode 100644
index efd107afd6..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-136.md
+++ /dev/null
@@ -1,662 +0,0 @@
----
-id: 5dbbf8d86ef5fe3a704f849f
-title: Part 136
-challengeType: 0
-dashedName: part-136
----
-
-# --description--
-
-At the end of the code, add two new functions named `pickTwo` and `pickEight`.
-
-Inside each function call the `pick()` function. Pass either "2" or "8" as arguments to `pick` depending on the function name.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- pickTwo.toString().replace(/\s/g, '').includes('pick(2)') &&
- pickEight.toString().replace(/\s/g, '').includes('pick(8)')
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-138.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-138.md
deleted file mode 100644
index 3f07a2a595..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-138.md
+++ /dev/null
@@ -1,675 +0,0 @@
----
-id: 5dbc2c506ef5fe3a704f84a1
-title: Part 138
-challengeType: 0
-dashedName: part-138
----
-
-# --description--
-
-Inside `pick`, use `let` to initialize a variable named "numbers" and set it to an empty array.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- pick
- .toString()
- .replace(/\s/g, '')
- .match(/functionpick\(guess\)\{varnumbers\=\[\]\;?\}/)
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-139.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-139.md
deleted file mode 100644
index 67782d1950..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-139.md
+++ /dev/null
@@ -1,692 +0,0 @@
----
-id: 5dbc2d056ef5fe3a704f84a2
-title: Part 139
-challengeType: 0
-dashedName: part-139
----
-
-# --description--
-
-Inside `pick`, create a `while` loop to run the same code multiple times. The code inside the `while` loop should keep repeating while `numbers.length` is less than 10 and stop once that condition is no longer true.
-
-Here is an example of a while loop that repeats code inside the loop while `i` is less than five.
-
-```js
-let ourArray = [];
-let i = 0;
-while(i < 5) {
- ourArray.push(i);
- i++;
-}
-// ourArray now equals [0,1,2,3,4]
-```
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- pick
- .toString()
- .replace(/\s/g, '')
- .includes(
- 'while(numbers.length<10){if(_LPC++%2000===0&&Date.now()-_LP>1500){'
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-140.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-140.md
deleted file mode 100644
index 85f93bb2c7..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-140.md
+++ /dev/null
@@ -1,681 +0,0 @@
----
-id: 5dbc2f2d6ef5fe3a704f84a3
-title: Part 140
-challengeType: 0
-dashedName: part-140
----
-
-# --description--
-
-Inside the `while` loop, push a random number between 0 and 10 onto the end of the `numbers` array. Get the random number with `Math.floor(Math.random() * 11)`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- pick
- .toString()
- .replace(/\s/g, '')
- .includes('numbers.push(Math.floor(Math.random()*11));}')
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-141.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-141.md
deleted file mode 100644
index ad875cd5dc..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-141.md
+++ /dev/null
@@ -1,679 +0,0 @@
----
-id: 5dbc33956ef5fe3a704f84a4
-title: Part 141
-challengeType: 0
-dashedName: part-141
----
-
-# --description--
-
-After the `while` loop, set `text.innerText` to equal "You picked \[guess]. Here are the random numbers:". Replace \[guess] with the actual guess.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-pickTwo(),
- assert(text.innerText === 'You picked 2. Here are the random numbers:');
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-142.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-142.md
deleted file mode 100644
index a788245bf3..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-142.md
+++ /dev/null
@@ -1,693 +0,0 @@
----
-id: 5dbc35326ef5fe3a704f84a5
-title: Part 142
-challengeType: 0
-dashedName: part-142
----
-
-# --description--
-
-Before the final end quote in the string you just added, insert the new line escape sequence (`\n`). This will cause the next part you add to `text.innerText` to appear on a new line.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- pick
- .toString()
- .replace(/\s/g, '')
- .includes(
- 'text.innerText="Youpicked"+guess+".Herearetherandomnumbers:\\n";'
- ) ||
- pick
- .toString()
- .replace(/\s/g, '')
- .includes(
- 'text.innerText="Youpicked".concat(guess,".Herearetherandomnumbers:\\n");'
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-143.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-143.md
deleted file mode 100644
index ddcf064846..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-143.md
+++ /dev/null
@@ -1,692 +0,0 @@
----
-id: 5dbfced07736e5ee7d235544
-title: Part 143
-challengeType: 0
-dashedName: part-143
----
-
-# --description--
-
-A `for` loop runs "for" a specific number of times.
-
-We will go over how for loops work in the next several steps. In the meantime, just copy the for loop below and paste it at the end of the `pick` function:
-
-```js
-for (let x = 1; x < 5; x++) {
-
-}
-```
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(pick.toString().replace(/\s/g, '').includes('for(varx=1;x<5;x++){'));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-144.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-144.md
deleted file mode 100644
index 876c77aa71..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-144.md
+++ /dev/null
@@ -1,692 +0,0 @@
----
-id: 5dbfd4837736e5ee7d235545
-title: Part 144
-challengeType: 0
-dashedName: part-144
----
-
-# --description--
-
-For loops are declared with three optional expressions separated by semicolons: `for ([initialization]; [condition]; [final-expression])`.
-
-The initialization statement is executed only one time before the loop starts and is often used to define and set up the loop variable. Think of it like declaring a variable to use as a counter in your `for` loop.
-
-Many `for` loops use `i` as an initializer and start from 0, so change `let x = 1;` to `let i = 0;`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(pick.toString().replace(/\s/g, '').includes('for(vari=0;x<5;x++){'));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-145.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-145.md
deleted file mode 100644
index 2614aec51b..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-145.md
+++ /dev/null
@@ -1,690 +0,0 @@
----
-id: 5dbfdb737736e5ee7d235546
-title: Part 145
-challengeType: 0
-dashedName: part-145
----
-
-# --description--
-
-The second statement in a `for` loop, the condition statement, is evaluated at the beginning of every loop iteration. The loop will continue as long as it evaluates to true.
-
-We want the loop to run 10 times, so change `x < 5` to `i < 10`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(pick.toString().replace(/\s/g, '').includes('for(vari=0;i<10;x++){'));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-146.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-146.md
deleted file mode 100644
index e6593263c0..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-146.md
+++ /dev/null
@@ -1,690 +0,0 @@
----
-id: 5dbfdc377736e5ee7d235547
-title: Part 146
-challengeType: 0
-dashedName: part-146
----
-
-# --description--
-
-The last statement in a `for` loop is the final-expression, and is executed at the end of each loop iteration.
-
-Since we changed the initializer from `x` to `i`, change `x++` to `i++`. This will iterate the initializer `i` by 1 after each loop.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(pick.toString().replace(/\s/g, '').includes('for(vari=0;i<10;i++){'));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-147.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-147.md
deleted file mode 100644
index 4ba199d139..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-147.md
+++ /dev/null
@@ -1,693 +0,0 @@
----
-id: 5dbfe2f37736e5ee7d235548
-title: Part 147
-challengeType: 0
-dashedName: part-147
----
-
-# --description--
-
-Inside the for loop, use the `+=` operator to add to the end of `text.innerText`. Add the the number at index `i` in the `numbers` array with `numbers[i]`. Then add a new line. So the entire line inside the for loop should look like: `text.innerText += numbers[i] + "\n";`
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- pick
- .toString()
- .replace(/\s/g, '')
- .includes('text.innerText+=numbers[i]+"\\n";}}')
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-148.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-148.md
deleted file mode 100644
index fe8ebc1c01..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-148.md
+++ /dev/null
@@ -1,699 +0,0 @@
----
-id: 5dbfeffe7736e5ee7d235549
-title: Part 148
-challengeType: 0
-dashedName: part-148
----
-
-# --description--
-
-The `indexOf()` array method returns the first index at which a given element can be found in the array, or -1 if it is not present.
-
-After the for loop, add an `if` expression to check if the guessed number is in the `numbers` array. The condition of the `if` expression should check if `numbers.indexOf(guess) !== -1`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- pick
- .toString()
- .replace(/\s/g, '')
- .includes('if(numbers.indexOf(guess)!==-1){}')
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-149.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-149.md
deleted file mode 100644
index 753caba8e7..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-149.md
+++ /dev/null
@@ -1,705 +0,0 @@
----
-id: 5dbff18d7736e5ee7d23554a
-title: Part 149
-challengeType: 0
-dashedName: part-149
----
-
-# --description--
-
-Inside the `if` expression, add the following string to the end of `text.innerText`: "Right! You win 20 gold!" Also, add 20 to the value of `gold` and update `goldText.innerText`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- pick
- .toString()
- .replace(/\s/g, '')
- .includes('text.innerText+="Right!Youwin20gold!";') &&
- pick.toString().replace(/\s/g, '').includes('gold+=20;') &&
- pick.toString().replace(/\s/g, '').includes('goldText.innerText=gold;')
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-151.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-151.md
deleted file mode 100644
index 20095d9bcd..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-151.md
+++ /dev/null
@@ -1,718 +0,0 @@
----
-id: 5dbffd907736e5ee7d23554c
-title: Part 151
-challengeType: 0
-dashedName: part-151
----
-
-# --description--
-
-At the end of the `else` statement, check if `health` is less than or equal to zero. If so, call the `lose()` function.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- pick
- .toString()
- .replace(/\s/g, '')
- .includes(
- 'else{text.innerText+="Wrong!Youlose10health!";health-=10;healthText.innerText=health;if(health<=0){lose();}}'
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-152.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-152.md
deleted file mode 100644
index 871a954431..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript-rpg-game/part-152.md
+++ /dev/null
@@ -1,724 +0,0 @@
----
-id: 5dbffe887736e5ee7d23554d
-title: Part 152
-challengeType: 0
-dashedName: part-152
----
-
-# --description--
-
-Inside the `locations` array, on the `kill monster` object, "button functions" is currently set to `[goTown, goTown, goTown]`. Change the third `goTown` to `easterEgg`. This is how a player will access the hidden feature of the game.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert.deepStrictEqual(locations[4], {
- 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.'
-});
-```
-
-# --seed--
-
-## --before-user-code--
-
-```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.
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.
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-001.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-001.md
deleted file mode 100644
index a07d71fd5f..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-001.md
+++ /dev/null
@@ -1,76 +0,0 @@
----
-id: 5d79253297c0ebb149ea9fed
-title: Part 1
-challengeType: 0
-dashedName: part-1
----
-
-# --description--
-
-In functional programming, we prefer immutable values over mutable values.
-
-Mutable values (declared with `var` or `let`) can lead to unexpected behaviors and bugs. Values declared with `const` cannot be reassigned, which makes using them easier because you don't have to keep track of their values.
-
-Start by creating an empty `infixToFunction` object using `const`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(code.replace(/\s/g, '').includes('constinfixToFunction={}'));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-002.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-002.md
deleted file mode 100644
index d606fa81f6..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-002.md
+++ /dev/null
@@ -1,78 +0,0 @@
----
-id: 5d7925323be8848dbc58a07a
-title: Part 2
-challengeType: 0
-dashedName: part-2
----
-
-# --description--
-
-Above `infixToFunction`, define an empty function `add` using the `function` keyword. It should accept two parameters, `x` and `y`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(code.replace(/\s/g, '').includes('functionadd(x,y){}'));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-013.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-013.md
deleted file mode 100644
index c4d07bd668..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-013.md
+++ /dev/null
@@ -1,96 +0,0 @@
----
-id: 5d792533ed00e75d129e1b18
-title: Part 13
-challengeType: 0
-dashedName: part-13
----
-
-# --description--
-
-`replace` is a higher order function because it can take a function as argument (higher order functions can also return functions).
-
-Pass the `+` function from `infixToFunction` to the `replace` method as the second argument.
-
-This is how you would pass the `-` function:
-
-```js
-str.replace(regex, infixToFunction["-"])
-```
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(infixEval('ab', /(a)b/) === 'aba');
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-015.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-015.md
deleted file mode 100644
index 822205dcc1..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-015.md
+++ /dev/null
@@ -1,100 +0,0 @@
----
-id: 5d79253358e8f646cbeb2bb0
-title: Part 15
-challengeType: 0
-dashedName: part-15
----
-
-# --description--
-
-Change the `"+"` in the call to `infixToFunction` to `fn`.
-
-`fn` is the operator that the user inputs (`+`, `-`, `*` or `/`) - we use `infixToFunction` to get the function that corresponds to it.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- code
- .replace(/\s/g, '')
- .includes('str.replace(regex,(match,arg1,fn,arg2)=>infixToFunction[fn])')
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-016.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-016.md
deleted file mode 100644
index fafef384b9..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-016.md
+++ /dev/null
@@ -1,102 +0,0 @@
----
-id: 5d792533bb38fab70b27f527
-title: Part 16
-challengeType: 0
-dashedName: part-16
----
-
-# --description--
-
-`arg1` and `arg2` are the numbers input by the user in a string such as "1+3".
-
-Pass `parseFloat(arg1)` and `parseFloat(arg2)` as the arguments to `infixToFunction[fn]` (remember `infixToFunction[fn]` is a function).
-
-# --hints--
-
-See description above for instructions.
-
-```js
-const regex = /([0-9.]+)([+-\/*])([0-9.]+)/;
-assert(
- infixEval('23+35', regex) === '58' &&
- infixEval('100-20', regex) === '80' &&
- infixEval('10*10', regex) === '100' &&
- infixEval('120/6', regex) === '20'
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-017.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-017.md
deleted file mode 100644
index 239bec2a6c..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-017.md
+++ /dev/null
@@ -1,98 +0,0 @@
----
-id: 5d79253386060ed9eb04a070
-title: Part 17
-challengeType: 0
-dashedName: part-17
----
-
-# --description--
-
-The `match` parameter is currently unused, which can lead to unused variable warnings in some linters.
-
-To fix this, prefix or replace it with an underscore (`_`) - both ways signal to the reader and linter that you're aware you don't need this.
-
-Note that a single underscore can only be used once in a function and may conflict with some libraries (Lodash, Underscore.js).
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(code.replace(/\s/g, '').includes('str.replace(regex,(_'));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-018.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-018.md
deleted file mode 100644
index a741e0099b..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-018.md
+++ /dev/null
@@ -1,101 +0,0 @@
----
-id: 5d792533717672657b81aa69
-title: Part 18
-challengeType: 0
-dashedName: part-18
----
-
-# --description--
-
-When defining an arrow function with a single argument, the parentheses can be omitted:
-
-```js
-const greeting = name => `Hello !`;
-```
-
-Define a function `highPrecedence` which takes a single argument `str` and returns it.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(highPrecedence('a') === 'a');
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-030.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-030.md
deleted file mode 100644
index 6c0b270973..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-030.md
+++ /dev/null
@@ -1,136 +0,0 @@
----
-id: 5d7925342415527083bd6667
-title: Part 30
-challengeType: 0
-dashedName: part-30
----
-
-# --description--
-
-The `split` method returns an array of strings from a larger string by using its argument to determine where to make each split:
-
-```js
-"a b c".split(" "); // ["a", "b", "c"];
-```
-
-Add a function `toNumberList` (inside `applyFn`) which takes an argument `args` and splits it by commas. Return `toNumberList`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(JSON.stringify(applyFn('')('foo,baz,bar')) === '["foo","baz","bar"]');
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-031.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-031.md
deleted file mode 100644
index 5496e05313..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-031.md
+++ /dev/null
@@ -1,140 +0,0 @@
----
-id: 5d792534c3d26890ac1484d4
-title: Part 31
-challengeType: 0
-dashedName: part-31
----
-
-# --description--
-
-The `map` method takes a function and for each element of an array, it passes the element to the function and replace the element with the return value:
-
-```js
-[1, 2, 3].map(x => x + 1); // [2, 3, 4]
-```
-
-In `toNumberList`, chain the `map` method to `args.split(",")` and pass it `parseFloat` to parse each element of the array into a number.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- code
- .replace(/\s/g, '')
- .includes('consttoNumberList=args=>args.split(",").map(parseFloat)')
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-032.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-032.md
deleted file mode 100644
index 0ebf9a35f9..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-032.md
+++ /dev/null
@@ -1,137 +0,0 @@
----
-id: 5d792534b92f3d1cd4410ce3
-title: Part 32
-challengeType: 0
-dashedName: part-32
----
-
-# --description--
-
-Define a new function `applyFunction` (inside `applyFn`). It should take two arguments: `fn` and `args`, and should return `spreadsheetFunctions`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- code
- .replace(/\s/g, '')
- .includes(
- 'consttoNumberList=args=>args.split(",").map(parseFloat);constapplyFunction=(fn,args)=>spreadsheetFunctions'
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-033.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-033.md
deleted file mode 100644
index cf487c21e0..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-033.md
+++ /dev/null
@@ -1,138 +0,0 @@
----
-id: 5d7925341193948dfe6d76b4
-title: Part 33
-challengeType: 0
-dashedName: part-33
----
-
-# --description--
-
-Now, instead of returning `spreadsheetFunctions`, use bracket notation and `fn.toLowerCase()` to get a specific function from `spreadsheetFunctions`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- code
- .replace(/\s/g, '')
- .includes(
- 'consttoNumberList=args=>args.split(",").map(parseFloat);constapplyFunction=(fn,args)=>spreadsheetFunctions[fn.toLowerCase()]'
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-090.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-090.md
deleted file mode 100644
index 6a62000c17..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-090.md
+++ /dev/null
@@ -1,250 +0,0 @@
----
-id: 5d7925371398513549bb6395
-title: Part 90
-challengeType: 0
-dashedName: part-90
----
-
-# --description--
-
-In the global scope, define a function called `update` which takes `event` as argument. It should define a variable, `element`, setting it to `event.target`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- /constupdate=\(?event\)?=>\{?constelement=event\.target;?\}?/.test(
- code.replace(/\s/g, '')
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-091.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-091.md
deleted file mode 100644
index faf192a0ff..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-091.md
+++ /dev/null
@@ -1,255 +0,0 @@
----
-id: 5d792537ea3eaf302bf2d359
-title: Part 91
-challengeType: 0
-dashedName: part-91
----
-
-# --description--
-
-Now set `value` to `element.value.replace(/\s/g, "")`. This removes all whitespace from `element` so that we can ignore it.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- /constupdate=\(?event\)?=>\{constelement=event\.target;?constvalue=element\.value\.replace\(\/\\s\/g,["']{2}\);?\}/.test(
- code.replace(/\s/g, '')
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-092.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-092.md
deleted file mode 100644
index 4ec531ba10..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-092.md
+++ /dev/null
@@ -1,259 +0,0 @@
----
-id: 5d792537533b1c7843bfd029
-title: Part 92
-challengeType: 0
-dashedName: part-92
----
-
-# --description--
-
-The `includes` method works on a string and checks if the argument is its substring.
-
-Add an empty if statement to `update` which executes if `element.id` is **not** a substring of `value`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- /constupdate=\(?event\)?=>\{constelement=event\.target;?constvalue=element\.value\.replace\(\/\\s\/g,["']{2}\);?if\(!\(?value\.includes\(element\.id\)\)?\)\{\}\}/.test(
- code.replace(/\s/g, '')
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-093.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-093.md
deleted file mode 100644
index fb6bff3d44..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-093.md
+++ /dev/null
@@ -1,258 +0,0 @@
----
-id: 5d792537dc0fe84345d4f19e
-title: Part 93
-challengeType: 0
-dashedName: part-93
----
-
-# --description--
-
-Add another condition to the if statement so that it only executes if the first character of `value` is `=`. Do this by adding `&& value[0] === "="` to the if statement.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- /constupdate=\(?event\)?=>\{constelement=event\.target;?constvalue=element\.value\.replace\(\/\\s\/g,["']{2}\);?if\(!\(?value\.includes\(element\.id\)\)?&&value\[0\]===["']=["']\)\{\}\}/.test(
- code.replace(/\s/g, '')
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-094.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-094.md
deleted file mode 100644
index 7a28fe467f..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-094.md
+++ /dev/null
@@ -1,258 +0,0 @@
----
-id: 5d792537b6cadae0f4b0cda1
-title: Part 94
-challengeType: 0
-dashedName: part-94
----
-
-# --description--
-
-The `slice` method takes two arguments. It extracts characters from the string from the index specified by the first argument up to (but not including) the second argument. The index starts at 0.
-
-Use the `slice` method to log the first two letters of `value` to the console.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(code.replace(/\s/g, '').includes('console.log(value.slice(0,2))'));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-095.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-095.md
deleted file mode 100644
index c40d4d980a..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-095.md
+++ /dev/null
@@ -1,260 +0,0 @@
----
-id: 5d79253770083fb730c93a93
-title: Part 95
-challengeType: 0
-dashedName: part-95
----
-
-# --description--
-
-You don't have to specify the second argument in `slice`. If you don't, then `slice` will extract from the first argument to the end of the string.
-
-Change the call to `slice` to log all characters except the first instead.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(code.replace(/\s/g, '').includes('console.log(value.slice(1))'));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-096.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-096.md
deleted file mode 100644
index bb8ebca7b9..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-096.md
+++ /dev/null
@@ -1,264 +0,0 @@
----
-id: 5d792537fef76b226b63b93b
-title: Part 96
-challengeType: 0
-dashedName: part-96
----
-
-# --description--
-
-Now change the if statement to set `element.value` to the result of passing `value.slice(1)` to `evalFormula`. There is no need to use `const` because we're modifying `element.value`, not declaring it.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- /constupdate=\(?event\)?=>\{constelement=event\.target;?constvalue=element\.value\.replace\(\/\\s\/g,["']{2}\);?if\(!\(?value\.includes\(element\.id\)\)?&&value\[0\]===["']=["']\)\{element\.value=evalFormula\(value\.slice\(1\)\);?\}\}/.test(
- code.replace(/\s/g, '')
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-097.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-097.md
deleted file mode 100644
index d4603ffabc..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-097.md
+++ /dev/null
@@ -1,271 +0,0 @@
----
-id: 5d79253760fca25ccbbd8990
-title: Part 97
-challengeType: 0
-dashedName: part-97
----
-
-# --description--
-
-The array destructuring syntax can be used to extract values from arrays:
-
-```js
-const [x, y] = [1, 2]; // in variables
-const fn = ([x, y]) => x + y // in functions
-```
-
-Use this syntax to define a function `random` in `spreadsheetFunctions` which takes the array `[x, y]` and returns `x`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- /["']?random["']?:\(\[x,y\]\)=>x/.test(code.replace(/\s/g, '')) &&
- spreadsheetFunctions['random']([1, 2]) === 1
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-098.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-098.md
deleted file mode 100644
index f7d670d94d..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-098.md
+++ /dev/null
@@ -1,265 +0,0 @@
----
-id: 5d7925374321824cba309875
-title: Part 98
-challengeType: 0
-dashedName: part-98
----
-
-# --description--
-
-Change the `random` function so that it returns `Math.floor(Math.random() * y + x)`. It now returns a random number within a range.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- /["']?random["']?:\(\[x,y\]\)=>Math\.floor\(Math\.random\(\)\*y\+x\)/.test(
- code.replace(/\s/g, '')
- ) && spreadsheetFunctions['random']([1, 1]) === 1
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-099.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-099.md
deleted file mode 100644
index 261e0347ad..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-099.md
+++ /dev/null
@@ -1,274 +0,0 @@
----
-id: 5d7925381e8565a5c50ba7f1
-title: Part 99
-challengeType: 0
-dashedName: part-99
----
-
-# --description--
-
-In functional programming, we strive to use a type of function called "pure functions" as much as possible. The first property of pure functions is that they always return the same value for the same arguments.
-
-You can check if this is the case by comparing a call to a function with another call (with the same arguments):
-
-```js
-console.log(f(2) === f(2)); // always true for pure functions
-```
-
-Use this technique to check if the `random` function in `spreadsheetFunctions` is pure by passing in the following array: `[1, 1000]`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- /(spreadsheetFunctions\[["']random["']\]\(1,1000\))===\1/.test(
- code.replace(/\s/g, '')
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-100.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-100.md
deleted file mode 100644
index 2774488c54..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-100.md
+++ /dev/null
@@ -1,269 +0,0 @@
----
-id: 5d7925383f1b77db7f1ff59e
-title: Part 100
-challengeType: 0
-dashedName: part-100
----
-
-# --description--
-
-This is (probably) false, so `random` is certainly impure.
-
-The second property of pure functions is that they perform no side effects, which are state and I/O modifications. If you call a function without assigning the result to a variable, and it does something, then it's an impure function.
-
-Call `window.onload()` in `update`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- /update=\(?event\)?=>\{.*window\.onload\(\).*\}/.test(code.replace(/\s/g, ''))
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-102.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-102.md
deleted file mode 100644
index 056a6ffaf1..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-102.md
+++ /dev/null
@@ -1,268 +0,0 @@
----
-id: 5d7925385b74f69642e1fea5
-title: Part 102
-challengeType: 0
-dashedName: part-102
----
-
-# --description--
-
-Obviously, this was ignored, as all `highPrecedence` does is return a value and this value is ignored.
-
-Now compare `highPrecedence("2*2")` with `highPrecedence("2*2")`, and `console.log` the result.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- /update=\(?event\)?=>\{.*console\.log\((highPrecedence\(['"]2\*2['"]\))===\1\).*\}/.test(
- code.replace(/\s/g, '')
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-103.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-103.md
deleted file mode 100644
index 12dce03c77..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-103.md
+++ /dev/null
@@ -1,263 +0,0 @@
----
-id: 5d7925380ea76d55b2c97d7b
-title: Part 103
-challengeType: 0
-dashedName: part-103
----
-
-# --description--
-
-This is true, so `highPrecedence` might be a pure function. If you inspect it, you can see that it indeed performs no I/O and doesn't use functions like `Math.random()` - so it's pure.
-
-Remove the `console.log` statement.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(!code.includes('console.log'));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-104.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-104.md
deleted file mode 100644
index c6d66c4b42..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-104.md
+++ /dev/null
@@ -1,265 +0,0 @@
----
-id: 5d792538be4fe331f1a6c008
-title: Part 104
-challengeType: 0
-dashedName: part-104
----
-
-# --description--
-
-Unfortunately, impure functions are necessary - if you don't use them, the application won't perform any I/O so won't do anything.
-
-But we have an impure function that could be pure - `evalFormula`. It calls `document.getElementById(c + n).value`, but this value can change, even if the arguments don't.
-
-Change these calls to `""` - the function is now pure but doesn't work.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-const nos = code.replace(/\s/g, '');
-assert(nos.includes('elemValue=n=>c=>""') && nos.includes('match=>""'));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-105.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-105.md
deleted file mode 100644
index 56b0b86f55..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-105.md
+++ /dev/null
@@ -1,262 +0,0 @@
----
-id: 5d792538d169f33142175b95
-title: Part 105
-challengeType: 0
-dashedName: part-105
----
-
-# --description--
-
-To make this function pure, instead of depending on application state implicitly, we can pass it down explicitly as an argument.
-
-Add an argument `cells` to `evalFormula`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(code.replace(/\s/g, '').includes('evalFormula=(x,cells)=>{'));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-114.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-114.md
deleted file mode 100644
index 40978e5993..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-114.md
+++ /dev/null
@@ -1,271 +0,0 @@
----
-id: 5d792538631844ad0bdfb4c3
-title: Part 114
-challengeType: 0
-dashedName: part-114
----
-
-# --description--
-
-`evalFormula` is now pure, as it now has no external dependencies, and as before, performs no side effects.
-
-Now define a new function, `increment` inside `spreadsheetFunctions`, which takes `nums` as argument and uses `map` to increment each value of `nums` by 1.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(JSON.stringify(spreadsheetFunctions.increment([1, 5, 3])) === '[2,6,4]');
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-115.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-115.md
deleted file mode 100644
index e111bcb79b..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-115.md
+++ /dev/null
@@ -1,277 +0,0 @@
----
-id: 5d792538e2a8d20cc580d481
-title: Part 115
-challengeType: 0
-dashedName: part-115
----
-
-# --description--
-
-The `slice` method can also work on arrays.
-
-Add a method `firsttwo` to `spreadsheetFunctions` which takes `arr` as argument and uses `slice` to return the first two elements of `arr`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- JSON.stringify(spreadsheetFunctions.firsttwo([2, 6, 1, 4, 3])) === '[2,6]'
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-116.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-116.md
deleted file mode 100644
index 13e96fed7a..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-116.md
+++ /dev/null
@@ -1,283 +0,0 @@
----
-id: 5d792538f5004390d6678554
-title: Part 116
-challengeType: 0
-dashedName: part-116
----
-
-# --description--
-
-You can also pass in a negative argument to `slice` to specify that index from the end:
-
-```js
-[2, 4, 6, 8, 10].slice(-3); // [6, 8, 10]
-```
-
-Use a negative index to add a function `lasttwo` which returns the last two elements of an array.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- JSON.stringify(spreadsheetFunctions.lasttwo([2, 6, 1, 4, 3])) === '[4,3]'
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-117.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-117.md
deleted file mode 100644
index 5fb13c0ed6..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-117.md
+++ /dev/null
@@ -1,286 +0,0 @@
----
-id: 5d792539dd4fd4c96fd85f7e
-title: Part 117
-challengeType: 0
-dashedName: part-117
----
-
-# --description--
-
-The `%` operator returns the remainder:
-
-```js
-4 % 3; // 1
-5 % 3; // 2
-6 % 3; // 0
-```
-
-Add an `isEven` function (to the global scope) which returns whether the number passed to it is even.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(isEven(20) && !isEven(31));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-118.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-118.md
deleted file mode 100644
index 1d587b4bd9..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-118.md
+++ /dev/null
@@ -1,290 +0,0 @@
----
-id: 5d79253949802f8587c8bbd3
-title: Part 118
-challengeType: 0
-dashedName: part-118
----
-
-# --description--
-
-The `filter` method keeps only the elements of an array that satisfy the function passed to it:
-
-```js
-[1, 10, 8, 3, 4, 5].filter(x > 3); // [10, 8, 4, 5]
-```
-
-Use `filter` to add a function called `even` to `spreadsheetFunctions`, which returns all the even elements of an array, `nums`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- JSON.stringify(spreadsheetFunctions.even([2, 3, 5, 6, 9, 4])) === '[2,6,4]' &&
- code.includes('filter')
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-119.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-119.md
deleted file mode 100644
index e14a03d3f2..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-119.md
+++ /dev/null
@@ -1,295 +0,0 @@
----
-id: 5d7925395888767e9304c082
-title: Part 119
-challengeType: 0
-dashedName: part-119
----
-
-# --description--
-
-The `reduce` method takes a function with an accumulator and the current value. The accumulator is initially set to the value at index 0.
-
-The `reduce` method then goes through each element of the array after that, passing in the element as the current value and the result of the last call as the accumulator.
-
-For example, here's how to multiply all the value in an array:
-
-```js
-[2, 3, 4].reduce((a, x) => a * x); // 24
-```
-
-Using `reduce`, add a function `sum` to `spreadsheetFunctions`, which sums all values in the array passed to it.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- spreadsheetFunctions.sum([10, 5, 1, 3]) === 19 && code.includes('reduce')
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-120.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-120.md
deleted file mode 100644
index 404b2270b5..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-120.md
+++ /dev/null
@@ -1,289 +0,0 @@
----
-id: 5d7925393b30099e37a34668
-title: Part 120
-challengeType: 0
-dashedName: part-120
----
-
-# --description--
-
-The `includes` method checks if an element is in an array.
-
-Add a `has2` function to `spreadsheetFunctions` which checks if the inputted array has the number 2 in it.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- spreadsheetFunctions.has2([2, 3, 5]) && !spreadsheetFunctions.has2([1, 3, 10])
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-121.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-121.md
deleted file mode 100644
index f6911f04f2..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-121.md
+++ /dev/null
@@ -1,299 +0,0 @@
----
-id: 5d7925398157757b23730fdd
-title: Part 121
-challengeType: 0
-dashedName: part-121
----
-
-# --description--
-
-The `reduce` method can take a second argument (in addition to the function), specifying the initial accumulator value. In this case, the current value starts from index 0 rather than index 1:
-
-```js
-[1, [1, 2, 3], [3, 4, 5]].reduce((a, x) => a.concat(x), []); // [1, 1, 2, 3, 3, 4, 5]
-// without the second argument, it first tries 1.concat([1, 2, 3]), but 1 is not an array
-// now it first tries [].concat(1) which works
-```
-
-Add a function `nodups` to `spreadsheetFunctions`, with the value `arr => arr.reduce((a, x) => a.includes(x), [])`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- /nodups['"]?:arr=>arr\.reduce\(\(a,x\)=>a\.includes\(x\),\[\]\)/.test(
- code.replace(/\s/g, '')
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-129.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-129.md
deleted file mode 100644
index 6e638ef7db..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-129.md
+++ /dev/null
@@ -1,316 +0,0 @@
----
-id: 5d7925399afb905c34730a75
-title: Part 129
-challengeType: 0
-dashedName: part-129
----
-
-# --description--
-
-But our function takes an array of numbers, not strings. Luckily, you can pass a function `fn` as argument to sort:
-
-```js
-[2, 9, 10, 15].sort((a, b) => b - a); // [10, 9, 5, 2]
-```
-
-If `b - a` is less than 0, then `a` will be placed before `b`. As a result, this sorts the array in descending order.
-
-Use `sort` to sort `nums` in ascending order.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- /constmedian=nums=>\{constsorted=nums\.sort\(\((.+),(.+)\)=>\1-\2\)/.test(
- code.replace(/\s/g, '')
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-130.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-130.md
deleted file mode 100644
index 7c7978b4ff..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-130.md
+++ /dev/null
@@ -1,310 +0,0 @@
----
-id: 5d792539728d1aa7788e2c9b
-title: Part 130
-challengeType: 0
-dashedName: part-130
----
-
-# --description--
-
-Unfortunately, `sort` not only returns a new array, but also modifies the existing one. So our function also modifies the array passed to it - it is impure.
-
-You can fix this by adding `.slice()` between `nums` and `sort` - this creates a new array, that is equivalent to `nums`, but is immediately discarded, so it doesn't matter if it changes.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- /constmedian=nums=>\{constsorted=nums\.slice\(\)\.sort\(\((.+),(.+)\)=>\1-\2\)/.test(
- code.replace(/\s/g, '')
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-135.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-135.md
deleted file mode 100644
index 6986d1e317..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-135.md
+++ /dev/null
@@ -1,323 +0,0 @@
----
-id: 5d792539e1446045d0df6d28
-title: Part 135
-challengeType: 0
-dashedName: part-135
----
-
-# --description--
-
-The `some` method checks if any element of the array satisfies the provided testing function.
-
-Add `someeven` to `spreadsheetFunctions`, which checks if any of the items passed in are even.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- spreadsheetFunctions.someeven([1, 5, 4, 3]) &&
- !spreadsheetFunctions.someeven([3, 5, 9]) &&
- code.includes('.some')
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-136.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-136.md
deleted file mode 100644
index 77fd516850..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-136.md
+++ /dev/null
@@ -1,325 +0,0 @@
----
-id: 5d79253a2febbb77098730b9
-title: Part 136
-challengeType: 0
-dashedName: part-136
----
-
-# --description--
-
-The `every` method checks if all elements of an array satisfy the provided testing function.
-
-Use it to add an `everyeven` function to `spreadsheetFunctions` which checks if all values passed in are even`spreadsheetFunctions` which checks if all values passed in are even.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- spreadsheetFunctions.everyeven([2, 6, 4, 0, 20]) &&
- !spreadsheetFunctions.everyeven([10, 0, 9, 2]) &&
- code.includes('.every')
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-137.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-137.md
deleted file mode 100644
index 0ca5e5edcb..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-137.md
+++ /dev/null
@@ -1,326 +0,0 @@
----
-id: 5d79253a98bd9fdf7ce68d0a
-title: Part 137
-challengeType: 0
-dashedName: part-137
----
-
-# --description--
-
-We've used recursion in `range`, but recursion can have performance issues in JavaScript. If performance is an issue, you should try to use a higher order function like `reduce`, and if you can't do that, you'll probably have to use a for/while loop.
-
-While we don't expect the user to enter particularly large numbers so that performance is an issue, we're going to refactor `range` as an exercise.
-
-Replace the body of `range` with `start`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- /constrange=\(start,end\)=>start(;|const)/.test(code.replace(/\s/g, ''))
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-139.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-139.md
deleted file mode 100644
index 6421781e30..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-139.md
+++ /dev/null
@@ -1,325 +0,0 @@
----
-id: 5d79253a8b29d78984369e4b
-title: Part 139
-challengeType: 0
-dashedName: part-139
----
-
-# --description--
-
-The `fill` method takes an argument and replaces all elements of the array with that argument.
-
-Use it on the array in `range` to replace everything with `start`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- code
- .replace(/\s/g, '')
- .includes('constrange=(start,end)=>Array(end-start+1).fill(start)')
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-140.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-140.md
deleted file mode 100644
index 1ef0f5e749..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/functional-programming-spreadsheet/part-140.md
+++ /dev/null
@@ -1,328 +0,0 @@
----
-id: 5d79253ad297a31cbe073718
-title: Part 140
-challengeType: 0
-dashedName: part-140
----
-
-# --description--
-
-The function in the `map` method can actually take a second argument: the index of the element.
-
-This is why you need an arrow function in `charRange` - if you don't use one, then the index will be passed to `String.fromCharCode` as the second argument, leading to unexpected results. However, it is safe for functions like `parseFloat` which take only one argument (but not for `parseInt`).
-
-Chain `.map((x, i) => x + i)` to `.fill(start)` to add its index to every element in the array in `range`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(
- code
- .replace(/\s/g, '')
- .includes(
- 'constrange=(start,end)=>Array(end-start+1).fill(start).map((x,i)=>x+i)'
- )
-);
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
- Spreadsheet
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/intermediate-javascript-calorie-counter/part-001.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/intermediate-javascript-calorie-counter/part-001.md
deleted file mode 100644
index 11916a0bd1..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/intermediate-javascript-calorie-counter/part-001.md
+++ /dev/null
@@ -1,98 +0,0 @@
----
-id: 5ddb965c65d27e1512d44d9a
-title: Part 1
-challengeType: 0
-dashedName: part-1
----
-
-# --description--
-
-When a browser loads a page, it creates a Document Object Model (DOM) representation of the page which includes all of the HTML elements in a tree structure.
-
-In JavaScript, you can access the DOM by referencing the global `document` object.
-
-To view the DOM, log it to the console with `console.log(document)`.
-
-# --hints--
-
-See description above for instructions.
-
-```js
-assert(code.replace(/\s/g, '').match(/console\.log\(document\)/));
-```
-
-# --seed--
-
-## --before-user-code--
-
-```html
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-## --after-user-code--
-
-```html
-
-
-```
-
-## --seed-contents--
-
-```html
-
-```
-
-# --solutions--
-
-```html
-
-```
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/intermediate-javascript-calorie-counter/part-002.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/intermediate-javascript-calorie-counter/part-002.md
deleted file mode 100644
index 836ff253cb..0000000000
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/intermediate-javascript-calorie-counter/part-002.md
+++ /dev/null
@@ -1,112 +0,0 @@
----
-id: 5ddb965c65d27e1512d44d9b
-title: Part 2
-challengeType: 0
-dashedName: part-2
----
-
-# --description--
-
-In our HTML document, we have a form element with an `id` attribute: `