Ich versuche, einen einfaches Poker-Spiel Texas Hold'em Stil mit c zu erstellen.Wie erstellt man ein Kartenspiel mit Gesichtern und Anzügen mit int Arrays?
Zuerst habe ich versucht, ein Kartenspiel mit 2 char Arrays ..
char *suits_str[4] = {"Spades", "Hearts", "Diamonds", "Clubs"};
char *faces_str[13] = {"2", "3", "4", "5", "6", "7", "8", "9",
"10", "J", "Q", "K", "A"};
Alles zu schaffen ist gut gelaufen, es war ziemlich einfach, die Karten darzustellen. Aber wenn es darum geht, die Hände zu analysieren, um den Gewinner zu bestimmen, scheint es, als ob die Verwendung von Werten vom Typ "Char" eine ziemlich schlechte Idee wäre. Also möchte ich die Anzüge in int Werte ändern, wobei 0 = Kreuz, 1 = Karo, 2 = Herz, 3 = Pik und 0 = 2 (Zwei), 1 = 3, 11 = König , 12 = Ace. (Das ist meine Idee, aber ich bin nicht sicher, wie diese Zeichenketten, um sie noch vergeben)
Also hier habe ich meine Arrays,
int suits[4] = {0, 1, 2, 3};
int faces[13] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
aber ich weiß nicht, wie diejenigen Werte int konvertieren in ihre übereinstimmenden String-Werte. Was Methode sollte ich verwenden?
Ich verstehe die Enums nicht ganz. Warum musst du int suit = SPADES erstellen; int face = ACE; Kannst du auch die Wörter in der Enum-Liste enthalten? Oder sind sie nur für uns, um zu wissen, welcher welcher ist? –
@JasonBui: enums sind nützlich, um typisierte Namen mit einem numerischen Wert zu erstellen. Es ist lesbarer, 'int suit = SPADES;' zu schreiben, als den numerischen Wert direkt wie in 'int suit = 0;' zu verwenden. Die 2 Beispiele dienen nur zur Veranschaulichung. Das letzte Codefragment ist ein vollständigeres Beispiel dafür, wie Karten für Ihre Zwecke verwendet werden können. – chqrlie
Sicher! Danke für die Hilfe! –