public void Test_RemoveCardAtIndex_Removes_Right_Card_From_Hand() { var hand = new Hand(); hand.AddCardToHand(1); hand.AddCardToHand(3); hand.RemoveCardAtIndex(0); Assert.Single(hand.CardsInHand); Assert.Equal(3, hand.CardsInHand.First()); }
public void BlackjackTest() { Hand testHand = new Hand(); Card aceOfSpades = new Card(0, 1); testHand.AddCardToHand(aceOfSpades); Card kingOfSpades = new Card(0, 13); testHand.AddCardToHand(kingOfSpades); Assert.AreEqual(21, testHand.Value); }
public void CountTestTwoCards(CardValue cardOne, CardValue cardTwo, int result) { var hand = new Hand(0); hand.AddCardToHand(new Card { CardValue = cardOne, Suit = Suit.Clubs }); hand.AddCardToHand(new Card { CardValue = cardTwo, Suit = Suit.Diamonds }); hand.Score.Should().Be(result); }
public void HandValueTest() { Hand testHand = new Hand(); Card tenOfSpades = new Card(0, 10); testHand.AddCardToHand(tenOfSpades); Card threeOfClubs = new Card(3, 3); testHand.AddCardToHand(threeOfClubs); Card sevenOfDiamonds = new Card(2, 7); testHand.AddCardToHand(sevenOfDiamonds); Assert.AreEqual(20, testHand.Value); }
public bool Play(Shoe currentShoe, Hand currentHand, List <Hand> hands) { var splitOffCard = currentHand.Cards[0]; var newHand = new Hand(); newHand.AddCardToHand(splitOffCard); newHand.AddCardToHand(currentShoe.DealCard()); newHand.Bet = currentHand.Bet; hands.Add(newHand); currentHand.Cards.Remove(splitOffCard); currentHand.AddCardToHand(currentShoe.DealCard()); return(false); }
public void AddCardToHandTest() { Hand testHand = new Hand(); Card testCard = new Card(0, 10); // Ten of Spades testHand.AddCardToHand(testCard); Assert.AreEqual(10, testHand.Value); }
public void AddCardToHand(Card card) { card.CardPrefabInst.transform.position = new Vector3( card.CardPrefabInst.transform.position.x + (hand.CardCount() * 1.51f), card.CardPrefabInst.transform.position.y, card.CardPrefabInst.transform.position.z); hand.AddCardToHand(card); }
public void KeepHand() { foreach (GameObject panel in PanelsList) { if (panel) { StartHandPanel handPanel = panel.GetComponent <StartHandPanel> (); if (handPanel.Card != null) { handPanel.Card.GetComponent <CardInteraction> ().SetCardInterationsEnable(true); HandComponent.AddCardToHand(handPanel.Card); } } Destroy(panel); } //HandCanvas.enabled = false; KeepHandButton.interactable = false; GamePlayComponent.KeepStartHand(); }
public void DrawCard() { if (playerHand.MaximumHandIsReached()) { //Debug.Log("Max hand reached"); } if (playerDeck.DeckIsEmpty()) { playerDeck.ShuffleDiscardsExceptPlayed(playerHand.cardsInHand, cardsPlayed); discardedCards.Clear(); discardCountDisplay.text = discardedCards.Count.ToString(); } Card drawnCard = playerDeck.DrawNextCard(); playerHand.AddCardToHand(drawnCard); playerHand.ShowHandCards(); }
public void Test_Hand_Can_Grow_Up_To_Five_Cards_And_Returns_Right_Card_List_Back() { var hand = new Hand(); for (byte i = 0; i < 5; i++) { Assert.True(hand.AddCardToHand(i)); var cards = hand.CardsInHand.ToArray(); Assert.Equal(i + 1, cards.Length); for (byte j = 0; j <= i; j++) { Assert.Equal(j, j); } } Assert.False(hand.AddCardToHand(99)); Assert.Equal(5, hand.CardsInHand.Count); Assert.False(hand.CardsInHand.Contains((byte)99)); }
private Card DrawCard() { Card drawnCard = _playerDeck.DrawCard(); if (drawnCard != null) { _playerHand.AddCardToHand(drawnCard); return(drawnCard); } return(null); }
//TODO: think about multithreading in general private void DrawCard() { var card = _deck.DrawCard(); if (card == null) { DamagePlayer(1); return; } _hand.AddCardToHand(card.Value); //TODO: do i need return value anywhere }
public void CardsInHandTest() { Hand testHand = new Hand(); Card tenOfSpades = new Card(0, 10); testHand.AddCardToHand(tenOfSpades); Card threeOfClubs = new Card(3, 3); testHand.AddCardToHand(threeOfClubs); Card sevenOfDiamonds = new Card(2, 7); testHand.AddCardToHand(sevenOfDiamonds); Assert.AreEqual(tenOfSpades, testHand[0]); Assert.AreEqual(threeOfClubs, testHand[1]); Assert.AreEqual(sevenOfDiamonds, testHand[2]); // Testing IEnumerable implementation foreach (Card c in testHand) { Console.WriteLine(c.ToString()); } }
//Check if the card is within the table range, if not, return it back to the hand private void CheckPosition() { if (transform.position.x > -6 && transform.position.x < 6 && transform.position.y > -3 && transform.position.y < 3) { cardState = CardState.Played; } else { hand.AddCardToHand(gameObject); moveTo += new Vector3(0, 0, -5); oldspeed = 50f; } }
//Deal a card void Deal() { //create a card var newCard = Instantiate(cardPrefab, transform.position + new Vector3(0, 0, -1), Quaternion.identity); var cCard = newCard.GetComponent <Card>(); cCard.number = deck[0]; cCard.oldspeed = 10f; cCard.hand = hand; cCard.SetSuitAndRank(deck[0]); newCard.GetComponent <SpriteRenderer>().sprite = cardFaces[deck[0] - 1]; hand.AddCardToHand(newCard); deck.RemoveAt(0); increment -= 0.01f; }
/// <summary> /// Draws a card from the deck. /// </summary> /// <returns><c>true</c>, if card was drawn, <c>false</c> otherwise.</returns> public virtual bool DrawCard() { if (Hand == null) { throw new InvalidOperationException("Hand cannot be null"); } // Draw a card (if available) and apply draw effect BaseCard drawnCard = Deck.DrawCard(); if (drawnCard == null) { // Can't draw any more cards return(false); } Logger.Log("Player " + this + " has drawn card " + drawnCard); Hand.AddCardToHand(drawnCard); return(true); }
/// <summary> /// Finds the hand based off of the tag, then adds to the respective hand. Updates gold amount and shifts market cards /// </summary> /// <param name="handTag">Tag of the hand you want to add card to</param> private void HandleHand(string handTag, int costOfCard, GameObject cardToAdd) { //find the hand with the given tag GameObject handObj = GameObject.FindGameObjectWithTag(handTag); if (handObj != null) { Hand hand = handObj.GetComponent <Hand>(); //if the hand is not full, add card to hand, shift market cards, update gold if (hand != null && hand.IsFull() == false) { hand.AddCardToHand(cardToAdd.GetComponent <Image>()); //passiveHand.HandleCard(cardToAdd); GoldManager.instance.SetGoldAmount(GoldManager.instance.GetGoldAmount() - costOfCard); apm.UseActionPoint(); Console.instance.WriteToConsole("Bought " + cardToAdd.GetComponent <Image>().sprite.name); if (costOfCard != costOfDeckCard) { market.ShiftCardsForward(gameObject); } } else if (hand.IsFull() == true) { //tell player the hand is full Console.instance.WriteToConsole(hand.name + " is full."); } } //if no tag is found, throw exception else { string exceptionString = String.Format("No {0} found. Ensure the {0} object has the proper tag", handTag); throw new System.Exception(exceptionString); } }
public bool Play(Shoe currentShoe, Hand currentHand, List <Hand> hands) { currentHand.AddCardToHand(currentShoe.DealCard()); return(false); }
public bool Play(Shoe currentShoe, Hand currentHand, List <Hand> hands) { currentHand.AddCardToHand(currentShoe.DealCard()); currentHand.Bet *= 2; return(true); }