mike-reinders / runeterra-php
Runeterra 卡牌代码编码/解码器 PHP 库
1.1
2021-03-04 01:59 UTC
Requires
- php: ^7.2
- christian-riesen/base32: ^1.3
Requires (Dev)
- phpunit/phpunit: ^8
README
基于 SwitchbladeBot/runeterra 开发的 PHP 库,用于
解码 Runeterra 的卡组代码并编码卡组。
安装
composer require mike-reinders/runeterra-php
访问 Packagist.org mike-reinders/runeterra-php
下载 Composer PHP 依赖管理器
指南
原始卡组
// DeckEncoding $raw_deck = DeckEncoding::decode("CEBAIAICAMGRWMIHAECQOCQVC4RC6MICAEAQKKQBAEBASAQBAECQ6AQBAIDSA"); $deck_code = DeckEncoding::encode($raw_deck); // or DeckEncodingFactory $raw_deck = DeckEncodingFactory::toRawDeck("CEBAIAICAMGRWMIHAECQOCQVC4RC6MICAEAQKKQBAEBASAQBAECQ6AQBAIDSA"); $deck_code = DeckEncodingFactory::fromRawDeck($raw_deck);
返回格式
$raw_deck = [ [ 0 => 1, // set 1 => 2, // faction id 2 => 3, // card number 3 => 3 // card count ], ... ];
卡牌代码卡组
// DeckEncodingFactory $card_code_deck = DeckEncodingFactory::toCardCodeDeck("CEBAIAICAMGRWMIHAECQOCQVC4RC6MICAEAQKKQBAEBASAQBAECQ6AQBAIDSA"); $deck_code = DeckEncodingFactory::fromCardCodeDeck($card_code_deck);
返回格式
$card_code_deck = [ "01IO003" => 3, // card code => count "01IO013" => 3, "01SI049" => 3, "01SI042" => 2, "01IO009" => 2, "01SI015" => 1, ... ];
卡组
// DeckEncodingFactory $card_deck = DeckEncodingFactory::toCardDeck("CEBAIAICAMGRWMIHAECQOCQVC4RC6MICAEAQKKQBAEBASAQBAECQ6AQBAIDSA", Card::class); $deck_code = DeckEncodingFactory::fromCardDeck($card_deck);
返回格式
$card_deck = [ Card { #set: 1 #faction_id: 2 #number: 3 #count: 3 }, Card { #set: 1 #faction_id: 2 #number: 13 #count: 3 }, Card { #set: 1 #faction_id: 2 #number: 27 #count: 3 }, Card { #set: 1 #faction_id: 2 #number: 49 #count: 3 } ... ];
库测试
PHP-CLI
composer install --dev ./vendor/bin/phpunit --bootstrap vendor/autoload.php --testdox tests
Docker
下载 & 安装
构建镜像
docker build --no-cache -t runeterra-php:latest ./docker
测试它!
# simply run docker run --name=runeterra-php --rm -it runeterra-php test # watch: Linux Shell docker run --name=runeterra-php --rm --volume "/${PWD}:/repository:rw" -it runeterra-php test watch # watch: Windows Powershell docker run --name=runeterra-php --rm --volume "${PWD}:/repository:rw" -it runeterra-php test watch # watch: Windows Command Prompt (CMD) docker run --name=runeterra-php --rm --volume "%CD%:/repository:rw" -it runeterra-php test watch