だから私はこのプログラムを終わらせようとしています.私がする必要があるのは、このカードゲームのための何らかの形式のユーザー入力を実装することだけですが、これまでに試したことはすべて無限にループするだけです.そして、コードを見ると理にかなっているように見えるので、論理的に何が間違っているのかわかりません。
void players(int deck[])
{
int x;
int a;
a = 1;
printf("Player 1 \n");
printf("Your Hand is: \n");
draw(deck, a);
draw(deck, a);
while(a = 1)
{
printf("What would you like to do: Press 1 to Draw. 2 to Stay. \n");
scanf("%d" , &x);
if(x = 1)
{
draw(deck, a);
}
else
{
a--;
}
}
}
これが問題の入力です
void draw(int deck[SIZE], int a)
{
int numCards = 10;
int i;
int hand[numCards];
int card;
for(i = 0; i < numCards && top > 0; i++)
{
card = deck[top-1];
hand[i] = card;
top--;
}
if(a != 0)
printcards(card);
else
for(i = 0; i < numCards && top > 0; i++)
printcards(card);
}
これは、ループがカードを引くために使用する関数です (printcards は、カードを印刷するだけの別の関数です) プレイヤーが draw を呼び出すと機能しますが、前述のように、2 を押しても無限にカードを呼び出します (終了することになっています)。 . だから私は何が間違っているのか完全にはわかりません。