順子 (Shuntsu)

概要

public class Shuntsu
extends java.lang.Object
implements MahjongMentsu

順子に関するクラスです 暗順子と明順子の両方を扱います

コンストラクタ

public Shuntsu(

boolean isOpen,
MahjongTile identifierTile)
throws IllegalShuntsuIdentifierException

順子であることがわかっている場合に利用します

パラメータ:

TypeNameDescription
booleanisOpen明順子ならばtrue 暗順子ならばfalse
MahjongTileidentifierTile順子の組の二番目

例外:

IllegalShuntsuIdentifierException
identifierTileに順子として考えられない牌を入力した場合投げられます
例:M1(1萬)などの数牌の端の牌やCHN(中)などの字牌

public Shuntsu(

boolean isOpen,
MahjongTile tile1,
MahjongTile tile2,
MahjongTile tile3)

順子であるかの判定も伴います

パラメータ:

TypeNameDescription
booleanisOpen明順子ならばtrue 暗順子ならばfalse
MahjongTiletile11枚目の牌
MahjongTiletile22枚目の牌
MahjongTiletile33枚目の牌

メソッド

public static boolean check(

MahjongTile tile1,
MahjongTile tile2,
MahjongTile tile3)
順子かどうかの判定を行ないます

パラメータ:

TypeNameDescription
MahjongTiletile11枚目の牌
MahjongTiletile22枚目の牌
MahjongTiletile33枚目の牌

戻り値:

順子であればtrue 順子でなければfalse

public MahjongTile getTile()

順子の牌の2番目を返します
面子として成立してなければnullを返します
例:345の順子の場合は4の牌を返します

定義:

MahjongMentsu インタフェース内のgetTile

戻り値:

順子の牌の2番目の牌を返します

public boolean getIsMentsu()

順子として成立しているか

定義:

MahjongMentsu インタフェース内の getIsMentsu

戻り値:

面子として成立していればtrue

public boolean getIsOpen()

食い下がりが適用されるか

定義:

MahjongMentsu インタフェース内のgetIsOpen

戻り値:

明順子であればtrue 暗順子であればfalse

public boolean equals(

java.lang.Object o)

オーバーライド:

equals クラス内 java.lang.Object

public int hashCode()

オーバーライド:

hashCode クラス内 java.lang.Object