/modern-js-quiz-morecallan

modern-js-quiz-morecallan created by GitHub Classroom

Primary LanguageJavaScript

Modern JavaScript Developer Quiz

Robot Battledome

Setup

  1. cd to your quizzes directory.

  2. Clone this repository and cd into the directory it creates.

  3. Now run the following commands.

    git checkout -b quiz
    touch index.html
    touch quiz.js
    touch quiz.css

You are now ready to work in the quiz branch.

When your work in complete, push up the branch (git push origin quiz) and submit the pull request on Github.

Instructions

Basic Requirements

  1. Use ES6 language features wherever you can. At a minimum, you should be using let, const, fat arrows, property shorthand, method properties, and string templates.
  2. Have a Gulp task running at all times to validate your JavaScript. We will be validating your project and we should see 0 errors.
  3. You must have a test suite that validates the core logic of the application.
  4. You must use jQuery for interacting with the DOM.

Logical Requirements

You'll be building robots to battle each other.

  1. A base Robot function.
  2. Define three robot type functions (e.g. Drone, Bipedal, ATV).
  3. Define at least 2 specific robot model functions for each type.
  4. Give each robot model a different range of health. For example, one model can have health range of 50-80, and another one will have a range of 60-120. To accomplish this, read about the Math.random() function in JavaScript.
  5. Define at least six different modifications and six different weapons that can be added to a robot.
  6. Each modification should provide some combination of the following benefits - increased protection, increased damage, or evasion capability (ability to avoid some attacks).
  7. Define the range of damage that each weapon can do.

Functional Requirements

  1. When your user interface first loads, provide the user with buttons so that one specific robot model can be chosen as Player 1.
  2. Once the user selects a robot model for Player 1, show a button for each weapon that can be added to the robot.
  3. Once the user selects a weapon for Player 1, show a button for each modification that can be added to the robot.
  4. Once Player 1 has a modification, provide the user with buttons so that one specific robot model can be chosen as Player 2.
  5. Once the user selects a robot model for Player 2, show a button for each weapon that can be added to the robot.
  6. Once the user selects a weapon for Player 2, show a button for each modification that can be added to the robot.
  7. Once the modification for Player 2 is chosen, the battle begins.
  8. Each round of battle should determine the amount of damage each robot will do with its weapon.
  9. That damage should then be adjusted based on the modifications that it has, and what its opponent has.
  10. Rounds continue until one of the robots has 0, or less than 0, health.
  11. When the battle is over display the outcome to the user. For example...
The Viper Drone defeated the Behemoth ATV with its flamethrower.