Game::play()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 13
Code Lines 7

Duplication

Lines 0
Ratio 0 %
Metric Value
dl 0
loc 13
rs 9.4285
cc 1
eloc 7
nc 1
nop 1
1
<?php
2
3
namespace FizzBuzzDomain;
4
5
use GameDomain\Game\AbstractGame;
6
use GameDomain\Round\AbstractRound;
7
use GameDomain\Round\RoundResultCollection;
8
use GameDomain\Round\RoundCollection;
9
10
/**
11
 * Game
12
 */
13
final class Game extends AbstractGame
14
{
15
    /**
16
     * {@inheritDoc}
17
     */
18
    public function play(RoundCollection $rounds)
19
    {
20
        $gameRules = $this->gameRules;
21
22
        return new RoundResultCollection(
23
            array_map(
24
                function (AbstractRound $round) use ($gameRules) {
25
                    return $round->play($gameRules);
26
                },
27
                $rounds->toArray()
28
            )
29
        );
30
    }
31
}
32