kinsoRick/frontend-project-44

View on GitHub
src/games/brain-prime.js

Summary

Maintainability
A
1 hr
Test Coverage
import playGame from '../index.js';
import getRandomNumber from '../utils.js';

const isPrimeNumber = (number) => {
  if (number <= 1) return false;

  for (let i = 2; i < number; i += 1) {
    if (number % i === 0) return false;
  }

  return true;
};

/**
 * generates numbers from 0 to 99, determines whether the number will be prime
 * @date 2022-09-04
 * @returns {question: number, answer: ('yes' or 'no')}
 */
const createPrimeTask = () => {
  const number = getRandomNumber(100);
  const answer = isPrimeNumber(number) ? 'yes' : 'no';

  return { question: number, answer };
};

const runPrimeGame = () => {
  playGame(
    'Answer "yes" if given number is prime. Otherwise answer "no".',
    createPrimeTask,
  );
};

export default runPrimeGame;