Code Monkey home page Code Monkey logo

jest-another-rpg's Introduction

Jest Another RPG

Issues Issues

Description

A simple, text-based RPG created as an introduction to Node.js, test-driven development, and object-oriented programming.

Contents

Installation

To use this application, please install:

npm i inquirer

Usage

After installing the required packages, use the command line to navigate to the root of the application and run node app. Follow prompts to enter player name and play the RPG.

Built With

Tests

To run tests on the application, install

npm i jest

and run npm test from the command line.

Questions

If you have any questions about the repo, please open an issue or contact me via email at [email protected]. You can find more of my work on my GitHub, Amir-Hackett.

Credits

Made by [Amir Hackett]

jest-another-rpg's People

Contributors

amir-hackett avatar

Watchers

 avatar

jest-another-rpg's Issues

Create an Enemy Object

Stores methods and properties related to the enemy that our player has to battle.

An Enemy object has the following properties:

  • name
  • weapon
  • health
  • strength
  • agility
  • potion

An Enemy object has the following methods:

  • getDescription()
  • getHealth()
  • getAttackValue()
  • isAlive()
  • reduceHealth()

Write appropriate tests for the Enemy() constructor and methods.

Create a Potion Object

  • Create tests for the Potion object.

  • The Potion object will be used to give the player stat boosts.

  • If no stat is provided, the stat should be randomly selected.

Consolidate the Code

We don't yet know exactly what this step entails, but we do know that we'll need to refactor our code after the tests pass, so we'll create this issue as a placeholder.

Create a Player Object

Will be used to store methods and properties related to the user's character.

  • A Player object has the following methods:

  • getStats()

  • getInventory()

  • getHealth()

  • getAttackValue()

  • isAlive()

  • addPotion()

  • usePotion()

  • reduceHealth()

Write appropriate tests for the Player() constructor and methods.

Create a Game Object

Will be responsible for the game logic. It will be used to keep track of whose turn it is, prompt the user for input, and check to see if the game has been won.

All game logic is encompassed by a Game() constructor function.

A Game object has the following properties:

  • roundNumber

  • isPlayerTurn

  • enemies

  • currentEnemy

  • player

A Game object has the following methods:

  • initializeGame()

  • battle()

  • checkEndOfBattle()

  • startNewBattle()

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.