#ifndef CARD_H #define CARD_H /** * @brief トランプカードの構造体 * * 1枚のカードを表す構造体。 */ typedef struct { char suit; /**< カードのスート: 'S'(スペード), 'H'(ハート), 'D'(ダイヤ), 'C'(クラブ) */ int rank; /**< カードの数字: 1(エース)から13(キング) */ } Card; /** * @brief デッキの初期化 * * 標準的な52枚のカードデッキを順番に作成する。 * 全てのスートについて1-13の数字を設定。 * * @param deck 52枚のカード配列へのポインタ */ void initDeck(Card *deck); /** * @brief デッキのシャッフル * * フィッシャー・イェーツのアルゴリズムを使用して * カードをランダムに並び替える。 * * @param deck 52枚のカード配列へのポインタ */ void shuffleDeck(Card *deck); /** * @brief カードの表示 * * アスキー文字とカラー表示を使用してカードを表示する。 * ハートとダイヤは赤色、スペードとクラブは黒色で表示。 * * @param card 表示するカード */ void printCard(const Card card); /** * @brief カードの裏面表示 * * アスキー文字を使用してカードの裏面を表示する。 */ void printCardBack(); #endif