1
public void WinnerCheck()
{
if (m_allButtons[0][0].getText() == m_allButtons[0][1].getText() && m_allButtons[0][1].getText() == m_allButtons[0][2].getText())
{
DisableAllButtons();
}
else if (m_allButtons[1][0].getText() == m_allButtons[1][1].getText() && m_allButtons[1][1].getText() == m_allButtons[1][2].getText())
{
DisableAllButtons();
}
}
private void AddAllEventHandlers()
{
if (m_allButtons != null)
{
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
JButton currentButton = m_allButtons[i][j];
currentButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0)
{
ChangeButtonText(currentButton);
WinnerCheck();
}
});
}
}
}
}
當我在ActionEvent中調用WinnerCheck()方法時,它實際上禁用了所有按鈕。我試圖將邏輯寫到所有按鈕被禁用的地方,一旦有人贏得了tic tac toe遊戲;我的意思是擁有任何具有相同值(X或O)的行或列,但沒有任何玩家值或任何分配的值。它只是從X開始,每次點擊都會有相反的值。謝謝!如何在Java的井字遊戲中寫出勝利者的邏輯?
如果要比較字符串,請使用'.equals'而不是'=='。而一個空字符串相當於另一個空字符串,所以當你檢查時,你必須確保它們是「X」或「O」,而不僅僅是一個空字符串。 – Gosu
「我怎麼寫這個?」對SO來說可能太寬泛了,它不是一個代碼寫入服務。 – immibis