EDIT:
Хорошо, я думаю, это именно то, что вы просите. В конце рука содержит массив символов: рука [ индекс карты, 0-12 ] [ 0 - масть, 1 - карта ]
char[] suits = { 'S', 'H', 'D', 'C' };
char[,] hand = new char[13, 2];
string westHand = "KQT5.KJ873..AJ52";
String output = new String();
int currentSuit = 0; //Iterator for suits (0-4)
int currentCard = 0; //Current # of card from hand (0-12)
foreach (string suitString in westHand.Split('.')) {
foreach (char cardChar in suitString){
hand[currentCard, 0] = suits[currentSuit];
hand[currentCard, 1] = cardChar;
currentCard++;
}
currentSuit++;
}
for(int x = 0; x < 13; x++)
{
output += "[" + hand[x,0] + "," + hand[x,1] + "]";
}
}
стоимость продукции:
[S,K][S,Q][S,T][S,5][H,K][H,J][H,8][H,7][H,3][C,A][C,J][C,5][C,2]
Предыдущий ответ, на тот случай, если он вам все еще нужен:
Я думаю, что это что-то вроде того, что вы пытаетесь сделать. Это просто C #, но использует класс, так как это объектно-ориентированный язык. :)
char[] suits = { 'S', 'H', 'D', 'C' };
String output = new String();
List<Card> hand = new List<Card>();
string westHand = "KQT5.KJ873..AJ52";
int currentSuit = 0;
foreach (string suitString in westHand.Split('.')) {
foreach (char cardChar in suitString){
Card newCard = new Card(suits[currentSuit], cardChar);
hand.Add(newCard);
}
currentSuit++;
}
foreach (Card currentCard in hand)
{
output += currentCard.ToString();
}
Это класс Карты:
public class Card
{
public char suit, type;
public Card(char suit, char type)
{
this.suit = suit;
this.type = type;
}
public String ToString()
{
return "[" + this.suit + ", " + this.type + "]";
}
}
Выход:
[S, K][S, Q][S, T][S, 5][H, K][H, J][H, 8][H, 7][H, 3][C, A][C, J][C, 5][C, 2]
Опять же, я думаю, это то, что вы хотите, но я не совсем уверен. Дайте мне знать, если я далеко от базы.