Knight's tour: Difference between revisions
Content added Content deleted
m (→{{header|Python}}: spelling) |
|||
Line 3,220: | Line 3,220: | ||
knightMoves :: Square -> [Square] |
knightMoves :: Square -> [Square] |
||
knightMoves (x, y) = |
knightMoves (x, y) = |
||
[(1, 2), (1, -2), (-1, 2), (-1, -2), (2, 1), (2, -1), (-2, 1), (-2, -1)] >>= |
|||
(\(i, j) -> |
|||
let a = x + i |
|||
b = y + j |
|||
b |
in bool [] [(a, b)] (onBoard a && onBoard b)) |
||
in bool [] [(a, b)] (onBoard a && onBoard b)) |
|||
onBoard :: Int -> Bool |
|||
[(1, 2), (1, -2), (-1, 2), (-1, -2), (2, 1), (2, -1), (-2, 1), (-2, -1)] |
|||
onBoard = (&&) . (0 <) <*> (9 >) |
|||
-- TEST --------------------------------------------------- |
-- TEST --------------------------------------------------- |