Virtuelle Zockhalle 0.05 beta
Datenstrukturen | Makrodefinitionen | Typdefinitionen | Aufzählungen | Funktionen

cardreel.h-Dateireferenz

»Walzen«, die Karten repräsentieren. Mehr ...

#include "elements.h"

gehe zum Quellcode dieser Datei

Datenstrukturen

struct  poker_result
 Ergebnis einer Kombinationsauswertung. Mehr ...

Makrodefinitionen

#define CARD_INVALID   _mkcard (SUIT_INVALID, VAL_INVALID)
 Ungültige Karte.
#define CARD_JOKER   _mkcard (SUIT_JOKER, VAL_JOKER)
 Joker.
#define card_suit(CARD)   ((enum card_suit) ((CARD) & ((1 << _CARD_SUIT_BITS) - 1)))
 Farbe einer Karte ermitteln.
#define card_value(CARD)   ((enum card_value) ((CARD) >> _CARD_SUIT_BITS))
 Wert einer Karte ermitteln.
#define card_is_joker(CARD)   ((CARD) == CARD_JOKER)
 Handelt es sich um eine Jokerkarte?
#define card_is_valid(CARD)   (card_suit (CARD) != SUIT_INVALID && card_value (CARD) != VAL_INVALID)
 Ist diese Karte gültig?
#define card_is_invalid(CARD)   (!card_is_valid ((CARD)))
 Ist diese Karte ungültig?

Typdefinitionen

typedef unsigned short int card_t
 Typ einer Karte.

Aufzählungen

enum  card_suit {
  SUIT_INVALID, SUIT_DIAMONDS, SUIT_HEARTS, SUIT_SPADES,
  SUIT_CLUBS, SUIT_JOKER
}
 

Farben einer Karte.

Mehr ...
enum  card_value {
  VAL_INVALID, VAL_ACE, VAL_2, VAL_3,
  VAL_4, VAL_5, VAL_6, VAL_7,
  VAL_8, VAL_9, VAL_10, VAL_JACK,
  VAL_QUEEN, VAL_KING, VAL_JOKER
}
 

Werte einer Karte.

Mehr ...
enum  pokerhand {
  PHND_NO_HAND, PHND_ONE_PAIR, PHND_TWO_PAIRS, PHND_THREE_OF_A_KIND,
  PHND_STRAIGHT, PHND_FLUSH, PHND_FULL_HOUSE, PHND_FOUR_OF_A_KIND,
  PHND_STRAIGHT_FLUSH, PHND_ROYAL_FLUSH, PHND_FIVE_OF_A_KIND
}
 

Symbolische Konstanten für die Pokerkombinationationen.

Mehr ...

Funktionen

void cards_init (unsigned njokers)
 Initialisierung der Karten.
void cards_shuffle (void)
 Karten mischen.
card_t cards_draw (void)
 Ziehen einer Karte vom Kartenstapel.
void cards_peek (unsigned n, card_t *peek_ar)
 Die obersten Karten anschauen.
int get_poker_combination (const card_t c[5], struct poker_result *r)
 Poker-Kombination ermitteln.
const char * get_card_suit_name (card_t c)
 Name der Kartenfarbe ermitteln.
const char * get_card_value_name (card_t c)
 Name des Kartenwertes ermitteln.
const char * get_card_name (card_t c, char *buf, size_t bufsz)
 Name einer Karte ermitteln.
const char * get_hand_name (enum pokerhand hand)
 Name einer Kombination ermitteln.

Ausführliche Beschreibung

»Walzen«, die Karten repräsentieren.

Definiert in Datei cardreel.h.