protected override bool Test(ICollection <YakuValue> result, ITiles tiles, IGroups groups, YakuEnvironment env) { int dora = tiles.Count(t => t.IsRedDora); if (dora == 0) { return(false); } result.Add(YakuValue.FromFanValue(this, "赤宝牌", 0, dora)); return(true); }
protected override bool Test(ICollection <YakuValue> result, ITiles tiles, IGroups groups, YakuEnvironment env) { if (!TestRon(tiles, env)) { return(true); } if (tiles.Count(t => t.BaseTile == tiles.Added.BaseTile) == 2) { result.Add(YakuValue.FromFullYaku(this, "国士无双十三面", 1)); } else { result.Add(YakuValue.FromFullYaku(this, "国士无双", 1)); } return(true); }