public void StartRound() { deck = new Deck(); round++; Move = 1; turnPlayerController = playerController; turnPlayerController.MakeTurn(); pileController.OnRoundStart(); playerController.OnRoundStart(); computerController.OnRoundStart(); for (byte i = 0; i < 4; i++) { pileController.AddCard(deck.DrawCard()); } DealCards(); }
//TODO: Some behaviours can move to PileController protected virtual void CollectCard(Card card) { Hand hand = Player.Hand; HandView handView = PlayerView.HandView; Pile pile = pileController.Pile; hand.Remove(card); handView.RemoveCard(card); if (pile.CanCollected(card)) { Player.CollectedCards += pile.Count; byte collectScore = pileController.Collect(card); AddScore(collectScore); } else { pileController.AddCard(card); } pile.IsBusy = false; GameManager.Instance.NextTurn(); }