private List <Mentsu> findShuntsuCandidate() { List <Mentsu> resultList = new List <Mentsu>(4); //字牌などはチェックしないので26まで for (int j = 1; j < 26; j++) { // whileにしたのは一盃口などがあるから while (handStocks[j - 1] > 0 && handStocks[j] > 0 && handStocks[j + 1] > 0) { Shuntsu shuntsu = new Shuntsu( false, Tile.valueOf(j - 1), Tile.valueOf(j), Tile.valueOf(j + 1) ); //3つ並んでいても順子であるとは限らないので調べる if (shuntsu.isMentsu()) { resultList.Add(shuntsu); handStocks[j - 1]--; handStocks[j]--; handStocks[j + 1]--; } } } return(resultList); }
public bool equals(Object o) { if (this == o) { return(true); } if (!(o is Shuntsu)) { return(false); } Shuntsu shuntsu = (Shuntsu)o; if (isMentsu_b != shuntsu.isMentsu_b) { return(false); } if (isOpen_b != shuntsu.isOpen_b) { return(false); } return(identifierTile == shuntsu.identifierTile); }