Improve code

This commit is contained in:
daniele 2024-12-06 19:55:10 +01:00
parent a94312463b
commit 1b5a8ee458
Signed by: fuxino
GPG Key ID: 981A2B2A3BBF5514
3 changed files with 9 additions and 11 deletions

View File

@ -69,11 +69,9 @@ checkGridLoop :: Position -> Direction -> Grid -> Bool
checkGridLoop startPosition direction grid = let (nextPosition, newDirection) = getNextPosition startPosition direction grid checkGridLoop startPosition direction grid = let (nextPosition, newDirection) = getNextPosition startPosition direction grid
newDirectionChar = printDirection newDirection newDirectionChar = printDirection newDirection
newGrid = markVisited nextPosition newDirectionChar grid newGrid = markVisited nextPosition newDirectionChar grid
in if not $ nextPosition `isInside` grid in (nextPosition `isInside` grid)
then False && ((getGridVal nextPosition grid == newDirectionChar)
else if getGridVal nextPosition grid == newDirectionChar || checkGridLoop nextPosition newDirection newGrid)
then True
else checkGridLoop nextPosition newDirection newGrid
setGridObstacles :: Position -> Grid -> [Grid] setGridObstacles :: Position -> Grid -> [Grid]
setGridObstacles startPosition grid = let positions = [ (x, y) | x <- [0..(length grid - 1)], y <- [0..(length (head grid) - 1)], (x, y) /= startPosition, getGridVal (x, y) grid == 'X' ] setGridObstacles startPosition grid = let positions = [ (x, y) | x <- [0..(length grid - 1)], y <- [0..(length (head grid) - 1)], (x, y) /= startPosition, getGridVal (x, y) grid == 'X' ]