Exemplo n.º 1
0
    public override void setTurn(string nick, Message message)
    {
        base.setTurn(nick, message);
        bool xepbai = true, bocbai = false, anbai = false, haphom = false, danhbai = false;

        anbai  = false;
        bocbai = true;
        if (!isStart)
        {
            return;
        }

        if (nick.ToLower()
            .Equals(BaseInfo.gI().mainInfo.nick.ToLower()))
        {
            if (players[0].cardHand.getSize() < 10)
            {
                bocbai  = true;
                danhbai = false;
                // muiTenBoc.setVisible(true);
            }
            else
            {
                bocbai  = false;
                danhbai = true;
                // muiTenBoc.setVisible(false);
            }
            if (cardDrop[0].getSize() == 4)
            {
                // btn_ha_phom.setDisabled(true);
                BaseInfo.gI().isHaPhom = true;
                haphom   = true;
                danhbai  = false;
                anbai    = false;
                bocbai   = false;
                xepbai   = true;
                isHaphom = true;
            }
            else
            {
                int[][] cardPhoms = RTL.getCardFromPlayer(
                    players[0].cardHand.getArrCardAll(),
                    players[0].getEatCard(), preCard);

                if (preCard != -1 && cardPhoms != null)
                {
                    // cho phep an card
                    int arrPhom = -1;
                    for (int i = 0; i < cardPhoms.Length; i++)
                    {
                        for (int j = 0; j < cardPhoms[i].Length; j++)
                        {
                            if (preCard == cardPhoms[i][j])
                            {
                                arrPhom = i;
                                break;
                            }
                        }
                        if (arrPhom != -1)
                        {
                            break;
                        }
                    }

                    if (arrPhom != -1)
                    {
                        for (int j = 0; j < cardPhoms[arrPhom].Length; j++)
                        {
                            Card card = players[0].cardHand
                                        .getCardbyID(cardPhoms[arrPhom][j]);
                            if (card != null)
                            {
                                card.setChoose(true);
                            }
                        }
                    }

                    for (int i = 0; i < 4; i++)
                    {
                        if (CheckInArr(preCard, cardDrop[i].getArrCardAll()))
                        {
                            break;
                        }
                    }
                    anbai = true;
                }
            }
        }
        else
        {
            bocbai  = false;
            danhbai = false;
        }

        if (players[0].isPlaying() && !BaseInfo.gI().isView)
        {
            if (isHaPhomRoi)
            {
                showButton(xepbai, bocbai, anbai, haphom, danhbai);
            }
            else
            {
                showButton(xepbai, bocbai, anbai, false, danhbai);
            }
        }
    }
Exemplo n.º 2
0
    public override void onInfome(Message message)
    {
        try {
            bool isXepBai  = false;
            bool isBocBai  = false;
            bool isAnBai   = false;
            bool isHaBai   = false;
            bool isDanhBai = false;
            disableAllBtnTable();
            isStart = true;
            players[0].setPlaying(true);

            int   sizeCardHand = message.reader().ReadByte();
            int[] cardHand     = new int[sizeCardHand];
            for (int i = 0; i < sizeCardHand; i++)
            {
                cardHand[i] = message.reader().ReadByte();
            }
            players[0].setCardHand(cardHand, false, false, false);

            btn_xepbai.gameObject.SetActive(true);
            isXepBai = true;

            int sizeCardRub = message.reader().ReadByte();
            for (int j = 0; j < sizeCardRub; j++)
            {
                this.cardDrop[0].addCard(message.reader().ReadByte());
            }
            setSoBaiNoc(totalCardNoc + 4 - sizeCardRub);
            int sizeWin = message.reader().ReadByte();
            for (int j = 0; j < sizeWin; j++)
            {
                players[0].onEatCard(message.reader().ReadByte());
            }

            int sizePhom = message.reader().ReadByte();
            if (sizePhom > 0)
            {
                int[] phom = new int[sizePhom];
                for (int j = 0; j < sizePhom; j++)
                {
                    phom[j] = message.reader().ReadByte();
                }
                players[0].setCardPhom(phom);
            }

            String turnvName = message.reader().ReadUTF();
            int    turnvTime = message.reader().ReadInt();
            setTurn(turnvName, turnvTime);
            if (turnName.Equals(BaseInfo.gI().mainInfo.nick))
            {
                if (cardDrop[0].getSize() == 4)
                {
                    BaseInfo.gI().isHaPhom = true;
                    isHaBai = true;
                    // btn_ha_phom.setDisabled(true);
                }
                else
                {
                    if (players[0].cardHand.getSize() < 10)
                    {
                        // setVisibleButtonBoc(true);
                        isBocBai = true;
                    }
                    else
                    {
                        // btn_danhbai.setDisabled(true);
                        isDanhBai = true;
                    }
                    int[][] cardPhoms = RTL.getCardFromPlayer(
                        players[0].cardHand.getArrCardAll(),
                        players[0].getEatCard(), preCard);
                    if (preCard != -1 && cardPhoms != null)  // cho
                    // phep
                    // an
                    // card
                    {
                        int arrPhom = -1;
                        for (int i = 0; i < cardPhoms.Length; i++)
                        {
                            for (int j = 0; j < cardPhoms[i].Length; j++)
                            {
                                if (preCard == cardPhoms[i][j])
                                {
                                    arrPhom = i;
                                    break;
                                }
                            }
                            if (arrPhom != -1)
                            {
                                break;
                            }
                        }
                        for (int j = 0; j < cardPhoms[arrPhom].Length; j++)
                        {
                            Card card = players[0].cardHand
                                        .getCardbyID(cardPhoms[arrPhom][j]);
                            if (card != null)
                            {
                                card.setChoose(true);
                            }
                        }

                        isAnBai  = true;
                        isBocBai = true;
                    }
                    else
                    {
                    }
                }
            }
            else
            {
                // disableAllBtnTable();
            }
            showButton(isXepBai, isBocBai, isAnBai, isHaBai, isDanhBai);
        } catch (Exception e) {
            // TODO: handle exception
        }
    }
Exemplo n.º 3
0
    internal override void SetTurn(string nick, Message message)
    {
        base.SetTurn(nick, message);
        try {
            PhomPlayer pl = (PhomPlayer)GetPlayerWithName(nick);
            bool       bocbai = false, anbai = false, haphom = false, danhbai = false;
            if (nick.Equals(ClientConfig.UserInfo.UNAME) || string.IsNullOrEmpty(nick))
            {
                anbai  = false;
                bocbai = true;
                if (playerMe != null)
                {
                    int[] temp = ((PhomPlayer)playerMe).cardTaLaManager.GetCardIdCardHand();
                    if (temp.Length < 10)
                    {
                        bocbai  = cardDanhTruocDo != 0;
                        danhbai = cardDanhTruocDo == 0;
                    }
                    else
                    {
                        bocbai  = false;
                        danhbai = true;
                    }
                    if (pl.cardTaLaManager.NumCardFire() >= 4)
                    {
                        haphom  = true;
                        danhbai = false;
                        anbai   = false;
                        bocbai  = false;
                    }
                    else
                    {
                        ArrayCard cardMe    = ((PhomPlayer)playerMe).cardTaLaManager.ArrayCardHand;
                        int[][]   cardPhoms = RTL.getCardFromPlayer(temp, ListIdCardAn.ToArray(), cardDanhTruocDo);
                        if (cardPhoms != null)
                        {
                            int arrPhom = -1;
                            for (int i = 0; i < cardPhoms.Length; i++)
                            {
                                for (int j = 0; j < cardPhoms[i].Length; j++)
                                {
                                    if (cardDanhTruocDo == cardPhoms[i][j])
                                    {
                                        arrPhom = i;
                                        break;
                                    }
                                }
                                if (arrPhom != -1)
                                {
                                    break;
                                }
                            }

                            if (arrPhom != -1)
                            {
                                for (int j = 0; j < cardPhoms[arrPhom].Length; j++)
                                {
                                    Card c = cardMe
                                             .GetCardbyIDCard(cardPhoms[arrPhom][j]);
                                    if (c != null)
                                    {
                                        c.IsChoose = (true);
                                    }
                                }
                            }
                            anbai = true;
                        }
                    }
                }
            }

            SetActiveButton(false, false, danhbai, bocbai, anbai, haphom, true);
        } catch (Exception e) {
            Debug.LogException(e);
        }
    }