麻将基本牌型的胡牌检测算法,不包含小七对,针对小七对可以增加牌型检测,与此组成牌型树。
此类可以获得胡牌的牌型组合,取得后针对组合可以进行牌型名称检测。
先上一个,后面会持续更新各地特殊的胡牌算法,如癞子
/**
* 麻将基本胡牌 (不包含小七对)
*
* 此类检测是否胡牌,返回胡牌的组合, 你可以再将获得的胡牌组合,进行相应牌型检测获得牌型
* 不能用于小七对的胡牌检测
*
* @package
* @author sunshine
*
* $Id: HuAlgorithm.php 2017.12.05 $
*/
class HuAlgorithm
{
private $stack = []; # 牌组栈
private $cards = []; # 剩余手牌
private $pairs = 0; # 将对个数
private $raw = false; # 是否直接返牌组栈
private $number = [];# 牌堆
public function __construct($number = [], $raw = false)
{
$this->number = $number;
$this->raw = $raw;
}
public function clear($raw = false)
{
$this->stack