Skip to content

Commit bae2cff

Browse files
committed
Add brain-progression game
1 parent a1235f0 commit bae2cff

File tree

4 files changed

+45
-1
lines changed

4 files changed

+45
-1
lines changed

Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ brain-calc:
1313
brain-gcd:
1414
uv run brain-gcd
1515

16+
brain-progression:
17+
uv run brain-progression
18+
1619
build:
1720
uv build
1821

README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=pwr44_devops-engineer-from-scratch-project-49&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=pwr44_devops-engineer-from-scratch-project-49)
1111
[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=pwr44_devops-engineer-from-scratch-project-49&metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=pwr44_devops-engineer-from-scratch-project-49)
1212

13-
### Asciinema: step 5: btain-even
13+
### Asciinema: step 5: brain-even
1414

1515
[![asciicast](https://asciinema.org/a/746759.svg)](https://asciinema.org/a/746759)
1616

@@ -22,3 +22,6 @@
2222

2323
[![asciicast](https://asciinema.org/a/LKymopkNQHeyv55y6M94obHR3.svg)](https://asciinema.org/a/LKymopkNQHeyv55y6M94obHR3)
2424

25+
### Asciinema: step 8: brain-progression
26+
27+
[![asciicast](https://asciinema.org/a/C6YfeEUsekaaOdIIdAwfl0vZi.svg)](https://asciinema.org/a/C6YfeEUsekaaOdIIdAwfl0vZi)
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
from random import randint
2+
3+
from brain_games.engine import engine
4+
5+
GAME_TASK = 'What number is missing in the progression?'
6+
MIN_NUMBER = 1
7+
MAX_NUMBER = 10
8+
PROGRESSION_MEMBERS_COUNT = 10
9+
10+
11+
def get_random_number():
12+
return randint(MIN_NUMBER, MAX_NUMBER)
13+
14+
15+
def get_progression():
16+
first_member = get_random_number()
17+
step = get_random_number()
18+
progression = []
19+
for i in range(PROGRESSION_MEMBERS_COUNT):
20+
progression.append(str(first_member + step * i))
21+
return progression
22+
23+
24+
def get_game_data():
25+
progression = get_progression()
26+
missed_member_position = get_random_number() - 1
27+
missed_member = progression[missed_member_position]
28+
progression[missed_member_position] = '..'
29+
return [' '.join(progression), missed_member]
30+
31+
32+
def main():
33+
engine(GAME_TASK, get_game_data)
34+
35+
36+
if __name__ == "__main__":
37+
main()

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,4 @@ brain-games = "brain_games.scripts.games.brain_games:main"
2525
brain-even = "brain_games.scripts.games.brain_even:main"
2626
brain-calc = "brain_games.scripts.games.brain_calc:main"
2727
brain-gcd = "brain_games.scripts.games.brain_gcd:main"
28+
brain-progression = "brain_games.scripts.games.brain_progression:main"

0 commit comments

Comments
 (0)