Esempio n. 1
0
  /**
   * 両面待ちだったかを判定するため 一つ一つの順子と最後の牌について判定する
   *
   * @param shuntsu 判定したい順子
   * @param last 最後の牌
   * @return 両面待ちだったか
   */
  private boolean isRyanmen(Shuntsu shuntsu, Tile last) {
    // ラスト牌と判定したい順子のtypeが違う場合はfalse
    if (shuntsu.getTile().getType() != last.getType()) {
      return false;
    }

    int shuntsuNum = shuntsu.getTile().getNumber();
    int lastNum = last.getNumber();
    if (shuntsuNum == 2 && lastNum == 1) {
      return true;
    }

    if (shuntsuNum == 8 && lastNum == 9) {
      return true;
    }

    int i = shuntsuNum - lastNum;
    if (i == 1 || i == -1) {
      return true;
    }

    return false;
  }