Skip to content

Commit 46993e7

Browse files
committed
done step 9 of the project
1 parent 08641c6 commit 46993e7

File tree

5 files changed

+110
-1
lines changed

5 files changed

+110
-1
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,5 @@
1515
## Brain Progression
1616
[![asciicast](https://asciinema.org/a/FwJq0UlMtfHyl7DVNShYaGBFR.svg)](https://asciinema.org/a/FwJq0UlMtfHyl7DVNShYaGBFR)
1717

18+
## Brain Prime
19+
[![asciicast](https://asciinema.org/a/t0trPd1FIhLsnQtUDbw7MiXxu.svg)](https://asciinema.org/a/t0trPd1FIhLsnQtUDbw7MiXxu)

bin/brain-prime.js

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

demo.cast6

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
{"version": 2, "width": 80, "height": 24, "timestamp": 1758551090, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}}
2+
[0.216941, "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.12132, "o", "b"]
4+
[2.363387, "o", "r"]
5+
[2.589166, "o", "a"]
6+
[2.884061, "o", "i"]
7+
[3.214257, "o", "n"]
8+
[3.582209, "o", "-"]
9+
[3.87726, "o", "p \r"]
10+
[4.360153, "o", "r"]
11+
[4.574299, "o", "i"]
12+
[4.825037, "o", "m"]
13+
[4.954435, "o", "e"]
14+
[5.636746, "o", "\r\n\u001b[?2004l\r"]
15+
[5.675323, "o", "Welcome to the Brain Games!\r\n"]
16+
[5.675444, "o", "Answer \"yes\" if given number is prime. Otherwise answer \"no\".\r\n"]
17+
[5.676591, "o", "May I have your name? "]
18+
[7.796058, "o", "S"]
19+
[8.107096, "o", "a"]
20+
[9.048903, "o", "m"]
21+
[9.805442, "o", "\r\n"]
22+
[9.806713, "o", "Hello, Sam!\r\n"]
23+
[9.807024, "o", "Question: 21\r\n"]
24+
[9.807293, "o", "Your answer: "]
25+
[13.122577, "o", "n"]
26+
[13.245721, "o", "o"]
27+
[13.895296, "o", "\r\n"]
28+
[13.896103, "o", "Correct!\r\nQuestion: 24\r\n"]
29+
[13.896151, "o", "Your answer: "]
30+
[15.48683, "o", "n"]
31+
[15.55906, "o", "o"]
32+
[16.138602, "o", "\r\n"]
33+
[16.139303, "o", "Correct!\r\nQuestion: 88\r\n"]
34+
[16.139531, "o", "Your answer: "]
35+
[17.932216, "o", "n"]
36+
[18.155843, "o", "o"]
37+
[18.781387, "o", "\r\n"]
38+
[18.781734, "o", "Correct!\r\n"]
39+
[18.782132, "o", "Congratulations, Sam!\r\n"]
40+
[18.789874, "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$ "]
41+
[20.256905, "o", "b"]
42+
[20.60336, "o", "r"]
43+
[20.803129, "o", "a"]
44+
[20.998886, "o", "i"]
45+
[21.307155, "o", "n"]
46+
[21.664855, "o", "-"]
47+
[22.139565, "o", "p \r"]
48+
[22.418155, "o", "r"]
49+
[22.695692, "o", "i"]
50+
[22.947056, "o", "m"]
51+
[23.094417, "o", "e"]
52+
[23.507243, "o", "\r\n\u001b[?2004l\r"]
53+
[23.546519, "o", "Welcome to the Brain Games!\r\n"]
54+
[23.546567, "o", "Answer \"yes\" if given number is prime. Otherwise answer \"no\".\r\n"]
55+
[23.547405, "o", "May I have your name? "]
56+
[25.206445, "o", "M"]
57+
[25.580413, "o", "a"]
58+
[25.784501, "o", "x"]
59+
[26.878904, "o", "\r\n"]
60+
[26.879922, "o", "Hello, Max!\r\n"]
61+
[26.880315, "o", "Question: 28\r\nYour answer: "]
62+
[30.438867, "o", "n"]
63+
[30.573614, "o", "o"]
64+
[31.176692, "o", "\r\n"]
65+
[31.177049, "o", "Correct!\r\n"]
66+
[31.177107, "o", "Question: 39\r\n"]
67+
[31.177154, "o", "Your answer: "]
68+
[33.341754, "o", "n"]
69+
[33.47942, "o", "o"]
70+
[34.148757, "o", "\r\n"]
71+
[34.148864, "o", "Correct!\r\n"]
72+
[34.149091, "o", "Question: 12\r\n"]
73+
[34.149179, "o", "Your answer: "]
74+
[37.309525, "o", "y"]
75+
[37.560647, "o", "e"]
76+
[37.816188, "o", "s"]
77+
[38.484678, "o", "\r\n"]
78+
[38.485067, "o", "'yes' is wrong answer ;(. Correct answer was 'no'.\r\n"]
79+
[38.485349, "o", "Let's try again, Max!\r\n"]
80+
[38.491984, "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$ "]
81+
[43.372294, "o", "\u001b[?2004l\r\r\nexit\r\n"]

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@
2222
"brain-even": "bin/brain-even.js",
2323
"brain-calc": "bin/brain-calc.js",
2424
"brain-gcd": "bin/brain-gcd.js",
25-
"brain-progression": "bin/brain-progression.js"
25+
"brain-progression": "bin/brain-progression.js",
26+
"brain-prime": "bin/brain-prime.js"
2627
},
2728
"dependencies": {
2829
"readline-sync": "^1.4.10"

src/games/prime.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import runEngine from '../index.js'
2+
import getRandomNumber from '../utils.js'
3+
4+
const rule = 'Answer "yes" if given number is prime. Otherwise answer "no".'
5+
6+
const isPrime = (num) => {
7+
if (num <= 1) return false
8+
9+
for (let i = 2; i <= Math.sqrt(num); i += 1) {
10+
if (num % i === 0) return false
11+
}
12+
return true
13+
}
14+
15+
const makeRound = () => {
16+
const number = getRandomNumber(1, 100)
17+
const correctAnswer = isPrime(number) ? 'yes' : 'no'
18+
return [String(number), correctAnswer]
19+
}
20+
21+
export default () => runEngine(rule, makeRound)

0 commit comments

Comments
 (0)