player は、プレーヤーの処理を行う関数です。
プレーヤーは、スタンド(ステイ)とドロー(ヒット)はできますが、以下の選択肢(オプション)はありません。
- ダブル・ダウン
- スプリット
- サレンダー
- インシュランス
/* プレーヤーの処理を行う */
void player(int *next, char stack[52][4],
int *nPlayerHands, char PlayerHands[21][4], int *PlayerPoint,
int nDealerHands, char DealerHands[21][4], int DealerPoint) {
int i;
while (1) {
/* カードを画面に表示する */
display(0, *nPlayerHands, PlayerHands, *PlayerPoint,
nDealerHands, DealerHands, DealerPoint);
/* プレーヤーの処理を行う */
printf(" Draw(1) or Stand(2) or Quit(0)? : ");
scanf("%d", &i);
if (i == 1) {/* カードを引く */
printf(" Draw\n");
strcpy(PlayerHands[(*nPlayerHands)++], stack[(*next)++]);
*PlayerPoint = calc(*nPlayerHands, PlayerHands);
if (*PlayerPoint == 0) break;
} else if (i == 2) {/* カードを引かない */
printf(" Stand\n");
break;
} else if (i == 0) {/* 終了する */
exit(0);
} else {
printf("Input Error!\n");
}
}
}







