Pokemon Damage Calculator
Description:
It's a Pokemon battle! Your task is to calculate the damage that a particular move would do using the following formula (not the actual one from the game):
damage = 50 * (attack / defense) * effectiveness
Where:
- attack = your attack power
- defense = the opponent's defense
- effectiveness = the effectiveness of the attack based on the matchup (see explanation below)
Effectiveness:
Attacks can be super effective, neutral, or not very effective depending on the matchup. For example, water would be super effective against fire, but not very effective against grass.
- Super effective: 2x damage
- Neutral: 1x damage
- Not very effective: 0.5x damage
To prevent this kata from being tedious, you'll only be dealing with four types: fire
, water
, grass
, and electric
. Here is the effectiveness of each matchup:
fire > grass
fire < water
fire = electric
water < grass
water < electric
grass = electric
For this kata, any type against itself is not very effective. Also, assume that the relationships between different types are symmetric (if A
is super effective against B
, then B
is not very effective against A
).
The function you must implement takes in:
- your type
- the opponent's type
- your attack power
- the opponent's defense
Similar Kata:
Stats:
Created | May 10, 2014 |
Published | May 11, 2014 |
Warriors Trained | 7644 |
Total Skips | 258 |
Total Code Submissions | 30430 |
Total Times Completed | 4208 |
JavaScript Completions | 2145 |
Python Completions | 1662 |
Ruby Completions | 150 |
C Completions | 160 |
Elixir Completions | 41 |
PHP Completions | 129 |
Total Stars | 222 |
% of votes with a positive feedback rating | 91% of 615 |
Total "Very Satisfied" Votes | 521 |
Total "Somewhat Satisfied" Votes | 82 |
Total "Not Satisfied" Votes | 12 |