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); } }
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; }
/// <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); }
/// <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); }
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); }
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); }
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); }
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); }
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"; } }