首页 > 解决方案 > 记忆游戏 - 如何一次只能选择两张牌

问题描述

我已经在 Netbeans 上创建了一个记忆游戏 GUI,到目前为止,它运行良好。但是,我有两个问题:

  1. 它允许用户一次点击两张以上的牌,这基本上推翻了整个游戏的要点。
  2. 一旦两个项目匹配并且两者都显示“完成”图像,它们仍然可以再次单击。

Play 按钮“初始化”游戏:

for (int i = 0; i <= 15; i++) {
        change[i] = 1;
    }
    String temp;
    for (int x = 0; x <= 7; x++) {
        for (int y = 1; y <= 2; y++) {
            temp = Integer.toString(x);
            set.add(temp);
        }
    }
    for (int x = 0; x <= 15; x++) {
        double index = Math.floor(Math.random() * (16 - x));
        int index1 = (int) index;
        cards.add(set.get(index1));
        set.remove(set.get(index1));
    }

16 张卡片中的每一张都有单独的代码,为它们分配一个随机排序的图像。在点击两张卡片后,用户按下猜测按钮。如果卡片匹配,则显示“完成”图像,如果不匹配,则返回。例如,这是 Guess 按钮代码(适用于所有 16 张卡片):

count = 0;
    if (c1 == c2) {
        cardsLeft = cardsLeft - 2;
        for (int y = 1; y <= 2; y++) {
            if (change[0] == 0) {
                card1Button.setIcon(done);
                change[0] = 2;
          }
        }
    } else {
        for (int y = 1; y <= 2; y++) {
            if (change[0] == 0) {
                card1Button.setIcon(back);
                change[0] = 1;
            }
        }
    }

选择两个已经匹配的任何一对时,我该怎么做才能禁用所有其他按钮?

标签: user-interfaceeventsclick

解决方案


推荐阅读