//method for checking next move direction private void EstablishNextMoveDirection(CardRanks cardRank, CardSuits cardSuit) { if (cardRank == CardRanks.King && cardSuit == CardSuits.Spade) { nextMove = CardMoveDirections.Backward; } else { nextMove = CardMoveDirections.Forward; } }
//change the card into jocker back public void ChangeCardBackToJocker() { if (this.thisCardWasMadeByJocker != true) { throw new ArgumentException("This card was not a Jocker before"); } else { this.suit = CardSuits.None; this.rank = CardRanks.Joker; this.brave = false; this.battlPpower = 0; this.stopsMove = false; this.canDemand = false; this.demands = DemandOptions.None; this.nextMove = CardMoveDirections.Forward; this.thisCardWasMadeByJocker = false; this.canBeDemanded = false; } }
//constructor public PlayingCard(CardSuits suitInput, CardRanks rankInput, int deckNumber) { suit = suitInput; rank = rankInput; this.deckNumber = deckNumber; brave = false; battlPpower = 0; stopsMove = false; canDemand = false; demands = DemandOptions.None; nextMove = CardMoveDirections.Forward; canBeDemanded = false; thisCardWasMadeByJocker = false; CheckIfCardIsBrave(rank, suit); SetTheCardBattlePower(this.rank, this.suit); CheckIfCardCanStopMove(this.rank); CheckIfCardCanDemandAnotherCards(this.rank); CheckIfThisCardCanBeDemanded(this.rank); EstablishNextMoveDirection(this.rank, this.suit); }