メイン関数

メイン関数

main は、「ドロー・ポーカーの C 言語プログラム」のメイン関数です。

必要な関数を呼び出して、全体を制御しています。


main () {
  int  *next;      /* 次に配るカード */
  int  *stack;     /* カードの山 */
  int  player[M];  /* プレーヤーの手札 */
  char *hands[] = {/* 役の種類 */
    "No Pair",
    "One Pair",
    "Two Pair",
    "Three of a Kind",
    "Straight",
    "Flush",
    "Full House",
    "Four of a Kind",
    "Straight Flush",
    "Royal Straight Flush"
  };

  /* 動的領域を確保する */
  stack = (int *)malloc(sizeof(int) * IMAX * NDECK);
  if (stack == NULL) {
    printf("Memory Allocation Error!\n");
    exit(1);/* 異常終了 */
  }

  /* カードを混ぜる */
  shuffle(stack);

  /* カードを配る */
  for (*next = 0; *next < M; (*next)++) player[*next] = stack[*next];

  /* カードを画面に表示する */
  display(player);

  /* カードを交換する */
  change(player, stack, next);

  /* カードを画面に表示する */
  display(player);

  /* 役を確認する */
  printf("%s\n", hands[check(player)]);

  /* 動的領域を解放する */
  free(stack);

  exit(0);/* 正常終了 */
}