diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/BoardLayout.cs | 6 | ||||
| -rw-r--r-- | src/PBNBoard.cs | 10 |
2 files changed, 10 insertions, 6 deletions
diff --git a/src/BoardLayout.cs b/src/BoardLayout.cs index 74c9d0d..4a691de 100644 --- a/src/BoardLayout.cs +++ b/src/BoardLayout.cs @@ -59,7 +59,6 @@ namespace BCDD { throw new InvalidLayoutException(String.Format("Hand does not contain four suits: {0}", playerHands[playerIndex])); } - int playerCardCount = 0; for (int suitIndex = 0; suitIndex < cards.Length; suitIndex++) { List<String> currentHand = new List<String>(); @@ -68,15 +67,10 @@ namespace BCDD if (card.Length > 0) { currentHand.Add(card); - playerCardCount++; } } hand[(BCalcWrapper.DENOMINATIONS[3 - suitIndex]).ToString()] = currentHand; } - if (playerCardCount != 13) - { - throw new InvalidLayoutException(String.Format("Hand does not contain 13 cards: {0}", playerHands[playerIndex])); - } this.Hands[(handLetters[playerIndex]).ToString()] = hand; } } diff --git a/src/PBNBoard.cs b/src/PBNBoard.cs index fb36f00..15acbe0 100644 --- a/src/PBNBoard.cs +++ b/src/PBNBoard.cs @@ -463,10 +463,13 @@ namespace BCDD List<String> errors = new List<string>();
BoardLayout layout = new BoardLayout(this.GetLayout());
+
foreach (KeyValuePair<String, Dictionary<String, List<String>>> hand in layout.Hands)
{
+ int handCount = 0;
foreach (KeyValuePair<String, List<String>> suit in hand.Value)
{
+ handCount += suit.Value.Count;
foreach (String card in suit.Value)
{
if (cards.Contains(card.ToUpper()))
@@ -479,6 +482,13 @@ namespace BCDD }
}
}
+ if (handCount != 13)
+ {
+ errors.Add(String.Format("Hand in {0} does not contain 13 cards: {1}",
+ hand.Key,
+ String.Join(".", hand.Value.Select(suit => String.Join("", suit.Value.ToArray())).ToArray())
+ ));
+ }
}
foreach (KeyValuePair<String, List<String>> card in deck)
|
