示例#1
0
 private static bool IsDora(HoraPattern hp, InfoForResult ifr)
 {
     foreach (var tartsu in hp.TartsuList)
     {
         if (tartsu.TartsuType == MJUtil.TartsuType.ANSYUN || tartsu.TartsuType == MJUtil.TartsuType.MINSYUN)
         {
             if (ifr.IsDora(tartsu.TartsuStartPaiSyu) ||
                 ifr.IsDora(tartsu.TartsuStartPaiSyu + 1) ||
                 ifr.IsDora(tartsu.TartsuStartPaiSyu + 2))
             {
                 return(true);
             }
         }
         else
         {
             if (ifr.IsDora(tartsu.TartsuStartPaiSyu))
             {
                 return(true);
             }
         }
     }
     return(false);
 }
示例#2
0
        private static int CalcDoraNum(InfoForResult ifr, int[] horaSyu)
        {
            var doraNum = 0;


            foreach (var syu in horaSyu.Select((val, index) => new { val, index }))
            {
                if (syu.val == 0)
                {
                    continue;
                }

                if (ifr.IsDora(syu.index))
                {
                    doraNum += syu.val;
                }
            }
            return(doraNum);
        }
示例#3
0
        private static int CalcDoraNum(HoraPattern hp, InfoForResult ifr)
        {
            //赤ドラはカウントしない
            var doraNum = 0;

            foreach (var tartsu in hp.TartsuList)
            {
                if (tartsu.TartsuType == MJUtil.TartsuType.ANSYUN || tartsu.TartsuType == MJUtil.TartsuType.MINSYUN)
                {
                    if (ifr.IsDora(tartsu.TartsuStartPaiSyu) ||
                        ifr.IsDora(tartsu.TartsuStartPaiSyu + 1) ||
                        ifr.IsDora(tartsu.TartsuStartPaiSyu + 2))
                    {
                        doraNum++;
                    }
                }
                else if (tartsu.TartsuType == MJUtil.TartsuType.ANKO || tartsu.TartsuType == MJUtil.TartsuType.MINKO)
                {
                    if (ifr.IsDora(tartsu.TartsuStartPaiSyu))
                    {
                        doraNum += 3;
                    }
                }
                else if (tartsu.TartsuType == MJUtil.TartsuType.HEAD)
                {
                    if (ifr.IsDora(tartsu.TartsuStartPaiSyu))
                    {
                        doraNum += 2;
                    }
                }
                else if (tartsu.TartsuType == MJUtil.TartsuType.ANKANTSU || tartsu.TartsuType == MJUtil.TartsuType.MINKANTSU)
                {
                    if (ifr.IsDora(tartsu.TartsuStartPaiSyu))
                    {
                        doraNum += 4;
                    }
                }
            }
            return(doraNum);
        }
示例#4
0
        private static int CalcDoraNum(InfoForResult ifr, int[] horaSyu)
        {
            var doraNum = 0;

            
            foreach(var syu in horaSyu.Select( (val,index) => new { val,index } ))
            {
                if(syu.val == 0)
                {
                    continue;
                }

                if (ifr.IsDora(syu.index))
                {
                    doraNum += syu.val;
                }
            }
            return doraNum;
        }
示例#5
0
 private static int CalcDoraNum(HoraPattern hp, InfoForResult ifr)
 {
     //赤ドラはカウントしない
     var doraNum = 0;
     foreach (var tartsu in hp.TartsuList)
     {
         if (tartsu.TartsuType == MJUtil.TartsuType.ANSYUN || tartsu.TartsuType == MJUtil.TartsuType.MINSYUN)
         {
             if (ifr.IsDora(tartsu.TartsuStartPaiSyu) ||
                  ifr.IsDora(tartsu.TartsuStartPaiSyu + 1) ||
                  ifr.IsDora(tartsu.TartsuStartPaiSyu + 2))
             {
                 doraNum++;
             }
         }
         else if (tartsu.TartsuType == MJUtil.TartsuType.ANKO || tartsu.TartsuType == MJUtil.TartsuType.MINKO)
         {
             if (ifr.IsDora(tartsu.TartsuStartPaiSyu))
             {
                 doraNum += 3;
             }
         }
         else if (tartsu.TartsuType == MJUtil.TartsuType.HEAD)
         {
             if (ifr.IsDora(tartsu.TartsuStartPaiSyu))
             {
                 doraNum += 2;
             }
         }
         else if (tartsu.TartsuType == MJUtil.TartsuType.ANKANTSU || tartsu.TartsuType == MJUtil.TartsuType.MINKANTSU)
         {
             if (ifr.IsDora(tartsu.TartsuStartPaiSyu))
             {
                 doraNum += 4;
             }
         }
     }
     return doraNum;
 }
示例#6
0
 private static bool IsDora(HoraPattern hp, InfoForResult ifr)
 {
     foreach (var tartsu in hp.TartsuList)
     {
         if (tartsu.TartsuType == MJUtil.TartsuType.ANSYUN || tartsu.TartsuType == MJUtil.TartsuType.MINSYUN)
         {
             if (ifr.IsDora(tartsu.TartsuStartPaiSyu) ||
                  ifr.IsDora(tartsu.TartsuStartPaiSyu + 1) ||
                  ifr.IsDora(tartsu.TartsuStartPaiSyu + 2))
             {
                 return true;
             }
         }
         else
         {
             if (ifr.IsDora(tartsu.TartsuStartPaiSyu))
             {
                 return true;
             }
         }
     }
     return false;
 }