Skip to content

Commit ad58f3b

Browse files
committed
finished step 6 and fixed few remarks in previous step with random numbers
1 parent bfc6efd commit ad58f3b

File tree

6 files changed

+124
-3
lines changed

6 files changed

+124
-3
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,5 @@
66
## Brain Even
77
![asciicast](https://asciinema.org/a/xnGjhZ5kQXaHREkfxL1gQThiR.svg)](https://asciinema.org/a/xnGjhZ5kQXaHREkfxL1gQThiR)
88

9+
## Brain Calc
10+
[![asciicast](https://asciinema.org/a/P09nsWrqb7BTwLfbE5nrY6JfE.svg)](https://asciinema.org/a/P09nsWrqb7BTwLfbE5nrY6JfE)

bin/brain-calc.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/usr/bin/env node
2+
3+
import startCalcGame from '../src/games/calc.js';
4+
5+
startCalcGame();

demo2.cast

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
{"version": 2, "width": 105, "height": 25, "timestamp": 1757332125, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}}
2+
[0.226043, "o", "\u001b[?2004h\u001b]0;michael@michael-Nitro-ANV15-51: ~/qa-auto-engineer-javascript-project-44\u0007\u001b[01;32mmichael@michael-Nitro-ANV15-51\u001b[00m:\u001b[01;34m~/qa-auto-engineer-javascript-project-44\u001b[00m$ "]
3+
[2.43439, "o", "b"]
4+
[2.755552, "o", "r"]
5+
[2.914417, "o", "a"]
6+
[3.391604, "o", "i"]
7+
[3.684208, "o", "n"]
8+
[4.143805, "o", "-"]
9+
[4.938502, "o", "c"]
10+
[5.138153, "o", "a"]
11+
[5.460498, "o", "l"]
12+
[5.698993, "o", "c"]
13+
[6.458467, "o", "\r\n\u001b[?2004l\r"]
14+
[6.496138, "o", "Welcome to the Brain Games!\r\nWhat is the result of the expression?\r\n"]
15+
[6.496855, "o", "May I have your name? "]
16+
[8.290201, "o", "M"]
17+
[8.600621, "o", "i"]
18+
[8.814313, "o", "c"]
19+
[9.177299, "o", "h"]
20+
[9.328124, "o", "a"]
21+
[9.625211, "o", "e"]
22+
[9.843617, "o", "l"]
23+
[10.54338, "o", "\r\n"]
24+
[10.544709, "o", "Hello, Michael!\r\n"]
25+
[10.544999, "o", "Question: 10 * 21\r\n"]
26+
[10.545208, "o", "Your answer: "]
27+
[13.271282, "o", "2"]
28+
[13.989367, "o", "1"]
29+
[14.180893, "o", "0"]
30+
[15.172505, "o", "\r\n"]
31+
[15.173442, "o", "Correct!\r\nQuestion: 2 + 31\r\n"]
32+
[15.173816, "o", "Your answer: "]
33+
[17.901611, "o", "3"]
34+
[18.07963, "o", "3"]
35+
[18.748345, "o", "\r\n"]
36+
[18.748769, "o", "Correct!\r\n"]
37+
[18.748993, "o", "Question: 41 * 32\r\n"]
38+
[18.749278, "o", "Your answer: "]
39+
[26.872296, "o", "3"]
40+
[27.090147, "o", "5"]
41+
[31.080929, "o", "2"]
42+
[31.960276, "o", "\r\n"]
43+
[31.960894, "o", "'352' is wrong answer ;(. Correct answer was '1312'.\r\n"]
44+
[31.961109, "o", "Let's try again, Michael!\r\n"]
45+
[31.971297, "o", "\u001b[?2004h\u001b]0;michael@michael-Nitro-ANV15-51: ~/qa-auto-engineer-javascript-project-44\u0007\u001b[01;32mmichael@michael-Nitro-ANV15-51\u001b[00m:\u001b[01;34m~/qa-auto-engineer-javascript-project-44\u001b[00m$ "]
46+
[36.192544, "o", "b"]
47+
[36.581646, "o", "r"]
48+
[36.748044, "o", "a"]
49+
[37.158846, "o", "i"]
50+
[37.576642, "o", "n"]
51+
[38.272429, "o", "-"]
52+
[38.496748, "o", "c"]
53+
[38.701022, "o", "a"]
54+
[39.002791, "o", "l"]
55+
[39.35568, "o", "c"]
56+
[40.670724, "o", "\r\n\u001b[?2004l\r"]
57+
[40.707109, "o", "Welcome to the Brain Games!\r\n"]
58+
[40.707158, "o", "What is the result of the expression?\r\n"]
59+
[40.708107, "o", "May I have your name? "]
60+
[43.785325, "o", "S"]
61+
[44.146158, "o", "a"]
62+
[44.368186, "o", "m"]
63+
[45.708862, "o", "\r\n"]
64+
[45.71, "o", "Hello, Sam!\r\n"]
65+
[45.710115, "o", "Question: 48 * 1\r\n"]
66+
[45.710297, "o", "Your answer: "]
67+
[48.419031, "o", "4"]
68+
[48.509142, "o", "8"]
69+
[49.521608, "o", "\r\n"]
70+
[49.522237, "o", "Correct!\r\n"]
71+
[49.522484, "o", "Question: 42 + 26\r\n"]
72+
[49.522632, "o", "Your answer: "]
73+
[53.987993, "o", "6"]
74+
[54.327211, "o", "8"]
75+
[55.245829, "o", "\r\n"]
76+
[55.246407, "o", "Correct!\r\nQuestion: 8 - 41\r\n"]
77+
[55.246646, "o", "Your answer: "]
78+
[60.808222, "o", "-"]
79+
[61.803613, "o", "3"]
80+
[66.095799, "o", "3"]
81+
[66.885972, "o", "\r\n"]
82+
[66.886555, "o", "Correct!\r\n"]
83+
[66.88682, "o", "Congratulations, Sam!\r\n"]
84+
[66.897096, "o", "\u001b[?2004h\u001b]0;michael@michael-Nitro-ANV15-51: ~/qa-auto-engineer-javascript-project-44\u0007\u001b[01;32mmichael@michael-Nitro-ANV15-51\u001b[00m:\u001b[01;34m~/qa-auto-engineer-javascript-project-44\u001b[00m$ "]
85+
[71.275796, "o", "\u001b[?2004l\r\r\nexit\r\n"]

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@
1919
},
2020
"bin": {
2121
"brain-games": "bin/brain-games.js",
22-
"brain-even": "bin/brain-even.js"
22+
"brain-even": "bin/brain-even.js",
23+
"brain-calc": "bin/brain-calc.js"
2324
},
2425
"dependencies": {
2526
"readline-sync": "^1.4.10"

src/games/calc.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import runEngine from '../index.js'
2+
import getRandomNumber from '../utils.js'
3+
4+
const rule = 'What is the result of the expression?'
5+
6+
const getCalculation = () => {
7+
const a = getRandomNumber(1, 50)
8+
const b = getRandomNumber(1, 50)
9+
const operators = ['+', '-', '*']
10+
const op = operators[getRandomNumber(0, operators.length - 1)]
11+
12+
let correctAnswer
13+
switch (op) {
14+
case '+':
15+
correctAnswer = a + b
16+
break
17+
case '-':
18+
correctAnswer = a - b
19+
break
20+
case '*':
21+
correctAnswer = a * b
22+
break
23+
}
24+
25+
return [`${a} ${op} ${b}`, String(correctAnswer)]
26+
}
27+
28+
export default () => runEngine(rule, getCalculation)

src/games/even.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import runEngine from '../index.js'
2-
import getrandomNumber from '../utils.js'
2+
import getRandomNumber from '../utils.js'
33

44
const rule = 'Answer "yes" if the number is even, otherwise answer "no".'
55

@@ -8,7 +8,7 @@ const isEven = (num) => {
88
}
99

1010
const getQuestionAndAnswer = () => {
11-
const question = getrandomNumber(1, 100)
11+
const question = getRandomNumber(1, 100)
1212
const correctAnswer = isEven(question) ? 'yes' : 'no'
1313
return [question, correctAnswer]
1414
}

0 commit comments

Comments
 (0)