private bool checkContinueOfSequence(Utilities.Point i_validStepPoint, int i_xDirection, int i_yDirection, String i_playerShape) { int currentXpoint = i_validStepPoint.X(); int currentYpoint = i_validStepPoint.Y(); currentXpoint += i_xDirection; currentYpoint += i_yDirection; if ((isPointInBorder(currentXpoint, currentYpoint))) { if ((m_board[currentXpoint, currentYpoint] != null) && (m_board[currentXpoint, currentYpoint] != i_playerShape)) { while ((isPointInBorder(currentXpoint, currentYpoint))) { if (m_board[currentXpoint, currentYpoint] == i_playerShape) { return(true); } currentXpoint += i_xDirection; currentYpoint += i_yDirection; } } } return(false); }
private bool isStepIsValid(List <Utilities.ValidStep> i_validSteps, Utilities.Point i_pointToCheck) { int sizeOfList = i_validSteps.Count; Utilities.ValidStep[] CloneValidSteps = new Utilities.ValidStep[sizeOfList]; i_validSteps.CopyTo((CloneValidSteps)); foreach (Utilities.ValidStep currentStepToCheck in CloneValidSteps) { if (!(currentStepToCheck.GetPoint().X() == i_pointToCheck.X() && currentStepToCheck.GetPoint().Y() == i_pointToCheck.Y())) { i_validSteps.Remove(currentStepToCheck); } } return(i_validSteps.Count > 0); }