public void ShouldDoubleDownWhenDealerHasLessThan7AndGamblerHas10Or11() { var gamblerHand10 = new BlackJackHand( new Card(Rank.Eight, Suit.Diamonds), new Card(Rank.Two, Suit.Hearts)); var gamblerHand11 = new BlackJackHand( new Card(Rank.Eight, Suit.Diamonds), new Card(Rank.Three, Suit.Hearts)); Assert.AreEqual(BlackJackAction.DoubleDown, BlackJackAdvisor.RecommendAction (new Card(Rank.Six, Suit.Spades), gamblerHand10)); Assert.AreEqual(BlackJackAction.DoubleDown, BlackJackAdvisor.RecommendAction (new Card(Rank.Six, Suit.Spades), gamblerHand11)); Assert.AreEqual(BlackJackAction.Hit, BlackJackAdvisor.RecommendAction (new Card(Rank.Seven, Suit.Spades), gamblerHand10)); Assert.AreEqual(BlackJackAction.Hit, BlackJackAdvisor.RecommendAction (new Card(Rank.Seven, Suit.Spades), gamblerHand11)); }
public void ShouldSplitSevenPairWhenDealerHasTwoToSix() { var gamblerHand = new BlackJackHand( new Card(Rank.Seven, Suit.Diamonds), new Card(Rank.Seven, Suit.Hearts)); Assert.AreEqual(BlackJackAction.Hit, BlackJackAdvisor.RecommendAction (new Card(Rank.Ace, Suit.Spades), gamblerHand)); Assert.AreEqual(BlackJackAction.Split, BlackJackAdvisor.RecommendAction (new Card(Rank.Two, Suit.Spades), gamblerHand)); Assert.AreEqual(BlackJackAction.Split, BlackJackAdvisor.RecommendAction (new Card(Rank.Three, Suit.Spades), gamblerHand)); Assert.AreEqual(BlackJackAction.Split, BlackJackAdvisor.RecommendAction (new Card(Rank.Four, Suit.Spades), gamblerHand)); Assert.AreEqual(BlackJackAction.Split, BlackJackAdvisor.RecommendAction (new Card(Rank.Five, Suit.Spades), gamblerHand)); Assert.AreEqual(BlackJackAction.Split, BlackJackAdvisor.RecommendAction (new Card(Rank.Six, Suit.Spades), gamblerHand)); Assert.AreEqual(BlackJackAction.Hit, BlackJackAdvisor.RecommendAction (new Card(Rank.Seven, Suit.Spades), gamblerHand)); }
/// <summary> /// Creates a player with a new hand and new balance /// </summary> /// <param name="newBalance"></param> public Player(int newBalance) { // Sets the player's image and name that is displayed in the picture frame in the UI. //this.image = Properties.Settings.Default.PlayerImage; //this.name = Properties.Settings.Default.PlayerName; this.hand = new BlackJackHand(); this.balance = newBalance; }
public void IsInGame() { BlackJackHand hand = new BlackJackHand(); hand.Add(new Card(Rank.Ace, Suit.Clubs)); Assert.True(hand.IsInGame); }
public BlackJackGameAutomator(int players) { hands = new BlackJackHand[players]; for (int i = 0; i < players; i++) { hands[i] = new BlackJackHand(); } }
public void Value_Under21_WithTwoEights() { BlackJackHand hand = new BlackJackHand(); hand.Add(new Card(Rank.Eight, Suit.Clubs)); hand.Add(new Card(Rank.Eight, Suit.Diamonds)); Assert.AreEqual(16, hand.Value); }
public void TwentyOne() { BlackJackHand hand = new BlackJackHand(); hand.Add(new Card(Rank.Ace, Suit.Clubs)); hand.Add(new Card(Rank.Jack, Suit.Clubs)); Assert.AreEqual(21, hand.Value); }
/// <summary> /// Initialize deck, hands and start drawing /// </summary> public BlackJackGame() { deck = new Deck(); player = new BlackJackHand(); house = new BlackJackHand(); player.Add(deck.Draw()); player.Add(deck.Draw()); }
public void ShouldDetectSoftCount() { var hand = new BlackJackHand(); Assert.IsFalse(hand.HasSoftCount); hand.Add(new Card(Rank.Ace, Suit.Clubs)); Assert.IsTrue(hand.HasSoftCount); }
public void ValueOver21() { BlackJackHand hand = new BlackJackHand(); hand.Add(new Card(Rank.Jack, Suit.Clubs)); hand.Add(new Card(Rank.Jack, Suit.Diamonds)); hand.Add(new Card(Rank.Jack, Suit.Hearts)); Assert.AreEqual(30, hand.Value); }
public void ShouldDetectBlackJack() { var hand = new BlackJackHand(); Assert.IsFalse(hand.IsBlackJack); hand.Add(new Card(Rank.Ace, Suit.Clubs)); hand.Add(new Card(Rank.King, Suit.Clubs)); Assert.IsTrue(hand.IsBlackJack); }
public void ShouldConsiderAceAndTenBlackJack() { var hand = new BlackJackHand(); Assert.IsFalse(hand.IsBlackJack); hand.Add(new Card(Rank.Ace, Suit.Clubs)); hand.Add(new Card(Rank.Ten, Suit.Clubs)); Assert.IsTrue(hand.IsBlackJack); }
public void ShouldHoldWhenGamblerHasBlackJack() { var gamblerHand = new BlackJackHand( new Card(Rank.Ace, Suit.Diamonds), new Card(Rank.Jack, Suit.Hearts)); Assert.AreEqual(BlackJackAction.Hold, BlackJackAdvisor.RecommendAction (new Card(Rank.Ace, Suit.Spades), gamblerHand)); }
public void MakeHands(string[] names) { //List<Hand> Hands = new List<Hand>(); for (int i = 0; i <= (Players - 1); i++) { BlackJackHand hand = new BlackJackHand(names[i], 2); this.Hands.Add(hand); } }
public void ShouldAlwaysSplitEightPair() { var gamblerHand = new BlackJackHand( new Card(Rank.Eight, Suit.Diamonds), new Card(Rank.Eight, Suit.Hearts)); Assert.AreEqual(BlackJackAction.Split, BlackJackAdvisor.RecommendAction (new Card(Rank.Seven, Suit.Spades), gamblerHand)); }
public void Value_Under21_WithLowAce() { BlackJackHand hand = new BlackJackHand(); hand.Add(new Card(Rank.Ace, Suit.Clubs)); hand.Add(new Card(Rank.Eight, Suit.Clubs)); hand.Add(new Card(Rank.Nine, Suit.Diamonds)); Assert.AreEqual(18, hand.Value); }
public void Value_Under21_WithTwoHighAces() { BlackJackHand hand = new BlackJackHand(); hand.Add(new Card(Rank.Ace, Suit.Clubs)); hand.Add(new Card(Rank.Eight, Suit.Clubs)); hand.Add(new Card(Rank.Ace, Suit.Hearts)); Assert.AreEqual(20, hand.Value); }
public void ShouldDetectWhenBusted() { var hand = new BlackJackHand(); Assert.IsFalse(hand.IsBusted); hand.Add(new Card(Rank.Ten, Suit.Clubs)); hand.Add(new Card(Rank.Ten, Suit.Clubs)); hand.Add(new Card(Rank.Ten, Suit.Clubs)); Assert.IsTrue(hand.IsBusted); }
public void SplitPair(List <BlackJackHand> hand, IDeck deck, int index) { BlackJackHand handnew = new BlackJackHand($"{hand[index].Playername} split", 2); Card card = new Card("", "", 0); card = hand[index].Cards[1]; hand[index].Cards[1] = deck.Draw(1); handnew.Cards.Add(card); handnew.Cards.Add(deck.Draw(1)); hand.Add(handnew); }
public void IsBusted() { BlackJackHand hand = new BlackJackHand(); hand.Add(new Card(Rank.Jack, Suit.Clubs)); hand.Add(new Card(Rank.Jack, Suit.Diamonds)); hand.Add(new Card(Rank.Jack, Suit.Hearts)); Assert.AreEqual(30, hand.Value); Assert.True(hand.IsBusted); }
public void Value_Under21_WithLowAndHighAces() { BlackJackHand hand = new BlackJackHand(); hand.Add(new Card(Rank.Ace, Suit.Clubs)); hand.Add(new Card(Rank.Two, Suit.Clubs)); hand.Add(new Card(Rank.Seven, Suit.Clubs)); hand.Add(new Card(Rank.Ace, Suit.Hearts)); Assert.AreEqual(21, hand.Value); }
public void Value_AfterUpdate() { BlackJackHand hand = new BlackJackHand(); hand.Add(new Card(Rank.Two, Suit.Clubs)); Assert.AreEqual(2, hand.Value); hand.Add(new Card(Rank.Three, Suit.Clubs)); Assert.AreEqual(5, hand.Value); }
public void ShouldHitWhenGamblerHasLessThan17AndDealerHasMoreThan6() { var gamblerHand = new BlackJackHand( new Card(Rank.Ten, Suit.Diamonds), new Card(Rank.Six, Suit.Hearts)); Assert.AreEqual(BlackJackAction.Hit, BlackJackAdvisor.RecommendAction (new Card(Rank.Seven, Suit.Spades), gamblerHand)); Assert.AreEqual(BlackJackAction.Hold, BlackJackAdvisor.RecommendAction (new Card(Rank.Six, Suit.Spades), gamblerHand)); }
public void ShouldCalculateHardCount() { var hand = new BlackJackHand(); Assert.AreEqual(0, hand.SoftCount); hand.Add(new Card(Rank.Ace, Suit.Clubs)); Assert.AreEqual(11, hand.Count); hand.Add(new Card(Rank.Ten, Suit.Clubs)); Assert.AreEqual(21, hand.Count); }
public bool PlayHand(BlackJackHand hand) { while (hand.score() < HIT_UNTIL) { BlackJackCard card = deck.DealCard(); if (card == null) { return(false); } hand.AddCard(card); } return(true); }
private void SetupPlayers() { _deck = new BlackJackDeck(5); _deck.Shuffle(); _playerHand = new BlackJackHand(); _dealerHand = new BlackJackHand(); pbDealer.Image = null; pbPlayer.Image = null; btnDeal.Visible = true; btnDouble.Visible = false; btnPass.Visible = false; btnExtraCard.Visible = false; nudBet.Value = _betValue; }
public void ShouldNotBustWhenSoftCountAvailable() { var hand = new BlackJackHand(); Assert.IsFalse(hand.IsBusted); hand.Add(new Card(Rank.Ace, Suit.Clubs)); hand.Add(new Card(Rank.Ace, Suit.Clubs)); hand.Add(new Card(Rank.Ten, Suit.Clubs)); Assert.IsFalse(hand.IsBusted); hand.Add(new Card(Rank.Ten, Suit.Clubs)); Assert.IsTrue(hand.IsBusted); }
public void ShouldDetectMultipleAces() { var hand = new BlackJackHand(); Assert.IsFalse(hand.HasJustTwoAces); hand.Add(new Card(Rank.Ace, Suit.Clubs)); Assert.IsFalse(hand.HasJustTwoAces); hand.Add(new Card(Rank.Ace, Suit.Hearts)); Assert.IsTrue(hand.HasJustTwoAces); hand.Add(new Card(Rank.Ace, Suit.Diamonds)); Assert.IsFalse(hand.HasJustTwoAces); }
protected override void ShowValue() { BlackJackManager manager = GameObject.Find("BlackJackManager").GetComponent <BlackJackManager>(); BlackJackHand playerHand = GameObject.Find("Player Hand Value").GetComponent <BlackJackHand>(); // BUG : Player does not win on a "Natural Blackjack" // CATEGORY: GAME RULES // STATUS : PENDING REVIEW if (playerHand.handVals == 21) { manager.PlayerWin(); } else { base.ShowValue(); } }
public void DeckOfCards_Should_Check_Hand_Overflow() { //arrange int cardCount = 52; var deck = new BlackJackDeck(); var hand = new BlackJackHand(deck); //act for (int i = 0; i < cardCount; i++) { hand.TakeCard(); } //assert deck.Cards.Count.ShouldBeEquivalentTo(0); hand.Points.ShouldBeEquivalentTo(340); hand.IsOverFlow.ShouldBeEquivalentTo(true); }