public void PlaceMark(int spot, Grid.GRID_TYPE type) { try { grid.PlaceMark(spot, type); } catch (InvalidMoveException e) { throw e; } }
/// <summary> /// Determine if the player won. /// </summary> /// <param name="player">What player to check for a win</param> /// <returns>True if the player has won and false if he player hasn't won</returns> public bool hasWon(Grid.GRID_TYPE player) { // Let's see if someone has won only 8 win conditions // Horizontal if (grid.GetInPosition(0) == (int)player && grid.GetInPosition(1) == (int)player && grid.GetInPosition(2) == (int)player) { return(true); } if (grid.GetInPosition(3) == (int)player && grid.GetInPosition(4) == (int)player && grid.GetInPosition(5) == (int)player) { return(true); } if (grid.GetInPosition(6) == (int)player && grid.GetInPosition(7) == (int)player && grid.GetInPosition(8) == (int)player) { return(true); } // Vertical if (grid.GetInPosition(0) == (int)player && grid.GetInPosition(3) == (int)player && grid.GetInPosition(6) == (int)player) { return(true); } if (grid.GetInPosition(1) == (int)player && grid.GetInPosition(4) == (int)player && grid.GetInPosition(7) == (int)player) { return(true); } if (grid.GetInPosition(2) == (int)player && grid.GetInPosition(5) == (int)player && grid.GetInPosition(8) == (int)player) { return(true); } // Diagnols if (grid.GetInPosition(0) == (int)player && grid.GetInPosition(4) == (int)player && grid.GetInPosition(8) == (int)player) { return(true); } if (grid.GetInPosition(2) == (int)player && grid.GetInPosition(4) == (int)player && grid.GetInPosition(6) == (int)player) { return(true); } return(false); }