private void enableLegalMoves() { List <int> list = new List <int>(); if (m_gameLogics.m_PlayerTurn == 1) { list = m_gameLogics.LegalMovesToList(m_gameLogics.m_Player1, m_gameLogics.m_Player2); } else if (m_Settings.isVsAI == false && m_gameLogics.m_PlayerTurn == -1) { list = m_gameLogics.LegalMovesToList(m_gameLogics.m_Player2, m_gameLogics.m_Player1); } else if (m_Settings.isVsAI == true && m_gameLogics.m_PlayerTurn == -1) { m_gameLogics.ComputerMove(m_gameLogics.m_Player2, m_gameLogics.m_Player1); disableButtons(); if (m_gameLogics.IsAnyLegalMoves(m_gameLogics.m_Player1, m_gameLogics.m_Player2) == true) { m_gameLogics.m_PlayerTurn *= -1; enableLegalMoves(); } else if (m_gameLogics.IsAnyLegalMoves(m_gameLogics.m_Player2, m_gameLogics.m_Player1) == true) { m_gameLogics.m_PlayerTurn = -1; enableLegalMoves(); } else { m_gameLogics.endGame(); } } for (int i = 0; i < list.Count / 6; i++) { m_ButtonBoard[list[(i * 6)] - 1, list[(i * 6) + 1] - 1].Enabled = true; m_ButtonBoard[list[i * 6] - 1, list[(i * 6) + 1] - 1].BackColor = Color.Gray; } }