示例#1
0
 public void SendMJsonObject(MJsonMessageDahai jsonmsg)
 {
     SendMessageToServer(MjsonObjectToString(jsonmsg));
 }
示例#2
0
        public void ThinkOnMyTsumo(int mypositionId, string tsumopai, List<Tehai> tehais, List<Kawa> kawas,
                                 Field field, List<InfoForResult> ifrs, Yama yama)
        {
            var myTehai = tehais[mypositionId];

            if (myTehai.IsHora())
            {
                var result = CalcHora(mypositionId, tsumopai);

                if (result.yakuResult.HasYakuExcludeDora)
                {
                    if (DisplayHora)
                    {
                        Debug.WriteLine("on tsumo");
                        Debug.WriteLine(myTehai.ToString());
                        result.yakuResult.yakus.ForEach(e => Debug.Write(e[0] + ","));
                        Debug.WriteLine("");
                        Debug.WriteLine("--------------------------------------------------------------------------------");
                    }

                    SendHora(new MJsonMessageHora(mypositionId, mypositionId, tsumopai));
                    CalcHora(mypositionId, tsumopai);

                    return;
                }

            }

            if (ifrs[mypositionId].IsReach)
            {
                SendDahai(new MJsonMessageDahai(mypositionId, tsumopai, true));
                return;
            }

            var dahaiPaiString = CalcMinShantenPai(mypositionId, tehais, kawas, field,yama);

            if (CanReach(tehais[mypositionId],ifrs[mypositionId],yama))
            {

                MessagebufferForReach = new MJsonMessageDahai(mypositionId,dahaiPaiString, dahaiPaiString == tsumopai);
                SendReach(new MJsonMessageReach(mypositionId));
                return;
            }

            SendDahai(new MJsonMessageDahai(mypositionId, dahaiPaiString, dahaiPaiString == tsumopai));
        }
示例#3
0
 public void ChangeState(MJsonMessageDahai sentMessage, bool isReachDahai)
 {
     if (isReachDahai)
     {
         gameState = AfterReachDahaiState.GetInstance();
     }
     else
     {
         gameState = AfterDahiState.GetInstance();
     }
     SetLastActor(sentMessage.actor);
     messageList.Clear();
 }