forest-yeti/triton-engine

Triton Engine - 用于PHP的框架,实现了基本的扑克游戏

dev-main 2024-07-05 09:47 UTC

This package is auto-updated.

Last update: 2024-09-05 10:09:40 UTC


README

该解决方案实现了基本的扑克游戏(特指德州扑克)

快速开始

首先需要创建一副牌并对其进行洗牌

$gameCardsDeck = (new GameCardDeckFactory())->factoryClassicDeck()
$gameCardsDeck->shuffle();

然后我们可以开始游戏,我们可以这样发牌,包括底牌和桌面上的牌

$pockerCards = [
    $gameCardsDeck->pop(),
    $gameCardsDeck->pop(),
];

$boardCards = [
    $gameCardsDeck->pop(),
    $gameCardsDeck->pop(),
    $gameCardsDeck->pop(),
    $gameCardsDeck->pop(),
    $gameCardsDeck->pop(),
];

之后我们可以通过GameResolver找到最强的组合

$gameResolver = new GameResolver();
$resolverResut = $gameResolver->resolve($pockerCards, $boardCards);

该类包含一个用于获取组合优先级的方法 - 这是一个从1到10的数字(其中1表示最大的牌,10表示皇家同花顺)。我们还可以获取组合的名称

echo $resolverResut->getCombinationName();
echo $resolverResut->getPriority();

同时,我们可以通过getKicker方法获取踢脚

$resolverResult->getKicker()

在某些情况下,它可能为null,例如在构建皇家同花顺组合时(在此组合中,踢脚总是王牌)

测试

您可以使用以下方式运行测试

vendor\bin\phpunit tests