Beispiel #1
0
        //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);
        }
Beispiel #2
0
    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;
        }
    }
Beispiel #3
0
 public void Trade(int indexOfCardToBeTraded)
 {
     CurrentCards.Add(Table.Deck.DealOneCard());
     CurrentCards.Remove(indexOfCardToBeTraded);
 }
Beispiel #4
0
 // Methods
 //--------
 public void Draw()
 {
     CurrentCards.Add(Table.Deck.DealOneCard());
 }