Skip to content

Commit 0ff9cbb

Browse files
committed
add game Brain progression
1 parent 313c6da commit 0ff9cbb

7 files changed

Lines changed: 46 additions & 3 deletions

File tree

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

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
from brain_games.generation import get_number
2+
3+
4+
def get_progression(start, step, length):
5+
progression = []
6+
hidden_index = get_number(0, length - 1)
7+
correct_answer = 0
8+
for index in range(length):
9+
current_element = start + index * step
10+
if index == hidden_index:
11+
progression.append('..')
12+
correct_answer = current_element
13+
else:
14+
progression.append(str(current_element))
15+
return progression, correct_answer
16+
17+
18+
def question_and_answer_progression():
19+
start = get_number()
20+
step = get_number(1, 10)
21+
length = get_number(5, 12)
22+
question_text, correct_answer = get_progression(start, step, length)
23+
return ' '.join(question_text), str(correct_answer)

brain_games/generation.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import random
22

33

4-
def get_number():
5-
number = random.randint(1, 100)
4+
def get_number(start = 1, end = 100):
5+
number = random.randint(start, end)
66
return number
77

88

brain_games/question_and_answer.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from brain_games.games.game_calc import question_and_answer_calc
22
from brain_games.games.game_even import question_and_answer_even
33
from brain_games.games.game_gcd import question_and_answer_gcd
4+
from brain_games.games.game_progression import question_and_answer_progression
45

56

67
def get_question_and_answer(name_game):
@@ -12,4 +13,6 @@ def get_question_and_answer(name_game):
1213
result = question_and_answer_calc()
1314
case 'brain_gcd':
1415
result = question_and_answer_gcd()
16+
case 'brain_progression':
17+
result = question_and_answer_progression()
1518
return result

brain_games/rules.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,7 @@ def get_rules_brain(name_game: str) -> str:
77
result = 'What is the result of the expression?'
88
case 'brain_gcd':
99
result = 'Find the greatest common divisor of given numbers.'
10+
case 'brain_progression':
11+
result = 'What number is missing in the progression?'
1012

1113
return result
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
from brain_games.engine import start_game
2+
from brain_games.scripts.brain_games import main as greeting
3+
4+
5+
def main():
6+
name = greeting()
7+
start_game('brain_progression', name)
8+
9+
10+
if __name__ == '__main__':
11+
main()

pyproject.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,5 @@ dev = [
2424
brain-games = "brain_games.scripts.brain_games:main"
2525
brain-even = "brain_games.scripts.brain_even:main"
2626
brain-calc = "brain_games.scripts.brain_calc:main"
27-
brain-gcd = "brain_games.scripts.brain_gcd:main"
27+
brain-gcd = "brain_games.scripts.brain_gcd:main"
28+
brain-progression = "brain_games.scripts.brain_progression:main"

0 commit comments

Comments
 (0)