public void MakeNextPlayerTurn(ACard dealerCard) { if (!(numberOfMoves == 0 && GetSumOfCards() == 21)) { PlayerTurnNow = GetNextTurn(dealerCard); } else if (dealerCard.CardName == CardNames.Ace) { PlayerTurn answer = GetAnswerAfterFirstBlackjack(); if (answer == PlayerTurn.Take) { PlayerTurnNow = PlayerTurn.Take; } else { MakeBlackjackMultiplayer(); PlayerTurnNow = PlayerTurn.Stand; } } else { MakeBlackjackMultiplayer(); PlayerTurnNow = dealerCard.CardNumber == 10 ? PlayerTurn.Stand : PlayerTurn.Blackjack; } }
private ACard DealACard() { ACard g = _cards[0]; _cards.RemoveAt(0); return(g); }
public HttpResponseMessage Get(string cardNumber, string expiryYear) { HttpResponseMessage response = null; try { IValidationService validationService = new ValidationService(); var validationResult = validationService.Validate(cardNumber, expiryYear); if (!validationResult.IsValid) { response = new HttpResponseMessage() { Content = new JsonContent(validationResult) }; } else { ICardService cardService = new CardService(); int year = cardService.GetCardExpiryYear(expiryYear); ACard card = CardFactory.GetCard(cardNumber, year); var isValidCardNumber = card.IsValid(); response = new HttpResponseMessage() { Content = new JsonContent(new PaymentGW.Application.BounceContext.Validation.DTO.ValidationResult() { CardNumber = cardNumber, IsValid = isValidCardNumber, Message = string.Empty, CardType = card.GetCardType() }) }; } }catch (UnknownCardException uEx) { logger.Error(uEx); response = new HttpResponseMessage() { Content = new JsonContent(new PaymentGW.Application.BounceContext.Validation.DTO.ValidationResult() { CardNumber = cardNumber, IsValid = false, Message = "Card is unknonw" }) }; }catch (Exception ex) { logger.Error(ex); response = new HttpResponseMessage() { Content = new JsonContent(new PaymentGW.Application.BounceContext.Validation.DTO.ValidationResult() { CardNumber = cardNumber, IsValid = false, Message = "There are errors happens .Please contact the PaymentGW ." }) }; } return(response); }
public override void TakeCard(ACard card) { if (VisibleCard == null) { VisibleCard = card; } this.CardsInHand.Add(card); }
public void Test_InValid_VisaCard_NotLeapYear() { var cardNumber = "4111111111111111"; var expiryYear = 2019; ACard card = CardFactory.GetCard(cardNumber, expiryYear); Assert.IsFalse(card.IsValid()); Assert.AreEqual(CardType.Visa, card.GetCardType()); }
public void Test_Valid_VisaCard_WithLeapYear() { var cardNumber = "4111111111111111"; var expiryYear = 2020; ACard card = CardFactory.GetCard(cardNumber, expiryYear); Assert.IsTrue(card.IsValid()); Assert.AreEqual(CardType.Visa, card.GetCardType()); }
public void Test_Valid_MasterCard_PrimeNumber() { var cardNumber = "5111111111111111"; var expiryYear = 2017; ACard card = CardFactory.GetCard(cardNumber, expiryYear); Assert.IsTrue(card.IsValid()); Assert.AreEqual(CardType.Master, card.GetCardType()); }
public void Test_Valid_JCBCard_16Digit_StartWith3() { var cardNumber = "3111111111111111"; var expiryYear = 2019; ACard card = CardFactory.GetCard(cardNumber, expiryYear); Assert.IsTrue(card.IsValid()); Assert.AreEqual(CardType.JCB, card.GetCardType()); }
private void HandlePlayAction(string[] input, IoSession session) { if (_gstate.Equals(GameState.Playing) && _pstate.Equals(PlayerState.PlayerTurn)) { if (input.Length == 2) { this.PlayCardNumber(input, session); } else if (input.Length != 3) { Console.WriteLine("Not enought argument, use /help to have further informations"); } else { string color = input[1]; int value = this.getValue(input[2]); if (value.Equals(0)) { bool res = int.TryParse(input[2], out value); if (!res) { Console.WriteLine("Second argument is not a number, run /help"); return; } } if (!color.Equals("spike") && !color.Equals("spade") && !color.Equals("club") && !color.Equals("heart")) { Console.WriteLine("Color is not good, run /help"); } else if (value < 7 || value > 14) { Console.WriteLine("Value is not good, run with /help"); } else { ACard card = _hand.FindCard(value, color); if (card == null) { Console.WriteLine("Cannot find the card in your hand, use /hand"); } else { _hand.DeleteCard(card); session.Write("0011 " + JsonConvert.SerializeObject(card)); _pstate = PlayerState.OtherTurn; } } } } else { Console.WriteLine("Not playing or not your turn"); } }
protected int GetIndexOfTurnListFromDealerCard(ACard dealerCard) { switch (dealerCard.CardNumber) { case 1: case 11: return(9); default: return(dealerCard.CardNumber - 2); } }
private bool CheckIsCardInDeck(DeckOfCards deck, ACard searchedCard) { foreach (var card in deck.Deck) { if (CheckIsCardsEqual(card, searchedCard)) { return(true); } } return(false); }
public ACard GetOneCard(AParticipant player) { ACard card = this.Deck.First(); if (card.CardName == CardNames.Ace) { ((AceCard)card).CheckIsMoreThenTwentyOne(player.CardsInHand); } RemoveCard(card); return(card); }
public void TakeCardTest() { var dealer = new Dealer(); var deck = new DeckOfCards(countDecksInOne); deck.ShuffleDeck(); ACard takenCard = deck.GetOneCard(dealer); Assert.IsTrue(deck.Deck.Count() == 51); Assert.IsFalse(CheckIsCardInDeck(deck, takenCard)); }
private void PrintPlayAction(string[] input) { ACard card = JsonConvert.DeserializeObject <CoincheCard>(input[2]); int id = int.Parse(input[1]); if (id.Equals(_partnerId)) { Console.WriteLine("Your partner " + _partnerId.ToString() + " played " + card.Color + " " + card.Value); } else { Console.WriteLine("Player " + id.ToString() + " played " + card.Color + " " + card.Value); } _fold.Add(card); }
private void GetCard(string[] input) { ACard card = JsonConvert.DeserializeObject <CoincheCard>(input[1]); if (card != null) { Console.WriteLine("New card received :"); card.Dump(); _hand.AddCard(card); } else { Console.WriteLine("Error while receiving the new card (cannot deserialize)"); Environment.Exit(1); } }
public bool DeleteCard(ACard cardToFind) { var index = 0; foreach (var card in _hand) { if (card.Color.Equals(cardToFind.Color) && card.Value.Equals(cardToFind.Value)) { _hand.RemoveAt(index); return(true); } index++; } return(false); }
public override PlayerTurn GetNextTurn(ACard dealerCard) { int sumCards = this.GetSumOfCards(); if (sumCards == 21) { return(PlayerTurn.Blackjack); } if (sumCards >= 17) { return(PlayerTurn.Stand); } if (sumCards > 10) { return(PlayerTurn.Double); } return(PlayerTurn.Hit); }
private void PlayCardNumber(string[] input, IoSession session) { int value = 0; bool res = int.TryParse(input[1], out value); if (!res) { Console.WriteLine("Second argument is not a number, run /help"); } else if (value > _hand.GetSize()) { Console.WriteLine("You don't have enought card in your hand"); } else { ACard card = _hand.FindCard(value); session.Write("0011 " + JsonConvert.SerializeObject(card)); _hand.DeleteCard(value); _pstate = PlayerState.OtherTurn; } }
private void RemoveCard(ACard card) { this.Deck.Remove(card); }
public virtual void TakeCard(ACard card) { this.CardsInHand.Add(card); }
private bool CheckIsCardsEqual(ACard first, ACard second) { return(first.CardSuit == second.CardSuit && first.CardName == second.CardName); }
public void GiveCard(ACard card, AParticipant player) { player.TakeCard(card); }
public abstract PlayerTurn GetNextTurn(ACard dealerCard);
public void ClearHands() { CardsInHand.Clear(); VisibleCard = null; }
public void Test_NotFoundType_StartWith9() { var cardNumber = "9111111111111111"; var expiryYear = 2019; ACard card = CardFactory.GetCard(cardNumber, expiryYear); }
public void AddCard(ACard card) { _hand.Add(card); }
private PlayerTurn GetTurnHardHand(ACard dealerCard, int sumCards) { int dealerIndex = GetIndexOfTurnListFromDealerCard(dealerCard); int hardTotalIndex = sumCards switch {