Skip to content

Commit 62181c1

Browse files
author
daria-z
committed
remove magic numbers
1 parent 1b0de76 commit 62181c1

File tree

7 files changed

+24
-12
lines changed

7 files changed

+24
-12
lines changed

src/games/games-logic/calculator.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,11 @@ import generateOperator from '../utils/generateOperator.js';
55
export const rule = 'What is the result of the expression?';
66

77
export const logic = () => {
8-
const number1 = generateRandomNumber(1, 10);
9-
const number2 = generateRandomNumber(1, 10);
8+
const minNumber = 1;
9+
const maxNumber = 10;
10+
11+
const number1 = generateRandomNumber(minNumber, maxNumber);
12+
const number2 = generateRandomNumber(minNumber, maxNumber);
1013
const symbol = generateOperator();
1114
const question = `${number1} ${symbol} ${number2}`;
1215
const answer = eval(question);

src/games/games-logic/even.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
export const rule = 'Answer "yes" if the number is even, otherwise answer "no".';
22

33
export const logic = () => {
4-
const questionNumber = Math.floor(Math.random() * 50);
4+
const maxNumber = 50;
5+
6+
const questionNumber = Math.floor(Math.random() * maxNumber);
57
const correctAnswer = questionNumber % 2 === 0 ? 'yes' : 'no';
68

79
return [questionNumber, correctAnswer];

src/games/games-logic/gcd.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@ import generateRandomNumber from '../utils/generateRandomNumber.js';
44
export const rule = 'Find the greatest common divisor of given numbers.';
55

66
export const logic = () => {
7-
const number1 = generateRandomNumber(1, 20);
8-
const number2 = generateRandomNumber(1, 20);
7+
const minNumber = 1;
8+
const maxNumber = 20;
9+
const number1 = generateRandomNumber(minNumber, maxNumber);
10+
const number2 = generateRandomNumber(minNumber, maxNumber);
911

1012
const nod = (a, b) => {
1113
while (a !== b) {

src/games/games-logic/prime.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ import generateRandomNumber from '../utils/generateRandomNumber.js';
33
export const rule = 'Answer \'yes\' if given number is prime. Otherwise answer \'no\'.';
44

55
export const logic = () => {
6-
const number = generateRandomNumber(1, 10);
6+
const maxPrimeNumber = 10;
7+
const number = generateRandomNumber(1, maxPrimeNumber);
78
const isPrime = () => {
89
if (number <= 1) {
910
return 'no';

src/games/games-logic/progression.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@ import generateRandomNumber from '../utils/generateRandomNumber.js';
33
export const rule = 'What number is missing in the progression?';
44

55
export const logic = () => {
6-
const missedPosition = generateRandomNumber(1, 10);
7-
const progressionFirstNumber = generateRandomNumber(1, 30);
8-
const progressionDiff = generateRandomNumber(1, 5);
6+
const progressionLength = 10;
7+
const maxProgressionDiff = 5;
8+
const missedPosition = generateRandomNumber(1, progressionLength);
9+
const progressionFirstNumber = generateRandomNumber();
10+
const progressionDiff = generateRandomNumber(1, maxProgressionDiff);
911
const progression = [progressionFirstNumber];
1012

11-
for (let i = 0; i < 10; i += 1) {
13+
for (let i = 0; i < progressionLength; i += 1) {
1214
const nextNumber = progression[progression.length - 1] + progressionDiff;
1315
progression.push(nextNumber);
1416
}

src/games/utils/gamesWrapper.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
/* eslint-disable consistent-return */
22
import readlineSync from 'readline-sync';
33

4+
const questionsCount = 3;
5+
46
export default (rules, logic) => {
57
console.log('Welcome to the Brain Games!');
68

@@ -10,7 +12,7 @@ export default (rules, logic) => {
1012

1113
console.log(rules);
1214

13-
for (let i = 1; i <= 3; i += 1) {
15+
for (let i = 1; i <= questionsCount; i += 1) {
1416
const [question, correctAnswer] = logic();
1517
console.log(`Question: ${question}`);
1618
const userAnswer = readlineSync.question('Your answer: ');

src/games/utils/generateRandomNumber.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* eslint-disable no-param-reassign */
2-
export default (min, max) => {
2+
export default (min = 1, max = 50) => {
33
min = Math.ceil(min);
44
max = Math.floor(max);
55
return Math.floor(Math.random() * (max - min + 1) + min);

0 commit comments

Comments
 (0)