gpt4 book ai didi

java - 一副牌如何处理 4 手 10 张牌?

转载 作者:行者123 更新时间:2023-12-02 07:19:17 26 4
gpt4 key购买 nike

所以我有一副牌的代码,但我不知道如何让另一个类来处理 4 手牌,每手 10 张牌。另一类应在屏幕上以文字形式打印 4 手 10 张随机卡片。有人可以向我展示如何完成此任务的代码吗?我也使用 blueJ。

下面是我的套牌代码:

public class Card 
{
public static void main(String[] args)
{
String[] suit = { "Clubs", "Diamonds", "Hearts", "Spades" };
String[] rank = { "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King", "Ace" };

int SUITS = suit.length;
int RANKS = rank.length;
int N = SUITS * RANKS;

// initialize deck
String[] deck = new String[N];
for (int i = 0; i < RANKS; i++) {
for (int j = 0; j < SUITS; j++) {
deck[SUITS*i + j] = rank[i] + " of " + suit[j];
}
}

// shuffle the deck
for (int i = 0; i < N; i++) {
int r = i + (int) (Math.random() * (N-i));
String t = deck[r];
deck[r] = deck[i];
deck[i] = t;
}

for (int i = 0; i < N; i++) {
System.out.println(deck[i]);
}
}

}

最佳答案

本着游戏的精神,让我们创建一个可以有效处理的层次结构。最大的范围将是游戏,它将操作委托(delegate)给其他类。我们还将有 3 个类别:套牌、庄家、玩家。

游戏将有一个发牌者和一个玩家数组列表经销商将拥有一副牌玩家将有一个字符串数组列表,指示您的牌

游戏可以告诉荷官创建并洗牌。您可以调用 dealCards,将玩家作为参数传递给庄家,庄家可以根据玩家的数量,为他们提供牌组中的下一个元素,并从牌组中删除该元素。

一旦你发完所有牌,游戏就会告诉玩家亮出他们的手牌,并打印结果。

public Dealer{
private Deck deck;

....

public void shuffleDeck(){...}
public void dealCards(List<Player> players){ ...}
}

public Player{
private List<String> hand;

....

public void addToHand(String card){....}
}

关于java - 一副牌如何处理 4 手 10 张牌?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14463275/

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