public boolean isMatch() { if (shuntsuCount < 4) { return false; } // 雀頭が三元牌の場合はfalse Tile janto = this.janto.getTile(); if (janto.getType() == SANGEN) { return false; } if (!isSituationsNull()) { if (janto == generalSituation.getBakaze()) { return false; } if (janto == personalSituation.getJikaze()) { return false; } } boolean isRyanmen = false; for (Shuntsu shuntsu : shuntsuList) { // 鳴いていた場合もfalse if (shuntsu.isOpen()) { return false; } // 両面待ちならそれを保存しておく if (isRyanmen(shuntsu, last)) { isRyanmen = true; } } return isRyanmen; }