Skip to content

Commit 1f2da60

Browse files
committed
Add Gcd game
1 parent 10229b4 commit 1f2da60

File tree

4 files changed

+42
-2
lines changed

4 files changed

+42
-2
lines changed

Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,5 @@ brain-even:
1010
./bin/brain-even
1111
brain-calc:
1212
./bin/brain-calc
13+
brain-gcd:
14+
./bin/brain-gcd

bin/brain-gcd

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/usr/bin/env php
2+
3+
<?php
4+
5+
require __DIR__."/../vendor/autoload.php";
6+
7+
\BrainGames\GcdGame\startGcdGame();

composer.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,15 @@
77
"files": [
88
"src/Cli.php",
99
"src/EvenGame.php",
10-
"src/CalcGame.php"
10+
"src/CalcGame.php",
11+
"src/GcdGame.php"
1112
]
1213
},
1314
"bin": [
1415
"bin/brain-games",
1516
"bin/brain-even",
16-
"bin/brain-calc"
17+
"bin/brain-calc",
18+
"bin/brain-gcd"
1719
],
1820
"authors": [
1921
{

src/GcdGame.php

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<?php
2+
3+
namespace BrainGames\GcdGame;
4+
5+
use function BrainGames\Cli\playGame;
6+
7+
function startGcdGame(): void
8+
{
9+
$questions = [];
10+
$answers = [];
11+
for ($i = 0; $i < 3; $i++) {
12+
$number1 = rand(1, 100);
13+
$number2 = rand(1, 100);
14+
15+
$questions[$i] = "{$number1} {$number2}";
16+
$answers[$i] = findGcd($number1, $number2);
17+
}
18+
playGame($questions, $answers, 'Find the greatest common divisor of given numbers.');
19+
}
20+
21+
function findGcd(int $number1, int $number2): int
22+
{
23+
while ($number2 !== 0) {
24+
$tempNumber2 = $number2;
25+
$number2 = $number1 % $number2;
26+
$number1 = $tempNumber2;
27+
}
28+
return $number1;
29+
}

0 commit comments

Comments
 (0)