java - 我正在努力在 Uno 游戏中实现 allocateCards 方法,请问我可以提供一些关于如何实现该方法的建议吗?

标签 java

该方法应该迭代playerHand数组并使用playerHand[i][j] = new UnoCard抽取一张新的随机牌,直到每个玩家的手牌大小为START_HAND。我还应该能够在移动到下一个玩家之前填充每个玩家的手牌。

我已经尝试按照下面的方式进行设置,但我不确定应该去哪里才能成功获得结果。任何帮助将不胜感激!

public static int nPlayers;
    public static int currentPlayer;
    public static UnoCard playerHand[][];
    public static UnoCard currentCard;
    public static final int CARDS_IN_DECK = 112;
    public static final int START_HAND = 7;
    public static boolean direction = true; // true for regular direction, false for reverse direction
    public static int winner;

    public Uno(int nPlayers) {
        this.playerHand = new UnoCard[nPlayers][CARDS_IN_DECK];
        this.currentPlayer = 0;
        this.nPlayers = nPlayers;
    }

public static void distributeCards() {
        for (int i = 0; i < playerHand.length; i++) {
            playerHand[][] = new UnoCard();
        }
    }

最佳答案

我不完全确定我理解您遇到的问题,但我会尽力提供帮助。

看起来您没有正确填充数组。由于您有一个 2D 数组,因此需要一个嵌套循环来执行此操作:

for (int i = 0; i < playerHand.length; i++) {
    for (int j = 0; j < playerHand[i].length; j++){
        playerHand[i][j] = new UnoCard(); 
    }
}

请注意分配中的 [i][j] - 我们将卡片分配给 2D 数组中的特定单元格。

关于java - 我正在努力在 Uno 游戏中实现 allocateCards 方法,请问我可以提供一些关于如何实现该方法的建议吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58396918/

相关文章:

java - 优化 OS X Yosemite 的 Swing 程序

java - 用对象填充数组

java - 如何使用 XPATH 将标签列表从第一个滚动到最后一个?

java - 写入 android USB 端口并将其发送到 RS232 微型机器人端口

java - 在背景框架上使用 Java KeyListener

Java服务器扩展解决方案

java - Android Canvas,具有不同缩放量的多个路径

java - JDK 8 的类型推断如何与泛型一起工作?

java - Process.start() 奇怪的行为

java - 线程 main 中的异常 --> 霍夫曼树解码