public bool SurroundingTilesCheck(int rowMove, int columnMove) { var surroundingTiles = new ReversiColor[8]; //Up Tile surroundingTiles[0] = getTileColor(rowMove - 1, columnMove); //Left Tile surroundingTiles[1] = getTileColor(rowMove, columnMove - 1); //Right Tile surroundingTiles[2] = getTileColor(rowMove, columnMove + 1); //Down Tile surroundingTiles[3] = getTileColor(rowMove + 1, columnMove); //LeftUp tile surroundingTiles[4] = getTileColor(rowMove - 1, columnMove - 1); //RightUp tile surroundingTiles[5] = getTileColor(rowMove - 1, columnMove + 1); //LeftDown surroundingTiles[6] = getTileColor(rowMove + 1, columnMove - 1); //RightDown surroundingTiles[7] = getTileColor(rowMove + 1, columnMove + 1); if (surroundingTiles.All(st => st.Equals(ReversiColor.None))) { return(true); } for (int i = 0; i < 4; i++) { if (surroundingTiles[i].Equals(ColorTurn)) { return(true); } } return(false); }