当前位置: 首页 > 知识库问答 >
问题:

连接四个;2D阵列混淆

墨安阳
2023-03-14

这是我第一次使用 GUI。我似乎无法用它来操纵我的头脑。我觉得答案很简单(我对此感到抱歉),但我只是无法把它记进我的脑海里。:/

我有一个2D JLabel数组,每个数组都设置为一个默认的板ImageCon。我在每列上方都有指定列号的按钮。在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[…
    }
}

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

共有1个答案

端木乐语
2023-03-14

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

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
    }
}
 类似资料:
  • 问题内容: 我有一个像这样的3D矩阵 并希望将它们以网格格式堆叠,最后得到 有没有一种方法,而无需明确地对其进行hstacking(和/或vstacking)或添加额外的维度并重塑(不确定这样做是否可行)? 谢谢, 问题答案: In [27]: x = np.arange(16).reshape((4,2,2)) 我在这里发布了用于将数组重塑/取消塑形的更多常规功能。

  • 问题内容: 我正在自学一些Java,并且坚持创建2D数组,该数组使用随机值对其进行初始化,然后创建该数组的转置。 示例输出为: 原始矩阵 转置矩阵 ^应该是最终输出。代码的一些帮助将不胜感激! 如果行或列的数量超出指定范围,我想编写代码以生成错误消息。以及是否从命令行读取矩阵元素而不是随机生成它们。 问题答案: 这是返回转置矩阵的int [] []的简单方法… 比起打印二维矩阵,您可以使用如下方法

  • 问题内容: 我想在Go中排序一个二维数组。谁能建议我该怎么做? 例如,如果我有, 然后有类似的东西, 问题答案: 您必须定义自己如何对这种类型进行排序。您可以创建必要的方法来使用该 接口,并根据需要使用指针来更改数组值: https //play.golang.org/p/thdf-k2k3o 或使用该 函数,转换 为切片并提供适当的较少函数: https //play.golang.org/p/

  • 我有一个带有二维数组的Java代码,我想重写这段代码,看起来它的代码比我以前写的要少。 我的代码的主要任务是在1中包含立方体。 有没有办法解决这个问题? 我的数据: 我的代码:

  • 我正在创建一个寻路程序,我有一个2d整数数组,其中1表示可以通过/打开的障碍,0表示可以通过/打开。 起始网格如下: 其起点为[0,0],终点为[9,9]。 我想创建一个方法,获取地图并在随机位置返回20个随机障碍物(1),但起点、终点和现有障碍物不能更改。

  • 基本上,我试图询问用户的输入,并且输入应该使用单个扫描仪存储在两个数组中。使用two会询问用户两次,这是不切实际的。代码如下所示 如果用户选择选项1,用户将得到数组中的一些主题(我没有包括),并要求输入分数。然后输入将进入期中或期末数组,但我似乎无法使用一台扫描仪。 如果有比我提出的想法更好的想法,那么请分享。我在Java还是新手,也是第一次使用stackoverflow。谢谢!