Skip to content

Commit 939c2f6

Browse files
refactoring on verification#3
1 parent e052fcf commit 939c2f6

File tree

2 files changed

+32
-21
lines changed

2 files changed

+32
-21
lines changed

src/games/calc.js

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,28 @@ import getRandomInRange from '../utils.js';
44

55
const questionGame = 'What is the result of the expression?';
66

7+
const calculation = (num1, num2, operator) => {
8+
switch (operator) {
9+
case '+':
10+
return num1 + num2;
11+
case '-':
12+
return num1 - num2;
13+
case '*':
14+
return num1 * num2;
15+
default:
16+
throw new Error(`Invalid operator - ${operator}`);
17+
}
18+
};
19+
720
const generateRound = () => {
821
const number1 = getRandomInRange();
922
const number2 = getRandomInRange();
1023
const operators = ['+', '-', '*'];
1124
const mathOperation = getRandomInRange(0, operators.length - 1);
12-
const oper = operators[mathOperation];
13-
const question = `Question: ${number1} ${oper} ${number2}`;
14-
15-
let answer = 0;
16-
if (oper === '+') {
17-
answer = `${number1 + number2}`;
18-
} else if (oper === '-') {
19-
answer = `${number1 - number2}`;
20-
} else if (oper === '*') {
21-
answer = `${number1 * number2}`;
22-
}
25+
const operator = operators[mathOperation];
26+
const question = `Question: ${number1} ${operator} ${number2}`;
27+
28+
const answer = calculation(number1, number2, operator).toString();
2329

2430
return [question, answer];
2531
};

src/games/gcd.js

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,23 @@ import getRandomInRange from '../utils.js';
44

55
const questionGame = 'Find the greatest common divisor of given numbers.';
66

7+
const gsd = (number1, number2) => {
8+
let a = number1;
9+
let b = number2;
10+
while (b !== 0) {
11+
const temp = b;
12+
b = a % b;
13+
a = temp;
14+
}
15+
16+
return a;
17+
};
18+
719
const generateRound = () => {
8-
let number1 = getRandomInRange();
9-
let number2 = getRandomInRange();
20+
const number1 = getRandomInRange();
21+
const number2 = getRandomInRange();
1022
const question = `Question: ${number1} ${number2}`;
11-
12-
let answer = 0;
13-
while (number2 !== 0) {
14-
const temp = number2;
15-
number2 = number1 % number2;
16-
number1 = temp;
17-
}
18-
answer = number1.toString();
23+
const answer = gsd(number1, number2).toString();
1924

2025
return [question, answer];
2126
};

0 commit comments

Comments
 (0)