gpt4 book ai didi

C 编程整数

转载 作者:行者123 更新时间:2023-11-30 15:21:01 25 4
gpt4 key购买 nike

我需要制作一个二十一点程序。问题是,正如您在代码中看到的,有一个循环生成卡片而无需重复。

如果我按下某个键,它会打印如下一行:“5钻石”然后按另一个键,例如它会打印:“8-三叶草”

那么如何将这两个添加在一起而不弄乱代码。因为我想检查这两者之和的值。我需要做什么?

int cards()
{
int card[51];
int used[51];

int x = 0;
int playerhand = 0;
int dealerhand = 0;
int sum = 0;

while(!kbhit())
x++;

srand(x % 100000);

for(int i = 0; i <= 51; i++)
used[i] = 0;

for(;;)
{
int w;
do
{
w = rand() % 52;
}
while(used[w] == 1);

used[w] = 1;

int value = w % 13 + 1;

if(value >= 2 && value <= 10)
printf("%d-", value);
else
{
if(value == 1)
printf("Ace ");
if(value == 11)
printf("Jack ");
if(value == 12)
printf("Queen ");
if(value == 13)
printf("King ");
}

int suit = (int)(w / 13);

if(suit == 0)
printf("Clover");
if(suit == 1)
printf("Spade");
if(suit == 2)
printf("Heart");
if(suit == 3)
printf("Diamond");

printf("\n");
getch();
}
}

最佳答案

您应该计算这些值的总和以及 A 的数量。

如果一张牌是Ace,则添加11,如果是K、Q或J,则添加10,否则添加value .

如果总和大于21并且您看到A,则为每个A扣除10,直到您回落到22以下.

关于C 编程整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29714624/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com