import BaseModel from './base.model'; const MultiplesModel = Object.create(BaseModel); MultiplesModel.generate = function(n, level) { const multiples = []; const nonmultiples = []; const target = 19//level + 2; const upperLimit = target * 150; let tmp; while (multiples.length < Math.ceil(n * 4)) { tmp = Math.ceil(Math.random() * upperLimit); if (tmp % target === 0) { multiples.push(tmp); } } while (nonmultiples.length < Math.floor(n * 4)) { tmp = Math.ceil(Math.random() * upperLimit); if (tmp % target !== 0) { nonmultiples.push(tmp); } } return this.buildResults(multiples, nonmultiples, n); }; MultiplesModel.getTitle = (level) => { return `Multiples of ${level + 2}`; }; MultiplesModel.getError = (value, level) => { return `Oops! ${value} is not a multiple of ${level + 2}.`; }; export default MultiplesModel;