2.1.0 • Published 8 years ago
restricted-number v2.1.0
restricted-number
A nice little tool to keep your numbers in a certain range. This was primarily designed for game developers with data like HP, MP, etc that should be kept within a range.
Why use this? It saves you from typing this over and over:
if(hp <= 0) { hp=0; die(); }
if(hp > maxHp) hp = maxHpHere's an example usage for a player:
var hp = new RestrictedNumber(0, 100, 100);
if(hp.sub(20).atMin()) die();Or maybe for AI:
var hp = new RestrictedNumber(0, 100, 100);
if(hp.ltePercent(66)) flee();Installation
Install with npm:
npm install --save restricted-numberTesting
From the repo root:
npm install
npm testFunctions
| Function | Description |
|---|---|
| new RestrictedNumber(min, max, current) | construct a RestrictedNumber |
| set(num) | set the datum to num - mostly used internally |
| add(num) | add num to the datum |
| sub(num) | subtract num from the datum |
| addOverMaximum(num) | add num to both the datum and the range |
| subUnderMinimum(num) | subtract num from both the datum and the range |
| toMaximum() | set the datum to the max value |
| toMinimum() | set the datum to the min value |
| atMaximum() | returns true if the datum is at the maximum |
| atMinimum() | returns true if the datum is at the minimum |
| gt(num) | returns true if the datum is greater than num |
| gte(num) | returns true if the datum is greater than or equal to num |
| lt(num) | returns true if the datum is less than num |
| lte(num) | returns true if the datum is less than num |
| setToPercent(perc) | set the datum to be at perc (the range between min and max) |
| addPercent(perc) | add perc of the datum's maximum value to the datum |
| subPercent(perc) | subtract perc of the datum's maximum value from the datum |
| asPercent() | get the value of the datum as a percentage |
| gtPercent(perc) | returns true if datum as a percentage of maximum is greater than perc |
| gtePercent(perc) | returns true if datum as a percentage of maximum is greater than or equal toperc |
| ltPercent(perc) | returns true if datum as a percentage of maximum is less than perc |
| ltePercent(perc) | returns true if datum as a percentage of maximum is less than or equal to perc |