解决我自己的难题

时间:2011-10-26 11:09:14

标签: java swing

我一直在制作一款游戏并且一切顺利,但是我已经让它变得随机,我无法弄清楚如何实现一个求解函数。

我生成了36个按钮,每个按钮的编号在1到18之间两次,因此在板上有匹配对可以找到。然后在点击时为每个人分配一个其编号的图标,如果按正确的顺序得到两个,则显示两者。 (记忆游戏)

我想从我的按钮中提取命令动作而不点击它们,但是我按下了这样的按钮:

 generateArray();
        String letters[] = {"0", "a", "b", "c", "d", "e", "f"};        
        int count = 0;            

        for (int f=1; f < 7;f++){

            for (int i=1; i < 7;i++){
                btn[i] = new JButton(letters[f]+i);
                btn[i].setName(letters[f]+i);
                mainGameWindow.add(btn[i]);
                btn[i].addActionListener(this);
                String StringCommand = Integer.toString(randomArrayNum());
                btn[i].setActionCommand(StringCommand);
                count++;
                if(count == 18){
                    generateArray();
                }
            }
        }

我已经尝试在循环中运行按钮数组,但它没有提供我想要的东西。

如何从按钮阵列获取按钮及其命令操作?

1 个答案:

答案 0 :(得分:3)

您用于btn[]的索引不正确,您只记住6个按钮!

而不是btn[i]在任何地方btn[f * 6 + i]使用,这样你就会记住所有按钮。

建议,你应该从0开始索引而不是1,因为Java数组索引是从0开始的。