Skip to content

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.

License

apetitpa/card-factory

Repository files navigation

CardFactory

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.

About

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.

Resources

License

Stars

Watchers

Forks

Packages

No packages published