1

我正在用java编写一个卡片匹配程序,但我碰到了一堵墙。我的目标是让所有卡片面朝下显示在屏幕上,当用户点击一张卡片时,它应该面朝上翻转并等待另一张卡片被点击并面朝上。在两张牌被翻转后,它应该检查它们是否相等并将它们从屏幕上清除,如果不是,它们应该翻转回面朝下。我的问题是,当我翻转第二张卡片时,它会立即检查它们是否相等,所以它甚至看起来不像翻转了,让用户没有时间看它。我已经排除了检查它们是否相等的代码,因为我已经有了正确的

 int count = 0;
public void mouseClicked(MouseEvent me)
{
    //check if click occurred on one of the cards, if so flip card
    for(int x=0; x<20; x++)                    //check the 20 cards
    {
        if(cardList.get(x).contains(me.getX(), me.getY()))
        {
            count++;              //count is increased with each click
            cardList.get(x).flip();                       //flip the card
            repaint();                      
            flipCard(x, cardList.get(x).number, count); 
        }
    }
}

public void flipCard(int card, int value, int counter)
{
    int cardNum = card;
    int cardVal = value;
    count = counter;

    if (count == 2)          //if count is two it should check if they are equal
    {
        for(int x=0; x<20; x++)  //if wrong flip them all back
        {
            cardList.get(x).flipAll();
        }
    }
    count = 0;
}

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

4

0 回答 0