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

v1.1.0 2023-03-27 21:55 UTC

This package is auto-updated.

Last update: 2024-04-28 00:53:27 UTC


README

License: MIT CI

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.