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); }
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); }
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); }
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; }
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; }
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; }