Skip to content

Commit 7d9c74d

Browse files
committed
9step + lint PSR
1 parent 3c000dd commit 7d9c74d

File tree

10 files changed

+86
-8
lines changed

10 files changed

+86
-8
lines changed

.gitattributes

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# .gitattributes
2+
*.php text eol=lf
3+
*.json text eol=lf
4+
*.js text eol=lf
5+
*.css text eol=lf
6+
*.html text eol=lf
7+
*.md text eol=lf

.gitignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,12 @@ Thumbs.db
1818
# Временные файлы
1919
*.tmp
2020
*.temp
21+
22+
# Лишние файлы
23+
composer
24+
composer.bat
25+
composer.phar
26+
phpcbf.phar
27+
phpcs.phar
28+
video.cast
29+
index.html

Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ brain-gcd:
1616
brain-progression:
1717
php ./bin/brain-progression
1818

19+
brain-prime:
20+
php ./bin/brain-prime
21+
1922
validate:
2023
composer validate
2124

README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1-
Brain-Even - https://asciinema.org/a/UZBtDobwLPOrNa1r3vp6JYiWS
1+
Brain-Even: https://asciinema.org/a/UZBtDobwLPOrNa1r3vp6JYiWS
22

3-
Brain-Calc - https://asciinema.org/a/cKn78eDiU1h5MTCMr1183kawd
3+
Brain-Calc: https://asciinema.org/a/cKn78eDiU1h5MTCMr1183kawd
44

5-
Brain-Gcd - https://asciinema.org/a/wWwYQWsxsikakJawzl5Wwxe4Y
5+
Brain-Gcd: https://asciinema.org/a/wWwYQWsxsikakJawzl5Wwxe4Y
66

7-
Result Url: https://asciinema.org/a/sNPCT391AYUgrvR8Oy4ASUkYk
7+
Brain-Progression: https://asciinema.org/a/sNPCT391AYUgrvR8Oy4ASUkYk
8+
9+
Brain-Prime: https://asciinema.org/a/fOkN1DJ0yYfTX13CLybPBwEec
810

911
### Hexlet tests and linter status:
1012

bin/brain-prime

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/usr/bin/env php
2+
<?php
3+
4+
use function BrainGames\Engine\getUserName;
5+
use function BrainGames\Engine\checkAnswer;
6+
7+
8+
$autoloadPath1 = __DIR__ . '/../../../autoload.php';
9+
$autoloadPath2 = __DIR__ . '/../vendor/autoload.php';
10+
11+
if (file_exists($autoloadPath1)) {
12+
require_once $autoloadPath1;
13+
} else {
14+
require_once $autoloadPath2;
15+
}
16+
//получим имя пользователя
17+
$userName = getUserName();
18+
//запуск игры
19+
checkAnswer($count = 3, $userName, $path="prime");

composer.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,17 @@
1212
"src/Games/BrainCalc.php",
1313
"src/Engine.php",
1414
"src/Games/BrainGcd.php",
15-
"src/Games/BrainProgression.php"
15+
"src/Games/BrainProgression.php",
16+
"src/Games/BrainPrime.php"
1617
]
1718
},
1819
"bin": [
1920
"bin/brain-games",
2021
"bin/brain-even",
2122
"bin/brain-calc",
2223
"bin/brain-gcd",
23-
"bin/brain-progression"
24+
"bin/brain-progression",
25+
"bin/brain-prime"
2426
],
2527
"authors": [
2628
{

src/Engine.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use function BrainGames\BrainGcd\getGcd;
88
use function BrainGames\BrainProgression\generateProgression;
99
use function BrainGames\BrainProgression\hideElement;
10+
use function BrainGames\BrainPrime\isPrime;
1011

1112
//---Приветствуем пользователя, получаем имя
1213
function getUserName()
@@ -23,6 +24,7 @@ function checkAnswer($count, $name, $path)
2324
{
2425
//---Узнать какой файл обратился (для дальнейшей логики)
2526
$filepath = $path;
27+
//-- Генерация случайных чисел для игр
2628
$num = random_int(1, 100);
2729
$num2 = random_int(1, 10);
2830

@@ -72,6 +74,12 @@ function checkAnswer($count, $name, $path)
7274
line('What number is missing in the progression?');
7375
$answer = prompt("Question:", implode(" ", $hiddenElement["progression"]));
7476
break;
77+
//-- Игра - "Простое ли число?"
78+
case "prime":
79+
line('Answer "yes" if the number is prime. Otherwise answer "no".');
80+
$answer = prompt("Question:", $num);
81+
$expectedAnswer = isPrime($num) ? 'yes' : 'no';
82+
break;
7583
default:
7684
return line("This Game is still in production :)");
7785
}

src/Games/BrainEven.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use function cli\line;
66
use function cli\prompt;
77

8+
/*
89
function getUserName()
910
{
1011
//Приветствуем пользователя
@@ -35,4 +36,4 @@ function checkAnswer($count, $name)
3536
}
3637
}
3738
checkAnswer($count, $name);
38-
}
39+
}*/

src/Games/BrainGcd.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
namespace BrainGames\BrainGcd;
44

5-
//вычислим общий делитель
5+
//-- вычислим общий делитель
66
function getGcd($num1, $num2)
77
{
88
$a = $num1;

src/Games/BrainPrime.php

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?php
2+
3+
namespace BrainGames\BrainPrime;
4+
5+
//-- Проверка на простое число
6+
function isPrime($number)
7+
{
8+
if ($number <= 1) {
9+
return false;
10+
}
11+
12+
if ($number == 2) {
13+
return true;
14+
}
15+
16+
if ($number % 2 == 0) {
17+
return false;
18+
}
19+
20+
for ($i = 3; $i <= sqrt($number); $i += 2) {
21+
if ($number % $i == 0) {
22+
return false;
23+
}
24+
}
25+
26+
return true;
27+
}

0 commit comments

Comments
 (0)