Ejemplo n.º 1
0
 internal override void StartTableOk(int[] cardHand, Message msg, string[] nickPlay)
 {
     base.StartTableOk(cardHand, msg, nickPlay);
     ListCardOfMe.Clear();
     cardTable.XoaHetCMNBaiTrenBan();
     AutoChooseCard.CardTrenBan.Clear();
     nickFire = "";
     for (int i = 0; i < nickPlay.Length; i++)
     {
         TLMNPlayer pl = (TLMNPlayer)GetPlayerWithName(nickPlay [i]);
         if (pl != null)
         {
             if (pl.SitOnClient == 0)
             {
                 pl.CardHand.ChiaBaiTienLen(AutoChooseCard.SortArrCard(cardHand), true);
                 ListCardOfMe.AddRange(cardHand);
             }
             else
             {
                 pl.CardHand.ChiaBaiTienLen(cardHand, false);
                 pl.SetNumCard(13);
             }
         }
     }
 }
Ejemplo n.º 2
0
    internal override void OnFireCard(string nick, string turnName, int[] card)
    {
        base.OnFireCard(nick, turnName, card);
        AutoChooseCard.CardTrenBan.Clear();
        AutoChooseCard.CardTrenBan.AddRange(card);
        nickFire = nick;
        TLMNPlayer plTurn = (TLMNPlayer)GetPlayerWithName(nick);

        if (plTurn != null)
        {
            plTurn.SetTurn(0);
            if (nick.Equals(ClientConfig.UserInfo.UNAME))
            {
                for (int i = 0; i < card.Length; i++)
                {
                    ListCardOfMe.Remove(card [i]);
                }
                cardTable.MinhDanh(card, plTurn.CardHand, () => {
                    ((TLMNPlayer)playerMe).CardHand.SortCardActive();
                    ((TLMNPlayer)playerMe).CardHand.ResetCard();
                });
            }
            else
            {
                cardTable.SinhCardGiuaCMNBan(card, plTurn.CardHand.transform);
                int numC = ((TLMNPlayer)plTurn).NumCard - card.Length;
                ((TLMNPlayer)plTurn).SetNumCard(numC);
            }
        }
        else
        {
            cardTable.SinhCardGiuaCMNBan(card, ((TLMNPlayer)playerMe).CardHand.transform);
        }

        if (turnName.ToLower().Equals(ClientConfig.UserInfo.UNAME.ToLower()))
        {
            SetActiveButton(false, false, true, true);
            if (AutoChooseCard.CardTrenBan.Count > 0)
            {
                int[] result = AutoChooseCard.ChooseCard(ListCardOfMe.ToArray());
                ((TLMNPlayer)playerMe).CardHand.SetChooseCard(result);
                //if (result == null) {//sua
                //    playerMe.SetTurn(true, 5);
                //    SetActiveButton(false, false, false, true);
                //    Invoke("KhongDanhDuocThiBo", 5);
                //} else {
                //    if (result.Length <= 0) {
                //        pl.SetTurn(true, 5);
                //        SetActiveButton(false, false, false, true);
                //        Invoke("KhongDanhDuocThiBo", 5);
                //    }
                //}
            }
        }
    }
Ejemplo n.º 3
0
    internal override void AllCardFinish(string nick, int[] card)
    {
        base.AllCardFinish(nick, card);
        TLMNPlayer pl = (TLMNPlayer)GetPlayerWithName(nick);

        if (pl != null)
        {
            pl.CardHand.SetCardKhiKetThucGame(AutoChooseCard.SortArrCard(card));
            pl.SetNumCard(0);
        }
    }
Ejemplo n.º 4
0
    void InitPlayerTLMN()
    {
        for (int i = 0; i < ListPlayer.Count; i++)
        {
            TLMNPlayer pl = (TLMNPlayer)ListPlayer[i];
            pl.CardHand.CardCount = 13;
            switch (pl.SitOnClient)
            {
            case 0:
                pl.CardHand.isSmall      = false;
                pl.CardHand.isTouched    = true;
                pl.CardHand.align_Anchor = Align_Anchor.CENTER;
                pl.CardHand.MaxWidth     = 800;
                pl.SetPositionChatLeft(true);
                pl.CardHand.Init();
                pl.CardHand.SetInputChooseCard();
                break;

            case 1:
                pl.CardHand.isSmall      = true;
                pl.CardHand.isTouched    = false;
                pl.CardHand.align_Anchor = Align_Anchor.RIGHT;
                pl.CardHand.MaxWidth     = 500;
                pl.SetPositionChatLeft(false);
                pl.SetPositionChatAction(Align_Anchor.RIGHT);
                pl.CardHand.Init();
                break;

            case 2:
                pl.CardHand.isSmall      = true;
                pl.CardHand.isTouched    = false;
                pl.CardHand.align_Anchor = Align_Anchor.LEFT;
                pl.CardHand.MaxWidth     = 500;
                pl.SetPositionChatLeft(true);
                pl.SetPositionChatAction(Align_Anchor.BOT);
                pl.CardHand.Init();
                break;

            case 3:
                pl.CardHand.isSmall      = true;
                pl.CardHand.isTouched    = false;
                pl.CardHand.align_Anchor = Align_Anchor.LEFT;
                pl.CardHand.MaxWidth     = 500;
                pl.SetPositionChatLeft(true);
                pl.SetPositionChatAction(Align_Anchor.LEFT);
                pl.CardHand.Init();
                break;
            }
        }
    }
Ejemplo n.º 5
0
 internal override void InfoCardPlayerInTbl(Message message, string turnName, int time, sbyte numP)
 {
     base.InfoCardPlayerInTbl(message, turnName, time, numP);
     try {
         for (int i = 0; i < numP; i++)
         {
             string     nameP   = message.reader().ReadUTF();
             sbyte      numCard = message.reader().ReadByte();
             TLMNPlayer pl      = (TLMNPlayer)GetPlayerWithName(nameP);
             if (pl != null)
             {
                 pl.IsPlaying = (true);
                 int[] temp = new int[numCard];
                 for (int j = 0; j < temp.Length; j++)
                 {
                     temp [j] = 52;
                 }
                 pl.CardHand.SetCardWithId52();
                 pl.CardHand.SetActiveCardHand(true);
                 pl.SetNumCard(numCard);
             }
         }
         GameControl.instance.TimerTurnInGame = time;
         BasePlayer plTurn = GetPlayerWithName(turnName);
         if (plTurn != null)
         {
             plTurn.SetTurn(time);
         }
         if (turnName.Equals(ClientConfig.UserInfo.UNAME))
         {
             SetActiveButton(false, false, true, true);
         }
         else
         {
             SetActiveButton(false, false, false, false);
         }
     } catch (Exception e) {
         Debug.LogException(e);
     }
 }
Ejemplo n.º 6
0
    public void click()
    {
        if (player.getName().Equals(BaseInfo.gI().mainInfo.nick))
        {
            int len = 0;
            if (arrayCard == null)
            {
                return;
            }
            if (arrayCard.getArrCardChoose() != null)
            {
                len = arrayCard.getArrCardChoose().Length;
            }

            if (len != 0)
            {
                if (card.isChoose)
                {
                }
                else
                {
                    int value1 = TLMNChooseCard.getValue(card.getId());
                    int value2 = TLMNChooseCard.getValue(arrayCard.getArrCardChoose()[len - 1]);
                    if (!(value1 == value2) &&
                        !(value1 == value2 + 1) &&
                        !(RTL.getCardInfo(card.getId())[1] == RTL
                          .getCardInfo(arrayCard.getArrCardChoose()[len - 1])[1] - 1))
                    {
                        int valuve3 = RTL.getCardInfo(arrayCard.getArrCardChoose()[0])[1];
                        if (!(value1 == valuve3) && !(value1 == valuve3 + 1) && !(value1 == valuve3 - 1))
                        {
                            if (!TLMNChooseCard.issanh2(TLMNPlayer.sort(RTL.insertArray(arrayCard.getArrCardChoose(),
                                                                                        card.getId()))) &&
                                !TLMNChooseCard
                                .isdoi(RTL.insertArray(arrayCard.getArrCardChoose(), card.getId())) &&
                                !TLMNChooseCard
                                .issam(RTL.insertArray(arrayCard.getArrCardChoose(), card.getId())))
                            {
                                for (int i = 0; i < arrayCard.getSize(); i++)
                                {
                                    arrayCard.getCardbyPos(i).setChoose(false);
                                }
                                len = 0;
                            }
                        }
                    }

                    if (tlmnStage != null && tlmnStage.tableArrCard != null && arrayCard.getArrCardChoose() != null &&
                        arrayCard.getArrCardChoose().Length > 0)
                    {
                        if (!TLMNChooseCard.issanh2(TLMNPlayer.sort(RTL.insertArray(arrayCard.getArrCardChoose(),
                                                                                    card.getId()))) &&
                            !TLMNChooseCard.isdoi(RTL.insertArray(arrayCard.getArrCardChoose(), card.getId())) &&
                            !TLMNChooseCard.issam(RTL.insertArray(arrayCard.getArrCardChoose(), card.getId())))
                        {
                            for (int i = 0; i < arrayCard.getSize(); i++)
                            {
                                arrayCard.getCardbyPos(i).setChoose(false);
                            }
                            len = 0;
                        }
                    }
                }
            }

            card.setChoose(!card.isChoose);

            if (tlmnStage != null && tlmnStage.tableArrCard != null)
            {
                if (tlmnStage.tableArrCard.Length > 0 && len == 0)
                {
                    int indexCardChoose = -1;
                    if (arrayCard.getArrCardChoose() == null)
                    {
                        return;
                    }
                    if (arrayCard.getArrCardChoose().Length == 1)
                    {
                        for (int i = 0; i < arrayCard.getArrCardAll().Length; i++)
                        {
                            if (arrayCard.getArrCardAll()[i] == card.getId())
                            {
                                indexCardChoose = i;
                            }
                        }
                        if (indexCardChoose != -1)
                        {
                            int[] index = TLMNChooseCard.getArrIndexCardNhac(indexCardChoose,
                                                                             arrayCard.getArrCardAll(), tlmnStage.tableArrCard);
                            if (index != null)
                            {
                                for (int i = 0; i < index.Length; i++)
                                {
                                    Card cardNhac = arrayCard.getCardbyPos(index[i]);
                                    if (cardNhac != null)
                                    {
                                        cardNhac.setChoose(true);
                                    }
                                }
                            }
                        }
                    }
                }
            }
            else
            {
                if (arrayCard.getArrCardChoose() == null)
                {
                    return;
                }
                if (arrayCard.getArrCardChoose().Length == 2 && card.isChoose)
                {
                    int[] index = TLMNChooseCard.getArrIndexCardNhac(arrayCard.getArrCardChoose(),
                                                                     arrayCard.getArrCardAll());
                    if (index != null)
                    {
                        for (int i = 0; i < index.Length; i++)
                        {
                            Card cardNhac = arrayCard.getCardbyPos(index[i]);
                            if (cardNhac != null)
                            {
                                cardNhac.setChoose(true);
                            }
                        }
                    }
                    if (index != null && index.Length < 2)
                    {
                        if (!TLMNChooseCard.issanh2(arrayCard.getArrCardChoose()))
                        {
                            for (int i = 0; i < arrayCard.getSize(); i++)
                            {
                                arrayCard.getCardbyPos(i).setChoose(false);
                            }
                            card.setChoose(!card.isChoose);
                        }
                    }
                }
                else if (arrayCard.getArrCardChoose().Length >= 2 && card.isChoose)
                {
                    if (!TLMNChooseCard.issanh2(arrayCard.getArrCardChoose()))
                    {
                        for (int i = 0; i < arrayCard.getSize(); i++)
                        {
                            arrayCard.getCardbyPos(i).setChoose(false);
                        }
                        card.setChoose(!card.isChoose);
                    }
                }
                else if (arrayCard.getArrCardChoose().Length >= 2 && !card.isChoose)
                {
                    // int indexCardChoose = -1;
                    // for (int i = 0; i < arrayCard.getArrCardAll().Length;
                    // i++) {
                    // if (arrayCard.getArrCardAll()[i] == card.getId()) {
                    // indexCardChoose = i;
                    // }
                    // }
                    // if (indexCardChoose != -1) {
                    // for (int i = indexCardChoose; i <
                    // arrayCard.getArrCardAll().Length; i++) {
                    // arrayCard.getCardbyPos(i).setChoose(false);
                    // }
                    // }
                }
            }
        }
    }