Exemplo n.º 1
0
 void GetCardNoc(ArrayCard ArrayCardHand, int idCard, bool isTao)
 {
     if (ArrayCardHand.listCardHand[1].ID == 52)
     {
         ArrayCardHand.listCardHand[1].SetCardWithId(idCard);
     }
     else
     {
         Card c = GetCardOnArrayCard(ArrayCardHand);
         //if (isTao) {
         c.SetCardWithId(idCard);
         c.transform.localPosition = ArrayCardHand.GetPositonCardActive();
         c.SetDarkCard(false);
         c.SetTouched(isTao);
         c.IsChoose = false;
         //} else
         //	c.SetCardWithId(53);
         //Vector3 vt = ArrayCardHand.POS_CENTER;//ArrayCardHand.transform.InverseTransformPoint(ArrayCardHand.vtPosCenter);
         Vector3 vt = ArrayCardHand.transform.InverseTransformPoint(dealerPos.position);
         StartCoroutine(c.MoveFrom(vt, 0.4f, 0, () => {
             //ArrayCardHand.ResetCard(true);
             Card ctemp = new Card();
             ctemp      = c;
             ArrayCardHand.listCardHand.Remove(c);
             ArrayCardHand.listCardHand.Add(ctemp);
             ArrayCardHand.SortCardActive(true, 0.2f);
         }));
     }
     if (isTao)
     {
         TYPE_CARD type = TypeCardMauBinh.GetTypeCardMauBinh(list_my_card.ToArray());
         Debug.LogError("Kieu bai cua toi" + type);
     }
 }
Exemplo n.º 2
0
    internal override void StartTableOk(int[] cardHand, Message msg, string[] nickPlay)
    {
        base.StartTableOk(cardHand, msg, nickPlay);
        for (int i = 0; i < ListPlayer.Count; i++)
        {
            ((LiengPlayer)ListPlayer[i]).MoneyChip = 0;
        }
        groupMoneyTo.OnHide();
        MinToMoney = GameConfig.BetMoney * 2;
        MaxToMoney = ClientConfig.UserInfo.CASH_FREE - MinToMoney;

        SumChipControl.MoneyChip = 0;
        tongMoney = 0;

        //Debug.LogError("Card Hand   " + cardHand.Length);
        int[] ccc = new int[2];
        int   ii  = 0;

        for (int i = 0; i < cardHand.Length; i++)
        {
            //Debug.LogError("Card Hand  i " + cardHand[i]);
            if (cardHand[i] >= 0 && cardHand[i] < 52)
            {
                ccc[ii] = cardHand[i];
                ii++;
            }
        }
        list_my_card.Clear();
        list_my_card.AddRange(ccc);
        for (int i = 0; i < ListPlayer.Count; i++)
        {
            LiengPlayer player = (LiengPlayer)ListPlayer[i];
            if (player != null)
            {
                player.MoneyChip = GameConfig.BetMoney;
                player.MoveChip(GameConfig.BetMoney, SumChipControl.transform.position);
                if (player.SitOnClient == 0)
                {
                    player.CardHand.SetAllDark(true);
                    //player.SetTypeCard(PokerCard.getTypeOfCardsPoker(list_my_card.ToArray()));
                    //player.SetTypeCard(
                    TYPE_CARD type  = TypeCardMauBinh.GetTypeCardMauBinh(list_my_card.ToArray());
                    int       type2 = PokerCard.getTypeOfCardsPoker(list_my_card.ToArray());

                    //Debug.LogError("11111111111Type card:  " + type);
                    //Debug.LogError("22222222222Type card:  " + type2);

                    player.CardHand.ChiaBaiTienLen(ccc, true);
                    player.CardHand.SetTouchCardHand(true);
                }
                else
                {
                    player.CardHand.ChiaBaiTienLen(new int[] { 52, 52 }, true);
                }
            }
            tongMoney += GameConfig.BetMoney;
        }
        SumChipControl.OnShow();
        SumChipControl.MoneyChip = tongMoney;
    }
Exemplo n.º 3
0
    /// <summary>
    /// Lấy các nhóm id theo giá trị, rồi sắp xếp theo độ dài mảng
    /// </summary>
    static List <int[]> GetGroupIDByValueInArray(int[] arr, TYPE_CARD type)
    {
        var          result = arr.GroupBy(x => GetValue(x));
        List <int[]> list   = new List <int[]>();

        foreach (var item in result)
        {
            List <int> temp = new List <int>();
            foreach (var item2 in item)
            {
                temp.Add(item2);
            }
            if (temp.Count > 1)
            {
                temp.Sort();
                list.Add(temp.ToArray());
            }
        }
        if (type == TYPE_CARD.THU)
        {
            list.Sort(delegate(int[] arr1, int[] arr2) {
                return(GetValue(arr1[0]).CompareTo(GetValue(arr2[0])));
            });
        }
        else
        {
//            list.OrderBy(r => r.Length).ThenBy(r1 => r1.Length);
            list.Sort(delegate(int[] arr1, int[] arr2) {
                return(GetValue(arr1.Length).CompareTo(GetValue(arr2.Length)));
            });
        }
        return(list);
    }
Exemplo n.º 4
0
    /// <summary>
    /// Kiem tra xem arr1 > arr2 ? true : false
    /// </summary>
    public static bool IsBigger2Array(int[] arr1, int[] arr2)
    {
        TYPE_CARD typeCard1 = GetTypeCardMauBinh(arr1);
        TYPE_CARD typeCard2 = GetTypeCardMauBinh(arr2);

        if (typeCard1 > typeCard2)
        {
            return(true);
        }
        if (typeCard1 < typeCard2)
        {
            return(false);
        }
        switch (typeCard1)
        {
        case TYPE_CARD.MAU_THAU:
        case TYPE_CARD.THUNG:
        case TYPE_CARD.SANH:
        case TYPE_CARD.THUNG_PHA_SANH:
            return(IsBig2_MauThau_Thung_Sanh(arr1, arr2));

        case TYPE_CARD.DOI:
        case TYPE_CARD.SAM_CO:
        case TYPE_CARD.CU_LU:
        case TYPE_CARD.TU_QUY:
            return(IsBig_Doi_Thu_SamCo_CuLu_TuQuy(arr1, arr2, typeCard1));

        case TYPE_CARD.THU:
            return(IsBig_Doi_Thu_SamCo_CuLu_TuQuy(arr1, arr2, typeCard1));
        }

        return(false);
    }
Exemplo n.º 5
0
    static int[] GetArryDoi(int[] cards)
    {
        int[]     listResult = SortDescendingArrCard(cards);
        TYPE_CARD type       = GetTypeCardMauBinh(new int[] { listResult[0], listResult[1], listResult[2], listResult[3], listResult[4] });

        if (type == TYPE_CARD.DOI)
        {
            return(listResult);
        }
        return(null);
    }
Exemplo n.º 6
0
    public static TYPE_CARD GetTypeCardMauBinh(int[] arrayCard)
    {
        arrayCard = SortArrCard(arrayCard);
        TYPE_CARD typeCard = TYPE_CARD.MAU_THAU;

        typeCard = CheckGroup(arrayCard);
        if (typeCard == TYPE_CARD.MAU_THAU)
        {
            typeCard = CheckThungSanh(arrayCard);
        }
        //Debug.LogError(typeCard);
        return(typeCard);
    }
Exemplo n.º 7
0
    static bool IsBig_Doi_Thu_SamCo_CuLu_TuQuy(int[] array1, int[] array2, TYPE_CARD type)
    {
        List <int[]> list1 = GetGroupIDByValueInArray(array1, type);
        List <int[]> list2 = GetGroupIDByValueInArray(array2, type);

        int[] arr  = list1[list1.Count - 1];
        int   max1 = GetValue(arr[arr.Length - 1]) * 10 + GetType(arr[arr.Length - 1]);

        int[] arr2 = list2[list2.Count - 1];
        int   max2 = GetValue(arr2[arr2.Length - 1]) * 10 + GetType(arr2[arr2.Length - 1]);

        if (max1 > max2)
        {
            return(true);
        }
        return(false);
    }
Exemplo n.º 8
0
    public static int IsThangTrang(int[] arr)
    {
        #region Rong cuon
//		public static string[] STR_THANG_TRANG = new string[6] {
//			"Rồng Cuốn",
//			"Sảnh Rồng",
//			"5 Đôi 1 Sám",
//			"Lục Phế Bôn",
//			"3 Thùng",
//			"3 Sảnh"
//		};
        int typeC    = GetType(arr[0]);
        int demthung = 0;
        for (int i = 1; i < arr.Length; i++)
        {
            if (typeC == GetType(arr[i]))
            {
                demthung++;
            }
        }
        //1-2-3-4-5-6-7-8-9-10-J-Q-K
        int demsanh = 0;
        for (int i = 0; i < 13; i++)
        {
            if (ConstanceValue(arr, i + 3))
            {
                demsanh++;
            }
        }

        if (demsanh == 13)
        {
            if (demthung == 12)
            {
                return(0);//rong cuon
            }
            else
            {
                return(1);//sanh rong
            }
        }
        else
        {
            if (demthung == 12) //check 5doi 1 sam
            {
                return(2);      //Dong Hoa
            }
        }


        #endregion
        #region 6 DOI
        List <int[]> list = GetGroupIDByValueInArray(arr, TYPE_CARD.MAU_THAU);
        if (list.Count == 6)
        {
            return(3);//luc phe bon
        }
        #endregion
        #region 3 Sanh, 3 Thung
        int[] chi1 = new int[5];
        int[] chi2 = new int[5];
        int[] chi3 = new int[3];
        for (int i = 0; i < arr.Length; i++)
        {
            if (i < 5)
            {
                chi1 [i] = arr [i];
            }
            else if (i < 10)
            {
                chi2 [i - 5] = arr [i];
            }
            else
            {
                chi3 [i - 10] = arr [i];
            }
        }
        chi1 = SortArrCard(chi1);
        chi2 = SortArrCard(chi2);
        chi3 = SortArrCard(chi3);

        TYPE_CARD type1 = CheckThungSanh3(chi3);
        TYPE_CARD type2 = CheckThungSanh(chi2);
        TYPE_CARD type3 = CheckThungSanh(chi1);

        if ((type1 == TYPE_CARD.THUNG) &&
            (type2 == TYPE_CARD.THUNG) &&
            (type3 == TYPE_CARD.THUNG))
        {
            return(4);//3 thung
        }
        if (type1 == TYPE_CARD.SANH &&
            type2 == TYPE_CARD.SANH &&
            type3 == TYPE_CARD.SANH)
        {
            return(5);//3 sanh
        }
        #endregion
        return(-1);
    }
Exemplo n.º 9
0
    void SetLoaiBai(int[] arr)
    {
        int[] chi1 = new int[5];
        int[] chi2 = new int[5];
        int[] chi3 = new int[3];
        for (int i = 0; i < arr.Length; i++)
        {
            if (i < 5)
            {
                chi1 [i] = arr [i];
            }
            else if (i < 10)
            {
                chi2 [i - 5] = arr [i];
            }
            else
            {
                chi3 [i - 10] = arr [i];
            }
        }


        int thangtrang = TypeCardMauBinh.IsThangTrang(arr);

        if (thangtrang != -1)
        {
            for (int i = 0; i < txt_typecards.Length; i++)
            {
                txt_typecards [i].gameObject.SetActive(false);
            }
            txt_typecards [1].gameObject.SetActive(true);
            txt_typecards [1].text = GameConfig.STR_THANG_TRANG [thangtrang];
            return;
        }

        TYPE_CARD type1 = TypeCardMauBinh.GetTypeCardMauBinh(chi1);
        TYPE_CARD type2 = TypeCardMauBinh.GetTypeCardMauBinh(chi2);
        TYPE_CARD type3 = TypeCardMauBinh.GetTypeCardMauBinh(chi3);

//		string str = "";
//		for (int i = 0; i < chi1.Length; i++) {
//			str += TypeCardMauBinh.GetValue (chi1 [i]);
//		}
//		Debug.LogError (type1 + "\n" + str);
//		str = "";
//		for (int i = 0; i < chi2.Length; i++) {
//			str += TypeCardMauBinh.GetValue (chi2 [i]);
//		}
//		Debug.LogError (type2 + "\n" + str);
//
//		str = "";
//		for (int i = 0; i < chi3.Length; i++) {
//			str += TypeCardMauBinh.GetValue (chi3 [i]);
//		}
//		Debug.LogError (type3 + "\n" + str);

        SetLoaiBaiCuaChi(2, (int)type1);
        SetLoaiBaiCuaChi(1, (int)type2);
        SetLoaiBaiCuaChi(0, (int)type3);

        if (TypeCardMauBinh.IsLung(chi1, chi2, chi3))
        {
            for (int i = 0; i < txt_typecards.Length; i++)
            {
                txt_typecards [i].gameObject.SetActive(false);
            }
            txt_typecards [1].gameObject.SetActive(true);
            txt_typecards [1].text = "Binh Lủng";
        }
    }