Skip to content

Commit

Permalink
Renamed src/games/* files. Some refactoring.
Browse files Browse the repository at this point in the history
  • Loading branch information
alex-rysaev committed May 21, 2020
1 parent 33c6fac commit 4da223c
Show file tree
Hide file tree
Showing 12 changed files with 66 additions and 68 deletions.
4 changes: 2 additions & 2 deletions bin/brain-calc
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#!/usr/bin/env php
<?php

use function BrainGames\Calc\brainCalc;

$autoloadPath1 = __DIR__ . '/../../../autoload.php';
$autoloadPath2 = __DIR__ . '/../vendor/autoload.php';
if (file_exists($autoloadPath1)) {
Expand All @@ -9,6 +11,4 @@ if (file_exists($autoloadPath1)) {
require_once $autoloadPath2;
}

use function BrainGames\BrainCalc\brainCalc;

brainCalc();
4 changes: 2 additions & 2 deletions bin/brain-even
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#!/usr/bin/env php
<?php

use function BrainGames\Even\brainEven;

$autoloadPath1 = __DIR__ . '/../../../autoload.php';
$autoloadPath2 = __DIR__ . '/../vendor/autoload.php';
if (file_exists($autoloadPath1)) {
Expand All @@ -9,6 +11,4 @@ if (file_exists($autoloadPath1)) {
require_once $autoloadPath2;
}

use function BrainGames\BrainEven\brainEven;

brainEven();
4 changes: 2 additions & 2 deletions bin/brain-gcd
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#!/usr/bin/env php
<?php

use function BrainGames\GCD\brainGCD;

$autoloadPath1 = __DIR__ . '/../../../autoload.php';
$autoloadPath2 = __DIR__ . '/../vendor/autoload.php';
if (file_exists($autoloadPath1)) {
Expand All @@ -9,6 +11,4 @@ if (file_exists($autoloadPath1)) {
require_once $autoloadPath2;
}

use function BrainGames\BrainGCD\brainGCD;

brainGCD();
4 changes: 2 additions & 2 deletions bin/brain-prime
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#!/usr/bin/env php
<?php

use function BrainGames\Prime\brainPrime;

$autoloadPath1 = __DIR__ . '/../../../autoload.php';
$autoloadPath2 = __DIR__ . '/../vendor/autoload.php';
if (file_exists($autoloadPath1)) {
Expand All @@ -9,6 +11,4 @@ if (file_exists($autoloadPath1)) {
require_once $autoloadPath2;
}

use function BrainGames\BrainPrime\brainPrime;

brainPrime();
4 changes: 2 additions & 2 deletions bin/brain-progression
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#!/usr/bin/env php
<?php

use function BrainGames\Progression\brainProgression;

$autoloadPath1 = __DIR__ . '/../../../autoload.php';
$autoloadPath2 = __DIR__ . '/../vendor/autoload.php';
if (file_exists($autoloadPath1)) {
Expand All @@ -9,6 +11,4 @@ if (file_exists($autoloadPath1)) {
require_once $autoloadPath2;
}

use function BrainGames\BrainProgression\brainProgression;

brainProgression();
12 changes: 6 additions & 6 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,12 @@
},
"autoload": {
"files": [
"src/BrainGames.php",
"src/games/BrainCalc.php",
"src/games/BrainEven.php",
"src/games/BrainGCD.php",
"src/games/BrainProgression.php",
"src/games/BrainPrime.php"
"src/Engine.php",
"src/games/Calc.php",
"src/games/Even.php",
"src/games/GCD.php",
"src/games/Progression.php",
"src/games/Prime.php"
]
},
"require-dev": {
Expand Down
18 changes: 9 additions & 9 deletions src/BrainGames.php → src/Engine.php
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
<?php

namespace BrainGames\BrainGames;
namespace BrainGames\Engine;

use function cli\line;
use function cli\prompt;

function brainGames($gameParameters)
const ROUNDS = 3;

function brainEngine($mission, $questionsAndAnswers)
{
$mission = $gameParameters[0];
$questionsAndAnswers = $gameParameters[1];
$guess = '';

$guess = null;
line('Welcome to the Brain Games!');
line("%s", $mission);
line();
Expand All @@ -22,10 +23,9 @@ function brainGames($gameParameters)
if ($guess !== $answer) {
line('"%s" is wrong answer ;(. Correct answer was "%s".', $guess, $answer);
line('Let\'s try again, %s!', $name);
break;
return false;
}
}
if ($guess == $answer) {
line("Congratulations, %s!", $name);
}

line("Congratulations, %s!", $name);
}
16 changes: 7 additions & 9 deletions src/games/BrainCalc.php → src/games/Calc.php
Original file line number Diff line number Diff line change
@@ -1,21 +1,19 @@
<?php

namespace BrainGames\BrainCalc;
namespace BrainGames\Calc;

use function cli\line;
use function cli\prompt;
use function BrainGames\BrainGames\brainGames;
use function BrainGames\Engine\brainEngine;

use const BrainGames\Engine\ROUNDS;

function brainCalc()
{
$mission = 'What is the result of the expression?';
$gameParameters = [$mission];
$operations = ['+', '-', '*'];
for ($i = 0; $i < 3; $i++) {
for ($i = 0; $i < ROUNDS; $i++) {
$operation = $operations[array_rand($operations)];
$firstNumber = rand(1, 10);
$secondNumber = rand(1, 20);
$answer = 0;
switch ($operation) {
case '+':
$answer = $firstNumber + $secondNumber;
Expand All @@ -28,8 +26,8 @@ function brainCalc()
break;
}
$question = "{$firstNumber} {$operation} {$secondNumber}";
$gameParameters[1][] = [$question, (string) $answer];
$questionsAndAnswers[] = [$question, (string) $answer];
}

brainGames($gameParameters);
brainEngine($mission, $questionsAndAnswers);
}
16 changes: 8 additions & 8 deletions src/games/BrainEven.php → src/games/Even.php
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<?php

namespace BrainGames\BrainEven;
namespace BrainGames\Even;

use function cli\line;
use function cli\prompt;
use function BrainGames\BrainGames\brainGames;
use function BrainGames\Engine\brainEngine;

use const BrainGames\Engine\ROUNDS;

function isEven($number)
{
Expand All @@ -14,13 +14,13 @@ function isEven($number)
function brainEven()
{
$mission = 'Answer "yes" if the number is even, otherwise answer "no".';
$gameParameters = [$mission];
for ($i = 0; $i < 3; $i++) {
$questionsAndAnswers = [];
for ($i = 0; $i < ROUNDS; $i++) {
$number = rand(1, 100);
$question = (string) $number;
$answer = isEven($number) ? 'yes' : 'no';
$gameParameters[1][] = [$question, $answer];
$questionsAndAnswers[] = [$question, $answer];
}

brainGames($gameParameters);
brainEngine($mission, $questionsAndAnswers);
}
15 changes: 7 additions & 8 deletions src/games/BrainGCD.php → src/games/GCD.php
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<?php

namespace BrainGames\BrainGCD;
namespace BrainGames\GCD;

use function cli\line;
use function cli\prompt;
use function BrainGames\BrainGames\brainGames;
use function BrainGames\Engine\brainEngine;

use const BrainGames\Engine\ROUNDS;

function getGCD($a, $b)
{
Expand All @@ -22,14 +22,13 @@ function getGCD($a, $b)
function brainGCD()
{
$mission = 'Find the greatest common divisor of given numbers.';
$gameParameters[] = $mission;
for ($i = 0; $i < 3; $i++) {
for ($i = 0; $i < ROUNDS; $i++) {
$firstNumber = rand(1, 100);
$secondNumber = rand(1, 100);
$question = "{$firstNumber} {$secondNumber}";
$answer = (string) getGCD($firstNumber, $secondNumber);
$gameParameters[1][] = [$question, $answer];
$questionsAndAnswers[] = [$question, $answer];
}

brainGames($gameParameters);
brainEngine($mission, $questionsAndAnswers);
}
19 changes: 11 additions & 8 deletions src/games/BrainPrime.php → src/games/Prime.php
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
<?php

namespace BrainGames\BrainPrime;
namespace BrainGames\Prime;

use function cli\line;
use function cli\prompt;
use function BrainGames\BrainGames\brainGames;
use function BrainGames\Engine\brainEngine;

use const BrainGames\Engine\ROUNDS;

function isPrime($number)
{
if ($number < 2) {
return false;
}

for ($i = 2; $i <= sqrt($number); $i++) {
if ($number % $i === 0) {
return false;
Expand All @@ -19,13 +23,12 @@ function isPrime($number)
function brainPrime()
{
$mission = 'Answer "yes" if given number is prime. Otherwise answer "no".';
$gameParameters = [$mission];
for ($i = 0; $i < 3; $i++) {
for ($i = 0; $i < ROUNDS; $i++) {
$number = rand(1, 100);
$question = (string) $number;
$answer = isPrime($number) ? 'yes' : 'no';
$gameParameters[1][] = [$question, $answer];
$questionsAndAnswers[] = [$question, $answer];
}

brainGames($gameParameters);
brainEngine($mission, $questionsAndAnswers);
}
18 changes: 8 additions & 10 deletions src/games/BrainProgression.php → src/games/Progression.php
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
<?php

namespace BrainGames\BrainProgression;
namespace BrainGames\Progression;

use function cli\line;
use function cli\prompt;
use function BrainGames\BrainGames\brainGames;
use function BrainGames\Engine\brainEngine;

use const BrainGames\Engine\ROUNDS;

function brainProgression()
{
$mission = 'What number is missing in the progression?';
$gameParameters = [$mission];
for ($i = 0; $i < 3; $i++) {
for ($i = 0; $i < ROUNDS; $i++) {
$step = rand(1, 10);
$maskedPosition = rand(0, 9);
$startNumber = rand(1, 10);
Expand All @@ -22,13 +21,12 @@ function brainProgression()
$progression[$maskedPosition] = '..';
$question = '';
foreach ($progression as $progressionMember) {
$question .= $progressionMember . ' ';
$question .= "{$progressionMember} ";
}
$question = trim($question);
$gameParameters[1][] = [$question, $answer];
print_r($gameParameters);
$questionsAndAnswers[] = [$question, $answer];
$progression = [];
}

brainGames($gameParameters);
brainEngine($mission, $questionsAndAnswers);
}

0 comments on commit 4da223c

Please sign in to comment.