diff --git a/cw/src/Challenges.hs b/cw/src/Challenges.hs index 9c5003837def694f20ec25ece711d3d41aa079e0..19484800c84970f9d77e1866211a82b5ca47a62f 100644 --- a/cw/src/Challenges.hs +++ b/cw/src/Challenges.hs @@ -166,9 +166,11 @@ insertString rg s gen | elemAt rg (x,y) /= Rand && ((x,y),newGen) = generatePos gen (length rg) vDirs = validDirs rg s (x,y) - addToGrid :: Orientation -> String -> (Int,Int) -> RandGrid - addToGrid dir (c:cs) (x',y') = addToGrid dir cs charAdded (nextPos dir (x',y')) + addToGrid :: Orientation -> String -> RandGrid -> (Int,Int) -> RandGrid + addToGrid dir (c:[]) rg (x',y') = insertAt2D (Letter c) (x',y') rg + addToGrid dir (c:cs) rg (x',y') = addToGrid dir cs charAdded (nextPos dir (x',y')) where + charAdded :: RandGrid charAdded = insertAt2D (Letter c) (x',y') rg --addToGrid dir = map (\(c,(m,n)) -> insertAt2D (Letter c) (m,n) rg) (zip s (take (length s) $ iterate (nextPos dir) (x,y)))