42 lines
1.7 KiB
Markdown
42 lines
1.7 KiB
Markdown
---
|
|
id: bd7153d8c242eddfaeb5bd13
|
|
title: Build a Roguelike Dungeon Crawler Game
|
|
challengeType: 3
|
|
forumTopicId: 302355
|
|
dashedName: build-a-roguelike-dungeon-crawler-game
|
|
---
|
|
|
|
# --description--
|
|
|
|
**Objective:** Build a [CodePen.io](https://codepen.io) app that is functionally similar to this: <https://codepen.io/freeCodeCamp/full/apLXEJ/>.
|
|
|
|
Fulfill the below [user stories](https://en.wikipedia.org/wiki/User_story). Use whichever libraries or APIs you need. Give it your own personal style.
|
|
|
|
**User Story:** I have health, a level, and a weapon. I can pick up a better weapon. I can pick up health items.
|
|
|
|
**User Story:** All the items and enemies on the map are arranged at random.
|
|
|
|
**User Story:** I can move throughout a map, discovering items.
|
|
|
|
**User Story:** I can move anywhere within the map's boundaries, but I can't move through an enemy until I've beaten it.
|
|
|
|
**User Story:** Much of the map is hidden. When I take a step, all spaces that are within a certain number of spaces from me are revealed.
|
|
|
|
**User Story:** When I beat an enemy, the enemy goes away and I get XP, which eventually increases my level.
|
|
|
|
**User Story:** When I fight an enemy, we take turns damaging each other until one of us loses. I do damage based off of my level and my weapon. The enemy does damage based off of its level. Damage is somewhat random within a range.
|
|
|
|
**User Story:** When I find and beat the boss, I win.
|
|
|
|
**User Story:** The game should be challenging, but theoretically winnable.
|
|
|
|
When you are finished, include a link to your project on CodePen and click the "I've completed this challenge" button.
|
|
|
|
You can get feedback on your project by sharing it on the [freeCodeCamp forum](https://forum.freecodecamp.org/c/project-feedback/409).
|
|
|
|
# --solutions--
|
|
|
|
```js
|
|
// solution required
|
|
```
|