我正在用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;
}
任何帮助将不胜感激,谢谢:)