gamebetr/cards

此包的最新版本(1.0.4)没有可用的许可证信息。

扩展可能用于卡牌游戏库

1.0.4 2020-04-29 04:28 UTC

This package is auto-updated.

Last update: 2024-09-11 03:00:23 UTC


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() 的别名。