尝试创建一个二十一点游戏,我在弄清楚如何打印和一系列卡片方面遇到了一些麻烦。
所以在玩家看到他们的前两张牌之后,他们可以选择击中或站立。
当他们选择点击时,我希望它从我创建的数组中打印一张随机卡,并将卡的整数值(使用.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-loop从数组中打印一些随机卡?
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++;
}
}
对不起,如果这有点令人困惑,英语是我的第一语言。
我想我已经掌握了所有这一切,我只需要了解代码中的内容。 提前谢谢!
答案 0 :(得分:1)
首先,您需要将数组更改为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);
}
这是你在找什么?