本文整理汇总了C#中Hand.AddCard方法的典型用法代码示例。如果您正苦于以下问题:C# Hand.AddCard方法的具体用法?C# Hand.AddCard怎么用?C# Hand.AddCard使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Hand
的用法示例。
在下文中一共展示了Hand.AddCard方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetValue_ShouldReturnCorrectResult_ForTwoCards
public void GetValue_ShouldReturnCorrectResult_ForTwoCards(Ranks rank1, Ranks rank2, int expectedValue, Hand hand, Suits suit)
{
hand.AddCard(rank1.Of(suit));
hand.AddCard(rank2.Of(suit));
Assert.Equal(expectedValue, hand.GetValue());
}
示例2: Hand_AddCard_Test
public void Hand_AddCard_Test()
{
// Arrange
var hand = new Hand();
// Act & Assert
hand.AddCard(new Card(Rank.Ace, Suite.Club));
Assert.AreEqual(10, hand.SoftValue);
Assert.AreEqual(10, hand.TotalValue);
hand.AddCard(new Card(Rank.Two, Suite.Club));
Assert.AreEqual(12, hand.SoftValue);
Assert.AreEqual(12, hand.TotalValue);
hand.AddCard(new Card(Rank.Ace, Suite.Club));
Assert.AreEqual(22, hand.SoftValue);
Assert.AreEqual(13, hand.TotalValue);
hand.AddCard(new Card(Rank.Eight, Suite.Club));
Assert.AreEqual(30, hand.SoftValue);
Assert.AreEqual(21, hand.TotalValue);
hand.Clear();
Assert.AreEqual(0, hand.Cards.Count);
Assert.AreEqual(0, hand.SoftValue);
Assert.AreEqual(0, hand.TotalValue);
}
示例3: setup
public void setup()
{
_validHand = new Hand();
_validHand.AddCard(new Card(Suit.Hearts, 10));
_validHand.AddCard(new Card(Suit.Hearts, 6));
_validHand.AddCard(new Card(Suit.Diamonds, 3));
_validHand.AddCard(new Card(Suit.Spades, 14));
_validHand.AddCard(new Card(Suit.Clubs, 2));
}
示例4: Check
bool Check(Card[] cards)
{
Hand player1 = new Hand();
Hand player2 = new Hand();
for (int i = 0; i < 10; i++)
if (i < 5)
player1.AddCard(cards[i]);
else
player2.AddCard(cards[i]);
if (player1.Type != player2.Type)
return (int)player1.Type > (int)player2.Type;
if (player1.Type == HandType.RoyalFlush)
return true;
if (player1.Type == HandType.StraightFlush || player1.Type == HandType.Flush || player1.Type == HandType.Straight || player1.Type == HandType.Nothing)
{
if (player1.HighCard > player2.HighCard)
return true;
if (player1.HighCard == player2.HighCard)
return true;
return false;
}
if (player1.Type == HandType.ThreeOfAKind || player1.Type == HandType.OnePair)
{
if (player1.MaxCard > player2.MaxCard)
return true;
if (player1.MaxCard == player2.MaxCard)
{
if (player1.HighCard > player2.HighCard)
return true;
if (player1.HighCard == player2.HighCard)
return true;
return false;
}
return false;
}
if (player1.Type == HandType.FourOfAKind || player1.Type == HandType.FullHouse || player1.Type == HandType.TwoPair)
{
if (player1.MaxCard > player2.MaxCard)
return true;
if (player1.MaxCard == player2.MaxCard)
{
if (player1.SecondCard > player2.SecondCard)
return true;
if (player1.SecondCard == player2.SecondCard)
{
if (player1.HighCard > player2.HighCard)
return true;
if (player1.HighCard == player2.HighCard)
return true;
return false;
}
}
return false;
}
return false;
}
示例5: Cards_ShouldReturnCorrectResult
public void Cards_ShouldReturnCorrectResult(Hand hand, Card[] cards)
{
foreach (var card in cards)
{
hand.AddCard(card);
}
Assert.Equal(cards, hand.Cards);
}
示例6: InstantiateHand
public void InstantiateHand()
{
var h = new Hand(new Card("Ad"));
Assert.IsTrue(h.Contains(new Card('A', Suit.Diamond)));
Assert.IsFalse(h.Contains(new Card('K', Suit.Diamond)));
h.AddCard("Kd");
Assert.IsTrue(h.Contains(new Card('K', Suit.Diamond)));
Assert.Throws(typeof (ArgumentException), delegate { h.AddCard("Kd"); });
Assert.Throws(typeof(ArgumentException), delegate { h.AddCard(new Card("Ad")); });
List<Card> l = new List<Card>();
l.Add(new Card("Ad"));
h = new Hand(l);
l.Add(new Card("Ad"));
Assert.Throws(typeof(ArgumentException), delegate { h = new Hand(l); });
}
示例7: WhenCardsAreAddedToAHand_TheCalculateScoreMethodReturnsTheCorrectValue
public void WhenCardsAreAddedToAHand_TheCalculateScoreMethodReturnsTheCorrectValue()
{
IHand hand = new Hand();
hand
.AddCard(new Number(3, CardColour.Blue))
.AddCard(new Reverse(CardColour.Green))
.AddCard(new Skip(CardColour.Red));
Assert.AreEqual(43, hand.Score);
}
示例8: GetValue_ShouldReturnCorrectResult_ForOneCard
public void GetValue_ShouldReturnCorrectResult_ForOneCard(Hand hand, Card card)
{
var expectedValue = BlackJack.CardValues[card.Rank];
if (card.Rank == Ace)
{
expectedValue += BlackJack.AceIncrement;
}
hand.AddCard(card);
Assert.Equal(expectedValue, hand.GetValue());
}
示例9: Hand_Should_Fire_OnChanged_Event
public void Hand_Should_Fire_OnChanged_Event()
{
// Arrange
var hand = new Hand();
var onChangedCalled = false;
// Act
hand.Changed += (object sender, EventArgs args) => onChangedCalled = true;
hand.AddCard(new Card(Rank.Ace, Suite.Club));
// Assert
Assert.IsTrue(onChangedCalled);
}
示例10: PlayCardTest
public void PlayCardTest()
{
var hand = new Hand(new Player("yes"));
var card = new Card(Rank.Ace, Suit.Clubs);
hand.AddCard(card);
var card2 = hand.PlayCard("3c");
Assert.Null(card2);
Assert.Equal(1, hand.CardCount);
var card3 = hand.PlayCard(card.ShortName);
Assert.NotNull(card3);
Assert.Equal(0, hand.CardCount);
}
示例11: Init
public void Init()
{
Hand hand = new Hand();
Deck deck = new Deck();
cardIndexAceDiamond = Card.ToCardIndex(CardSuit.Diamonds, CardRank.Ace);
carIndexAceClubs = Card.ToCardIndex(CardSuit.Clubs, CardRank.Ace);
for (int i = 0; i < 13; i++)
{
hand.AddCard((int)deck.CardPile[i]);
}
pTest = new player(1, false);
pTest.Hand = hand;
}
示例12: DealToHand
private void DealToHand(Hand hand)
{
var card = _deck.DealCard();
hand.AddCard(card);
}
示例13: should_not_fail_if_card_is_added_when_cards_a_null
public void should_not_fail_if_card_is_added_when_cards_a_null()
{
var hand = new Hand();
hand.Cards = null;
hand.AddCard(new Card(Suit.Spades, 14));
hand.Cards.Count.ShouldEqual(1);
}
示例14: GenerateHandFromDescription
private Hand GenerateHandFromDescription(string handDescription)
{
var hand = new Hand();
var values = handDescription.Substring(0, 5);
var suits = handDescription.Substring(5, 5);
var valueMap = new Dictionary<string, string>()
{
{"A", "14"},
{"K", "13"},
{"Q", "12"},
{"J", "11"},
{"T", "10"}
};
for(var i = 0;i < 5;i++)
{
var suit = Enum.GetNames(typeof (Suit)).Single(n => n[0] == suits[i]);
var value = values[i].ToString();
if(valueMap.ContainsKey(value))
value = valueMap[value];
var card = new Card((Suit) Enum.Parse(typeof (Suit), suit), int.Parse(value));
hand.AddCard(card);
}
return hand;
}
示例15: should_provide_a_card_when_adding_to_hand
public void should_provide_a_card_when_adding_to_hand()
{
var hand = new Hand();
hand.AddCard(null);
}