0

这是我第一次使用 GUI。我似乎无法用它来操纵我的头。我觉得答案很简单(对此我很抱歉),但我就是想不通。:/

我有一个 2D JLabel 数组,每个数组都设置为默认板 ImageIcon。我在每列上方都有指定列号的按钮。在 actionPerformed 方法中,每个按钮都有这个:

if(e.getSource()== (whatever column number button name) )
{
}

我不知道如何将令牌添加到指定令牌的最低行,我认为在找到设置为 ImageIcon p0 的最低行后,我将不得不根据玩家颜色将其设置为 pR 或 pB。但我不确定如何编写一个循环来找到存储 p0 的最低单元格或如何跟踪玩家颜色。

final ImageIcon p0 = new ImageIcon("Board.jpg");// default board box
final ImageIcon pR = new ImageIcon("Red.jpg");
final ImageIcon pB = new ImageIcon("Black.jpg");

JLabel [][] connectFourBoardComp = new JLabel[6][7];
for(int row=0, count=6; row<1; row++)
{
    for(int col=0; col<7; col++, count++)
    {
          connectFourBoardHumn[row][col].setIcon(p…
          System.out.println(connectFourBoardHumn[…
    }
}

任何帮助将不胜感激!谢谢!:)

4

1 回答 1

0

要跟踪当前播放器的颜色,只需在每次用户播放时切换颜色:

if (nextColor == pR) {
    nextColor = pB;
}
else {
    nextColor = pR;
}

要查找带有 p0 图标的第一行(假设最低行位于索引 0 处),只需遍历行直到找到该行:

int firstEmptyRow = connectFourBoardComp.size(); // default case: the the row is full of tokens
for (int i = 0; i < connectFourBoardComp; i++) {
    if (connectFourBoardComp[i][column] == p0) {
        firstEmptyRow = i;
        break; // break out of the loop
    }
}
于 2013-04-14T15:31:25.263 回答