public void ThrowACard(Card card, int playerNumber) { var cardGO = Instantiate(CardPrefab, CardsHolder).GetComponent <CardObject>(); cardGO.Initialize(card); cardGO.transform.eulerAngles = new Vector3(0, 0, UnityEngine.Random.Range(-90f, 90f)); //cardGO.transform. = new Vector3(0, 0, UnityEngine.Random.Range(-90f, 90f)); if (CurrentSuit == SuitsEnum.Undefined) { CurrentSuit = card.Suit; Debug.LogError("New Saar Started " + card.Name); OnStartOfANewSaar(); } else if (CheckForThola(card)) { Debug.LogError("Tholla is given " + card.Name); StartCoroutine(GiveThollaToPlayer(card)); return; } CardsOnTable.Add(playerNumber, card); if (HasAllPlayerPlayedThereCards()) { StartCoroutine(FoldTheCardsOnTable()); } else { ChangeTurnToNextPlayer(); } }
public Card(int suit, int value) { Value = (ValuesEnum)value; Suit = (SuitsEnum)suit; Name = Value.ToString() + "-" + Suit.ToString(); //CardImage = }
IEnumerator FoldTheCardsOnTable() { IndexOfPlayerWithTurn = CheckPlayerWithHighestCard(); StartCoroutine(GiveTurnToPlayer(Players[IndexOfPlayerWithTurn])); yield return(new WaitForSeconds(1)); for (int i = 0; i < CardsHolder.childCount; i++) { Destroy(CardsHolder.GetChild(i).gameObject, 0.2f); } Deck.AddRange(CardsOnTable.Values); CardsOnTable.Clear(); CurrentSuit = SuitsEnum.Undefined; }
public Card FindACardToMakeAMove(SuitsEnum suit) { if (suit == SuitsEnum.Undefined) { return(MyHandOfCards[UnityEngine.Random.Range(0, MyHandOfCards.Count)]); } foreach (var item in MyHandOfCards) { if (item.Suit == suit) { return(item); } } print("No card found to Move"); return(null); }
IEnumerator GiveThollaToPlayer(Card card) { IndexOfPlayerWithTurn = CheckPlayerWithHighestCard(); yield return(new WaitForSeconds(1)); //Players[playerWithTurn].MyHandOfCards.Add(card); for (int i = 0; i < CardsHolder.childCount; i++) { var cardGo = CardsHolder.GetChild(i).GetComponent <CardObject>(); Players[IndexOfPlayerWithTurn].AddTholaCards(cardGo.GetCard()); Destroy(cardGo.gameObject, 0.2f); } print("Tholla is added to Player" + IndexOfPlayerWithTurn); CardsOnTable.Clear(); CurrentSuit = SuitsEnum.Undefined; StartCoroutine(GiveTurnToPlayer(Players[IndexOfPlayerWithTurn])); }
public Card FindACardToGiveThollu(SuitsEnum suit) { foreach (var item in MyHandOfCards) { if (item.Suit != suit) { var max = MyHandOfCards[0]; foreach (var card in MyHandOfCards) { if (card.Value > max.Value) { max = card; } } return(max); } } print("No card found to give thollu"); return(null); }
public Card(SuitsEnum nwSuit, ValueEnum nwValue) { Suits = nwSuit; Values = nwValue; }