gamebetr / cards
扩展可能用于卡牌游戏库
Requires
- php: >=7.2
- ext-intl: *
- gamebetr/provable: ^1.0
Requires (Dev)
- phpunit/phpunit: ^8.5
README
cards包扩展了gamebetr/provable包,以提供一种可证明的公平方式来洗牌和利用牌组。
安装
composer require gamebetr/cards ^1.0
Gamebetr\Cards\Deck 对象
初始化
$deck = new Gamebetr\Cards\Deck();
或
$deck = Gamebetr\Cards\Deck::init();
Deck 方法
__construct(string $clientSeed = null, string $serverSeed = null, int $deckCount = 1, bool $jokers = false)
$clientSeed - 这是要用于生成可证明的洗牌的客户种子。默认值null将导致Provable类自动生成客户种子。
$serverSeed - 这是要用于生成可证明的洗牌的服务器种子。默认值null将导致Provable类自动生成服务器种子。
$deckCount - 这是要使用的牌组的数量。默认为1。
$jokers - 此参数确定牌组中是否包含鬼牌。默认为false。
init(string $clientSeed = null, string $serverSeed = null, int $deckCount = 1, bool $jokers = false) : Gamebetr\Cards\Deck
此方法只是一个静态构造函数,用于在实例化Deck类时使其更简洁。这将返回一个Deck类。
getProvable() : Gamebetr\Provable\Provable
此方法将返回用于洗牌的Gamebetr\Provable\Provable实例。
deal() : Gamebetr\Cards\Card
此方法将返回牌组顶部的Gamebetr\Cards\Card。
burn()
此方法将烧掉牌组顶部的牌。
getCards() : array
此方法将返回牌组的全部、原始洗牌值。此数组中的值是用于创建Gamebetr\Cards\Card对象的数值。
getRemainingCards() : array
此方法将返回牌组中所有剩余的Gamebetr\Cards\Card数组。
getDealtCards() : array
此方法将返回牌组中所有已发牌的Gamebetr\Cards\Card数组。
getBurntCards() : array
此方法将返回牌组中所有已烧毁的Gamebetr\Cards\Card数组。
Card 方法
__construct(int $value)
$value - 这张牌的值。
init(int $value) : Card
此方法只是Card对象的静态构造函数。这将返回一个Card类。
isJoker() : bool
此方法将返回true,如果Card是鬼牌。
suit() : int
此方法将返回牌花色的整数表示。0 = 梅花,1 = 方片,2 = 红心,3 = 黑桃。
suitName() : string
此方法将返回牌花色的名称。
rank() : int
此方法将返回牌等级的整数表示。-1 = 鬼牌,0 = 2,1 = 3,2 = 4,3 = 5,4 = 6,5 = 7,6 = 8,7 = 9,8 = 10,9 = J,10 = Q,11 = K,12 = A。
rankName() : string
此方法将返回牌等级的名称。
value() : int
此方法将返回卡的整数值。鬼牌 = 0,2-9 = 面值,10-国王 = 10,A = 11。
name() : string
此方法是rankName()的别名。
fullName() : string
此方法返回卡的完整名称(例如,红心2)。
greaterThan(Gamebetr\Cards\Card $card, bool $useSuitValue = false)
此方法将比较一张牌与另一张牌,如果当前牌的值更大,则返回 true。通过指定 $useSuitValue 为 true,它将按花色对两张相同的牌进行排序。
lessThan(Gamebetr\Cards\Card $card, bool $useSuitValue = false)
此方法将比较一张牌与另一张牌,如果当前牌的值更小,则返回 true。通过指定 $useSuitValue 为 true,它将按花色对两张相同的牌进行排序。
equalTo(Gamebetr\Cards\Card $card, bool $useSuitValue = false)
此方法将比较一张牌与另一张牌,如果当前牌的值相同,则返回 true。通过指定 $useSuitValue 为 true,它将按花色对两张相同的牌进行排序。
compare(Gamebetr\Cards\Card $card, bool $useSuitValue = false)
此方法将比较一张牌与另一张牌,如果牌的值更小,则返回 -1,如果牌值相同,则返回 0,如果牌的值更大,则返回 1。通过指定 $useSuitValue 为 true,它将按花色对两张相同的牌进行排序。
__toString()
此方法是 getName() 的别名。