//todo: template method pattern public void PlaySingleGame() { if (RegisteredPlayers.Count == 0) { throw new InvalidOperationException("Cannot start a game with no players"); } _cardDeck.Shuffle(); _gameManager.PlaceYourBets(RegisteredPlayers); _gameManager.DealInitialCards(_cardDeck, RegisteredPlayers, CurrentCards); if (!CurrentCards.IsBlackjack()) { _gameManager.PlayersPlay(_cardDeck, RegisteredPlayers, VisibleCard); _gameManager.DealerPlays(_cardDeck, CurrentCards, _dealerStrategy); } _gameManager.DeterminePlayerHandOutcomes(CurrentCards, RegisteredPlayers); _gameManager.PayoutOrCollectBetsFrom(RegisteredPlayers); _gameManager.SaveCurrentHandResultsOf(RegisteredPlayers); _cardDeck.Cards.AddRange(_gameManager.CollectCardsFrom(RegisteredPlayers)); _cardDeck.Cards.AddRange(_gameManager.CollectCardsFrom(CurrentCards)); _gameManager.ClearHandsFrom(RegisteredPlayers); _gameManager.DetermineToLeaveGameOrStay(RegisteredPlayers); }
public void Move() { if (//FindObjectOfType<PowerCounter>().EnemyCurrentPower >= FindObjectOfType<PowerCounter>().MyCurrentPower && FindObjectOfType <GameProcess>().Pass == true || Count >= 10 || FindObjectOfType <Enemy_Enter>().CardCount == 8 || i == StartCount) { Debug.Log("sjdjfgapdsofjpo"); FindObjectOfType <GameProcess>().EnemyPass = true; FindObjectOfType <GameProcess>().BotTurn = false; FindObjectOfType <GameProcess>().End = false; } if (FindObjectOfType <GameProcess>().End == true || FindObjectOfType <GameProcess>().BotTurn == true) { //FindObjectOfType<GameProcess>().Process(); Debug.Log("gett"); GameObject[] CurrentCard = GameObject.FindGameObjectsWithTag(Tags[i]); //FindObjectOfType<Enemy_Enter>().CardCount++; foreach (GameObject CurrentCards in CurrentCard) { CurrentCards.transform.rotation = Quaternion.Euler(0, 0, 180); CurrentCards.transform.position = Vector3.MoveTowards(CurrentCards.transform.position, EndPoint, 0.5f); CardsOnField[i] = Tags[i]; //FindObjectOfType<CardManager>().PlayedСards_Bot[i] = CurrentCards.GetComponent<CardInfo>().id; FindObjectOfType <CardManager>().BotTemp.Add(CurrentCards.GetComponent <CardInfo>().id); //List if (CurrentCards.transform.position == EndPoint) { Power = CurrentCards.GetComponent <CardInfo>().Power; //FindObjectOfType<PowerCounter>().EnemyCounter(Power); CurrentCards.GetComponent <CardInfo>().AbilityCheck = true; FindObjectOfType <GameProcess>().End = false; EndPoint.x += 4.5f; i++; Count = i; FindObjectOfType <Enemy_Enter>().CardCount++; //ihfdig FindObjectOfType <End>().EndCheck = false; FindObjectOfType <Pass>().PassCheck = true; Debug.Log(i); //if (i == Tags.Length || FindObjectOfType<GameProcess>().Pass == true) if (FindObjectOfType <GameProcess>().Pass != true) { FindObjectOfType <GameProcess>().BotTurn = false; FindObjectOfType <GameProcess>().YourTurn = true; } } } } if (//FindObjectOfType<PowerCounter>().EnemyCurrentPower >= FindObjectOfType<PowerCounter>().MyCurrentPower && FindObjectOfType <GameProcess>().Pass == true || Count >= 10 || FindObjectOfType <Enemy_Enter>().CardCount == 8 || i == StartCount) { Debug.Log("sjdjfgapdsofjpo"); FindObjectOfType <GameProcess>().EnemyPass = true; FindObjectOfType <GameProcess>().BotTurn = false; FindObjectOfType <GameProcess>().End = false; } }
public void Trade(int indexOfCardToBeTraded) { CurrentCards.Add(Table.Deck.DealOneCard()); CurrentCards.Remove(indexOfCardToBeTraded); }
// Methods //-------- public void Draw() { CurrentCards.Add(Table.Deck.DealOneCard()); }