Skip to content

Commit 9b73ccd

Browse files
author
daria-z
committed
add progression game
1 parent d4e79d2 commit 9b73ccd

File tree

6 files changed

+36
-45
lines changed

6 files changed

+36
-45
lines changed

Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ brain-even:
1010
brain-calculator:
1111
node bin/brain-calculator.js
1212

13+
brain-progression:
14+
node bin/brain-progression.js
15+
1316
publish:
1417
npm publish --dry-run
1518

bin/brain-progression.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 { progression } from '../src/cli.js';
3+
4+
progression();

src/cli.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@ import userGreeting from './games/userGreeting.js';
22
import evenChecking from './games/evenChecking.js';
33
import calculator from './games/brain-calculator.js';
44
import gcd from './games/gcd.js';
5+
import progression from './games/brain-progression.js';
56

6-
export { userGreeting, evenChecking, calculator, gcd };
7+
export { userGreeting, evenChecking, calculator, gcd, progression };

src/games/brain-progression.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import gamesWrapper from "./utils/gamesWrapper.js";
2+
import { rule, logic } from "./gamesLogic/progression.js";
3+
4+
export default () => {
5+
gamesWrapper(rule, logic);
6+
};
7+

src/games/calculator.js

Lines changed: 0 additions & 44 deletions
This file was deleted.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import generateRandomNumber from "../utils/generateRandomNumber.js";
2+
3+
export const rule = 'What number is missing in the progression?';
4+
5+
export const logic = () => {
6+
const missedPosition = generateRandomNumber(1, 10);
7+
const progressionFirstNumber = generateRandomNumber(1, 30);
8+
const progressionDiff = generateRandomNumber(1, 5);
9+
const progression = [progressionFirstNumber];
10+
11+
for (let i = 0; i < 10; i += 1) {
12+
const nextNumber = progression[progression.length - 1] + progressionDiff;
13+
progression.push(nextNumber);
14+
};
15+
const correctAnswer = progression[missedPosition];
16+
progression[missedPosition] = '...';
17+
18+
return [progression.join(' '), correctAnswer];
19+
}
20+

0 commit comments

Comments
 (0)