gpt4 book ai didi

java - 如何为 Blackjack 创建 for 循环?

转载 作者:行者123 更新时间:2023-12-01 12:08:46 26 4
gpt4 key购买 nike

尝试创建二十一点游戏,但我在弄清楚如何打印纸牌和纸牌阵列时遇到了一些麻烦。

因此,当玩家看到前两张牌后,他们可以选择要牌或停牌。

当他们选择击中时,我希望它从我创建的数组中打印一张随机卡,并将卡的整数值(使用 .rank 获取 int)添加到变量中以计算他们的分数。

这里我做了一个循环,用卡片填充了两个数组。

Card[] dealerDeck = new Card[21];
Card[] playerDeck = new Card[21];

for (int i = 0; i < 21; i++)
{
dealerDeck[i] = deck.cards[i+11];
playerDeck[i] = deck.cards[i+30];
}

如何使用 for 循环从数组中打印一些随机卡片?

String temp;
int userChoice = 0;

while (score < 21 || userChoice != 1)
{
System.out.println("Do you want to HIT or STAND?");
temp = scanner.nextLine();

if (temp.contains("H") || temp.contains ("h"))
{
System.out.println(" "); //This is for aesthetics
System.out.println("The dealer gave you a ");

//you can use .printCard(); to print the card out
// as King of Hearts, Four of Spades, etc.
}
else if (temp.contains("S") || temp.contains ("s"))
{
System.out.println(" ");
System.out.println("Your final score is "+score+".");
userChoice++;
}
}

抱歉,如果这有点令人困惑,英语是我的母语。

我想我脑子里已经有了一切,我只需要将脑子里的东西变成代码即可。预先感谢!

最佳答案

首先,您需要将数组更改为 ArrayList,如下所示:

ArrayList<Card> dealerDeck = new ArrayList<Card>();
ArrayList<Card> playerDeck = new ArrayList<Card>();

这将使您能够从卡片阵列中删除卡片并更轻松地修改它们。要选择随机卡,请使用以下命令:

Random rand = new Random();
void addRandomCard() {
int randIndex = rand.nextInt(dealerDeck.size());
dealerDeck.remove(randIndex);
playerDeck.add(randIndex);
}

这是您要找的吗?

关于java - 如何为 Blackjack 创建 for 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27392955/

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