私は現在、2 枚のカードをクリックして絵が同じかどうかを確認する記憶ゲーム プロジェクトに取り組んでいます。私が直面している問題は、両方のカードに同じ画像がない場合、2 番目の画像が表示されず、最初の画像も閉じてしまうことです。
これは、何らかのエラーがあると思われるコードです。
public void actionPerformed(ActionEvent e)
{
clicks +=1;
Card clicked = (Card)e.getSource();
clicked.changeColor();
for(int i=0;i<16;i++)
if(clicked == cards.get(i))
openCardIndices.add(i);
if(clicks==2 && openCardIndices.get(openCardIndices.size()-1)!=openCardIndices.get(openCardIndices.size()-2))
{
if(cards.get(openCardIndices.get(openCardIndices.size()-1)).equals(cards.get(openCardIndices.get(openCardIndices.size()-2))))
{
(cards.get(openCardIndices.get(openCardIndices.size()-1))).removeActionListener(this);
(cards.get(openCardIndices.get(openCardIndices.size()-2))).removeActionListener(this);
}
else
{
openCardIndices.remove(openCardIndices.size()-1);
openCardIndices.remove(openCardIndices.size()-1);
//lockCards();
unlockCards();
}
clicks = 0;
}