嘿,大家我正在做一個記憶遊戲,它是一個4x4板,你點擊瓷磚揭示下面是什麼,你必須找到相應的圖片。我在鼠標點擊後的邏輯遇到麻煩,並將它們分配給guess1和guess2。鼠標點擊2D陣列註冊
Joption面板是我如何測試,看看是否猜測1和猜測2註冊。每次猜測1都可以正常工作,但我不知道如何進行第二次猜測 這是我的嘗試。
public void displayHit(Graphics g)
{
//earlier on in the code mouseClicked provides the x and y indexes for the place where you click
if (mouseClicked)
{
//method I coded to assign whereever you clicked on the 400x400 board to match the 4x4 array
centerClick(x1,y1);
guess1 = board[row][column];
board[row][column] = board[x1][y1];
guess1 = board[x1][y1];
JOptionPane.showInputDialog(guess1 + "this is guess1");
guess2 = -1;
setColor(g);
centerHit(xMouse, yMouse);
g.fillOval(xMouse, yMouse, 40, 40);
mouseClicked = false;
if ((guess2 == -1) && (mouseClicked))
{
centerClick(x1,y1);
guess2 = board[row][column];
board[row][column] = board[x1][y1];
guess2 = board[x1][y1];
JOptionPane.showInputDialog(guess2 + "this is guess2");
}
}
,仍然有我遇到過的相同問題。當我點擊一塊瓷磚時,它會顯示「這是猜測1」,然後在「這是猜測2」之後立即顯示,所以它每次都在貫穿整個過程,而不是分開。 – user1215307 2012-04-26 18:20:14
好吧,我現在明白了。我還必須添加 mouseClicked = false; 然後將其添加到第二條if語句。感謝您的建議。我應該使用布爾值而不是int – user1215307 2012-04-26 18:21:36
是的,我忘記了這一點,但應該工作!如果您的問題得到解決,您可以通過點擊您認爲正確的答案的「複選標記」接受答案。 – 2012-04-26 18:21:42