private void OnButtonPress(object sender, EventArgs e) { Button button = sender as Button; if (!m_IsWarriorSelected) { if (!button.Text.Equals(" ")) // select warrior { button.BackColor = Color.DodgerBlue; m_WarriorButton = button; m_IsWarriorSelected = true; } else { MessageBox.Show("Please choose your warrior to move!"); } } else { if (button == m_WarriorButton && m_IsNewWarriorSelectionAvailable) // unselect warrior { button.BackColor = Color.White; m_WarriorButton = null; m_IsWarriorSelected = false; m_IsNewWarriorSelectionAvailable = true; } else if (button.Text.Equals(" ")) { m_ButtonSelected = button; // true if all posible kicks done. if (m_GameController.PlayerMove(string.Format("{0}{1}", m_WarriorButton.Name.Substring(6, 2), button.Name.Substring(6, 2)))) { m_WarriorButton.BackColor = Color.White; m_WarriorButton = null; m_ButtonSelected = null; m_IsWarriorSelected = false; m_IsNewWarriorSelectionAvailable = true; m_GameController.TurnOver(); m_GameController.checkGameStatus(); } } else if (m_IsNewWarriorSelectionAvailable) { m_ButtonSelected = null; MessageBox.Show("Selected cell must be empty!"); } else { m_ButtonSelected = null; MessageBox.Show("You must kick again!"); } } }