garak / card
一个用于管理通用纸牌游戏的 PHP 库
v0.5.0
2024-04-02 06:30 UTC
Requires
- php: ^8.1
Requires (Dev)
- phpunit/phpunit: ^9.6
README
介绍
此库提供了一些 VO 类,可以在 Card 相关的应用程序中使用
Card
:表示一张牌,例如黑桃 A。Rank
:表示牌的面值,例如 "A" 或 "7"("T" 用于 10,以保持相同的长度)。Suit
:表示牌的花色,例如黑桃或红心。
还有一些更详细、更抽象的类可用。它们是抽象的,因此需要自定义实现来扩展它们
Hand
:表示一组 Card 对象,通常是分配给玩家的那些HandsTrick
:表示一组手牌(例如在扑克中,当玩家展示手牌以宣布赢家时)CardTrick
:表示一组牌(例如在桥牌中,一个桥转换的 4 张牌)
安装
只需使用 composer require garak/card
。
用法
示例
<?php require 'vendor/autoload.php'; use Garak\Card\Card; use Garak\Card\Rank; use Garak\Card\Suit; $card = new Card(new Rank('A'), new Suit('d')); echo $card; // will output "Ad" $card = new Card(new Rank('7'), new Suit('s')); echo $card->toText(); // will output "7♠" $card = Card::fromRankSuit('Kh'); echo $card->toUnicode(); // will output "🂾"
您还可以获取一副完整的牌
<?php require 'vendor/autoload.php'; use Garak\Card\Card; $orderedCards = Card::getDeck(); $shuffledCards = Card::getDeck(true); $doubleDeckWithJokers = Card::getDeck(true, 2, true);