整理された手牌 (MentsuComp)

麻雀の手牌を整理しまとめたクラスです
分かりづらいので詳しく説明します

概要

麻雀では手牌に複数通りの面子の組が考えられる場合があります
手牌を整理して、整理した結果がこのクラスのインスタンスです

例えば、、、

手牌が
222333444七八九東東
のような場合

雀頭:東東
刻子:222 333 444
順子:七八九

雀頭:東東
順子:234 234 234 七八九

に整理します

コンストラクタ

public MentsuComp(

java.util.List<[MahjongMentsu](doc:mentsu)> mentsuList,
[MahjongTile](doc:tile) last)
throws IllegalMentsuSizeException

パラメータ:

TypeNameDescription
java.util.List<MahjongMentsu>mentsuList上がりとなった面子のリスト
MahjongTilelast和了牌
平和の判定に利用します

例外:

IllegalMentsuSizeException

メソッド

public MahjongTile getJanto()

七対子の場合はnullを返します

戻り値:

雀頭を返します

public java.util.List<MahjongTile> getToitsuList()

public int getToitsuCount()

対子の数を返します 1もしくは7以外を返すことはありません

戻り値:

通常の型の場合1 七対子の型の場合7

public java.util.List<Shuntsu> getShuntsuList()

public int getShuntsuCount()

順子の数を返します 0~4のどれかです

戻り値:

順子の数

public java.util.List<Kotsu> getKotsuList()

public java.util.List<Kotsu> getKotsuKantsu()

刻子でも槓子でも役の判定に影響しない場合に利用します 刻子と槓子をまとめて返します。 TODO:good name

戻り値:

刻子と槓子をまとめたリスト

public int getKotsuCount()

刻子の数を返します 0~4のどれかです

戻り値:

刻子の数

public java.util.List<Kantsu> getKantsuList()

public int getKantsuCount()

槓子の数を返します 0~4のどれかです

戻り値:

槓子の数

public java.util.List<MahjongMentsu> getAllMentsu()

対子も含めて全ての面子をリストにして返します

戻り値:

構成する全ての面子のリスト

ネーミングについて

一番ネーミングに迷いました
そして今も自信がありません
より良い名前が分かった場合このクラスはDuplicatedとし、
本リリース(v1.0)の時に削除します