require("./../rur.js"); _is_integer = function(n) { return typeof n==='number' && (n%1)===0; }; _is_non_negative_integer = function (n) { return typeof n==='number' && (n%1)===0 && n>=0; }; _is_positive_integer = function (n) { return typeof n==='number' && (n%1)===0 && n>=1; }; RUR.is_integer = _is_integer; RUR.is_non_negative_integer = _is_non_negative_integer; RUR.is_positive_integer = _is_positive_integer; /** @function is_valid_position * @memberof RUR * @instance * @summary This function indicates if the position is within the world's boundaries. * * @param {integer} x Position * @param {integer} y Position * * @returns {bool} `true/True` if the position is within the world's boundaries, * `false/False` otherwise. * **/ RUR.is_valid_position = function(x, y) { var world = RUR.get_current_world(); return (_is_positive_integer(x) && _is_positive_integer(y) && x <= world.cols && y <= world.rows); }; /* filterInt taken from https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/parseInt It is a stricter way than parseInt to extract integer values, and supports Infinity as a valid integer. See tests/unit_tests/utils/filterint.tests.js for tests illustrating sample uses. */ RUR.utils.filterInt = function (value) { if(/^(\-|\+)?([0-9]+|Infinity)$/.test(value)){ return Number(value); } return undefined; };