Skip to content

Commit 0040135

Browse files
committed
5. refactoring code - update cliEven
1 parent 001c993 commit 0040135

File tree

5 files changed

+26
-41
lines changed

5 files changed

+26
-41
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ brain-games:
55
node bin/brain-games.js
66

77
publish:
8-
npm publish --dry-run
8+
bra --dry-run
99

1010
lint:
1111
npx eslint .

bin/brain-even.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env node
2-
import Hello from './brain-games.js';
2+
import { welcomeUser } from '../src/cli.js';
33
import evenGame from '../src/cliEven.js';
44

5-
Hello();
5+
welcomeUser();
66
evenGame();

bin/brain-games.js

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,4 @@
11
#!/usr/bin/env node
2-
import { getUserName } from '../src/cli.js';
2+
import { welcomeUser } from '../src/cli.js';
33

4-
const Hello = () => {
5-
console.log('Welcome to the Brain Games!');
6-
getUserName();
7-
};
8-
9-
Hello();
10-
11-
export default Hello;
4+
welcomeUser();

src/cli.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import readlineSync from 'readline-sync';
22

3-
const userName = readlineSync.question('May I have your name? ');
3+
const userName = readlineSync.question('Welcome to the Brain Games!\nMay I have your name? ');
44

5-
const getUserName = () => {
6-
console.log(`Hello , ${userName} !`);
5+
const welcomeUser = () => {
6+
console.log(`Hello , ${userName}!`);
77
};
88

9-
export { getUserName, userName };
9+
export { welcomeUser, userName };

src/cliEven.js

Lines changed: 17 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,41 +3,33 @@ import { userName } from './cli.js';
33

44
const outAnswer = (answer, questionNum) => {
55
const isEvenNum = questionNum % 2 === 0;
6-
let win = 4;
7-
if (answer === 'yes') {
8-
if (isEvenNum) {
9-
console.log('Correct!');
10-
win = 1;
11-
} else {
12-
console.log("'yes' is wrong answer ;(. Correct answer was 'no'.");
13-
console.log(`Let's try again, ${userName}!`);
14-
}
15-
}
16-
if (answer === 'no') {
17-
if (isEvenNum === false) {
18-
console.log('Correct!');
19-
win = 1;
20-
} else {
21-
console.log("'no' is wrong answer ;(. Correct answer was 'yes'.");
22-
console.log(`Let's try again, ${userName}!`);
23-
}
6+
let win = Infinity;
7+
8+
if ((answer === 'yes' && isEvenNum) || (answer === 'no' && isEvenNum === false)) {
9+
console.log('Correct!');
10+
win = 1;
11+
} else {
12+
const correctAnswer = isEvenNum ? 'yes' : 'no';
13+
console.log(
14+
`'${answer}' is wrong answer ;(. Correct answer was '${correctAnswer}'.\n`,
15+
`Let's try again, ${userName}!`,
16+
);
2417
}
18+
2519
return win;
2620
};
2721

2822
const descriptionGame = 'Answer "yes" if the number is even, otherwise answer "no".';
2923

3024
const qestionEven = () => {
31-
let win = 0;
32-
while (win < 3) {
25+
let winCount = 0;
26+
while (winCount < 3) {
3327
const randomNumber = Math.floor(Math.random() * 100);
34-
const question = `Question: ${randomNumber}`;
35-
console.log(question);
28+
console.log(`Question: ${randomNumber}`);
3629
const yourAnswer = readlineSync.question('Your answer: ');
37-
const countWin = outAnswer(yourAnswer, randomNumber);
38-
win += countWin;
30+
winCount += outAnswer(yourAnswer, randomNumber);
3931
}
40-
if (win === 3) {
32+
if (winCount === 3) {
4133
console.log(`Congratulations, ${userName}!`);
4234
}
4335
};

0 commit comments

Comments
 (0)