カードを交換する
change は、カードを交換する関数です。
捨てるカードを標準入力から受取り、代わりにカードの山から補充します。
/* カードを交換する */
void change(int player[5], int stack[52], int next) {
int i;
int flag[5];/* カードの交換フラグ */
/* フラグを初期化する */
for (i = 0; i < 5; i++) flag[i] = 0;
/* 交換するカードを決定する */
while (1) {
printf("Please select the card(s) you want to change (1 - 5). ");
printf("To finish, input 0.\n");
scanf("%d", &i);
if ((1 <= i) && (i <= 5)) flag[i - 1] = 1;
else if (i == 0) break;
else printf("Input Error!\n");
}
/* カードを交換する */
for (i = 0; i < 5; i++) if (flag[i] == 1) player[i] = stack[next + i];;
}







