コード例 #1
0
        public static PointResult AnalyzePoint(YakuResult yakuResult)
        {
            PointResult pointResult = new PointResult();

            int bp = calcBasicPoint(yakuResult.Fu, yakuResult.Han, yakuResult.IsYakuman);


            if (yakuResult.IsTsumo)
            {//tsumo
                if (yakuResult.IsOya)
                {
                    pointResult.ChildOutcome = ceilAt100(bp * 2);
                    pointResult.HoraPlayerIncome = pointResult.ChildOutcome * 3;
                }
                else
                {
                    pointResult.ChildOutcome = ceilAt100(bp);
                    pointResult.OyaOutcome = ceilAt100(bp * 2);
                    pointResult.HoraPlayerIncome = pointResult.ChildOutcome * 2 + pointResult. OyaOutcome;
                }
            }
            else
            {//ron
                if (yakuResult.IsOya)
                {
                    pointResult.HoraPlayerIncome = ceilAt100(bp * 6);
                }
                else
                {
                    pointResult.HoraPlayerIncome = ceilAt100(bp * 4);
                }
            }

            return pointResult;
        }
コード例 #2
0
        public static PointResult AnalyzePoint(YakuResult yakuResult)
        {
            PointResult pointResult = new PointResult();

            int bp = calcBasicPoint(yakuResult.Fu, yakuResult.Han, yakuResult.IsYakuman);


            if (yakuResult.IsTsumo)
            {//tsumo
                if (yakuResult.IsOya)
                {
                    pointResult.ChildOutcome     = ceilAt100(bp * 2);
                    pointResult.HoraPlayerIncome = pointResult.ChildOutcome * 3;
                }
                else
                {
                    pointResult.ChildOutcome     = ceilAt100(bp);
                    pointResult.OyaOutcome       = ceilAt100(bp * 2);
                    pointResult.HoraPlayerIncome = pointResult.ChildOutcome * 2 + pointResult.OyaOutcome;
                }
            }
            else
            {//ron
                if (yakuResult.IsOya)
                {
                    pointResult.HoraPlayerIncome = ceilAt100(bp * 6);
                }
                else
                {
                    pointResult.HoraPlayerIncome = ceilAt100(bp * 4);
                }
            }

            return(pointResult);
        }