我想知道是否可以以任何方式改变它,以便我可以获得输出:
P1 Hand: 10 of diamonds, 9 of clubs, 5 of spades, Queen of spades, 4 of clubs.
P2 Hand: 7 of diamonds, 10 of spades, Jack of clubs, 6 of diamonds, 5 of clubs.
P3 Hand: 8 of spades, 8 of diamonds, 4 of spades, 3 of spades, 10 of hearts.
P4 Hand: Ace of spades, 8 of clubs, 6 of spades, Jack of spades, 3 of hearts.
永远不要在两个不同的玩家身上使用同一张牌。我的代码在这里:
import java.util.Random;
import java.util.Arrays;
import java.util.ArrayList;
public class cardGame {
public static void main(String[] args) {
Random sad = new Random();
ArrayList<String> all = new ArrayList<>(Arrays.asList("Ace of spades","2 of spades","3 of spades","4 of spades","5 of spades","6 of spades","7 of spades","8 of spades","9 of spades","10 of spades","Jack of spades","Queen of spades","King of spades","Ace of spades","2 of spades","3 of spades","4 of spades","5 of spades","6 of spades","7 of spades","8 of spades","9 of spades","10 of spades","Jack of spades","Queen of spades","King of spades","Ace of hearts","2 of hearts","3 of hearts","4 of hearts","5 of hearts","6 of hearts","7 of hearts","8 of hearts","9 of hearts","10 of hearts","Jack of hearts","Queen of hearts","King of hearts","Ace of diamonds","2 of diamonds","3 of diamonds","4 of diamonds","5 of diamonds","6 of diamonds","7 of diamonds","8 of diamonds","9 of diamonds","10 of diamonds","Jack of diamonds","Queen of diamonds","King of diamonds","Ace of clubs","2 of clubs","3 of clubs","4 of clubs","5 of clubs","6 of clubs","7 of clubs","8 of clubs","9 of clubs","10 of clubs","Jack of clubs","Queen of clubs","King of clubs"));
ArrayList<String> trump = new ArrayList<>(Arrays.asList("spades","hearts","diamonds","clubs"));
System.out.println("Boure hands and trump game.");
System.out.println("");
System.out.println("Trump: " + trump.remove(sad.nextInt(trump.size())) + ".");
System.out.println("");
System.out.println("P1 Hand: " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + ".");
System.out.println("");
System.out.println("P2 Hand: " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + ".");
System.out.println("");
System.out.println("P3 Hand: " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + ".");
System.out.println("");
System.out.println("P4 Hand: " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + ", " + all.remove(sad.nextInt(all.size())) + ".");
}
}
顺便说一句重复的内容在某种程度上没有帮助:它不包含数组,而这正是我正在处理的。话虽如此,我无法查看问题并找出可以更改的地方。
最佳答案
从一副牌组
开始,然后将牌从牌组
中移除并添加到每个玩家
中。 Player
的Collection
,它模拟了Player
的手牌。
这样玩家只能从牌组中获取牌,并且您可以使用每张适当的牌中的一张来初始化牌组。
关于java - 在列表中创建互斥值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45539260/