apetitpa / card-factory
CardFactory is a PHP library designed to simplify the creation and management of card decks for card games. It provides an organized and extensible structure with classes and enumerations for cards, suits, values, and decks, making it easy to build and manipulate card decks in a variety of game scen
Requires
- php: >=8.1
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.0
- psalm/plugin-phpunit: ^0.18.4
- vimeo/psalm: ^5.8
README
CardFactory is a PHP library designed to simplify the creation and management of card decks for card games. It provides an organized and extensible structure with classes and enumerations for cards, suits, values, and decks, making it easy to build and manipulate card decks in a variety of game scenarios.
Requirements
- PHP >= 8.1
Installation
To install CardFactory, use Composer:
composer require apetitpa/card-factory
Usage
Here's a basic example of how to use CardFactory to create and manipulate a deck of cards:
use Apetitpa\CardFactory\Model\Deck; // Create a standard deck of 52 playing cards (shuffled by default) $deck = Deck::createStandardDeck(); // To create an ordered (not shuffled) deck, use: $deck = Deck::createStandardDeck(false); // Shuffle the deck $deck->shuffle(); // Draw the top card from the deck $card = $deck->drawCard(); // Check the card's suit and value $suit = $card->getSuit(); $value = $card->getValue();
Running the project locally
You can install CardFactory via Composer:
make install
Code analysis
CardFactory uses PHPStan and Psalm for static code analysis. To run PHPStan and Psalm, follow these steps:
PHPStan
make phpstan
Psalm
make psalm
Testing
To run the tests, execute the following command at the root of the project:
make test
License
CardFactory is open-source software licensed under the MIT license.