记忆游戏 - 比较同一张牌

时间:2015-04-02 14:49:49

标签: java memory

我试图用口袋妖怪卡创建记忆游戏。它似乎有一半的时间工作。当两张图片相同时,它似乎有效,但有时当我点击另一张照片时,它只会隐藏其中一张照片,有时甚至会隐藏错误的照片。 我需要发布我的整个代码吗?如果没有,请点击我的动作,如果它是同一张卡,我会比较。 tableauChoisi是我的数组,其中包含小精灵的数量。 jbtnTout是我的按钮数组

// ------------------------------------------------------------------------
    public void actionPerformed(ActionEvent e) {
// ------------------------------------------------------------------------
        Object src = e.getSource();
         int tamponImage = 0;
        final int temp = tamponImage;
        int tamponIndice = 0;


        for (int i = 0; i < jbtnTout.length; i++) {
            final int ii = i;
            if (src == jbtnTout[i]) {
                click++;
                if (click == 1) {
                    jbtnTout[i].setIcon(icon[tableauChoisi[i]]);
                    tamponImage = (int) (tableauChoisi[i]);
                    tamponIndice = i;
                }

                if (click == 2) {
                    jbtnTout[i].setIcon(icon[tableauChoisi[i]]);
                    click = 0;
                    if (tableauChoisi[tamponImage] == tableauChoisi[i]) {

                        jbtnTout[temp]
                                .setIcon(icon[tableauChoisi[ii]]);
                        jbtnTout[ii]
                                .setIcon(icon[tableauChoisi[ii]]);
                    } else if (tableauChoisi[tamponImage] != tableauChoisi[i]) {

                        new Thread(){
                            public void run(){
                                jbtnTout[temp].setIcon(icon[0]);
                                jbtnTout[ii].setIcon(icon[0]);
                            try{
                            Thread.sleep(5);
                        }catch(InterruptedException e){

                        }

                            }
                    }.start();
                    }
                }
            }
        }
    }

1 个答案:

答案 0 :(得分:0)

您的temp变量始终为0,因为它声明为final,这可以解释为什么它总是与0索引而不是最后点击进行比较。

 int tamponImage = 0;
 final int temp = tamponImage;