//玩家胡牌进行结算 小结算 public static void PlayerHuPaiResult(this FiveStarRoom fiveStarRoom, int operateType, params int[] seatIndexs) { fiveStarRoom.InitSamllResultInfo(); for (int i = 0; i < fiveStarRoom.RoomNumber; i++) { fiveStarRoom.SmallPlayerResults[i].SeatIndex = i; //玩家索引 fiveStarRoom.SmallPlayerResults[i].SamllGangPaiScore = fiveStarRoom.FiveStarPlayerDic[i].SmallGangScore; //小局杠牌得分 fiveStarRoom.SmallPlayerResults[i].Hands = fiveStarRoom.FiveStarPlayerDic[i].Hands; //玩家手牌 fiveStarRoom.SmallPlayerResults[i].PengGangInfos = fiveStarRoom.FiveStarPlayerDic[i].OperateInfos; //碰杠操作信息 if (seatIndexs.Contains(i)) { if (FiveStarOperateType.ZiMo == operateType) { fiveStarRoom.PlayerResultCalculateGrade(fiveStarRoom.FiveStarPlayerDic[i].MoEndHand, i, operateType);//算出胡牌得分 } else if (FiveStarOperateType.FangChongHu == operateType) { fiveStarRoom.PlayerResultCalculateGrade(fiveStarRoom.CurrChuPaiCard, i, operateType);//算出胡牌得分 } } } //如果是胡牌人数是0 就要算 查叫 和亮倒赔付 if (seatIndexs.Length == 0) { fiveStarRoom.ChaJiaoLiangDaoPeiFu(); } //分数赋值 for (int j = 0; j < fiveStarRoom.RoomNumber; j++) { fiveStarRoom.FiveStarPlayerDic[j].NowScoreChange(fiveStarRoom.SmallPlayerResults[j].GetScore); //现在的分数要加上胡牌得到分数 fiveStarRoom.SmallPlayerResults[j].GetScore += fiveStarRoom.SmallPlayerResults[j].SamllGangPaiScore; //最终得分要算上小局杠牌得分 fiveStarRoom.SmallPlayerResults[j].NowScore = fiveStarRoom.FiveStarPlayerDic[j].NowScore; //现在的分数 } fiveStarRoom.SamllResultsFollow(seatIndexs); //处理小结算后续事件 }