From 7ab99bd80e30d0cc2cf21e4cda47870821b8fd47 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Sat, 14 Dec 2024 11:46:48 +0530 Subject: Fix sequence generation for grid --- src/Chelleport/KeySequence.hs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src/Chelleport') diff --git a/src/Chelleport/KeySequence.hs b/src/Chelleport/KeySequence.hs index 1d118cd..88658f1 100644 --- a/src/Chelleport/KeySequence.hs +++ b/src/Chelleport/KeySequence.hs @@ -24,12 +24,16 @@ generateKeyCells :: (Int, Int) -> [Char] -> [[[Char]]] generateKeyCells (rows, columns) hintKeys = (\row -> getCellSeq row <$> [1 .. columns]) <$> [1 .. rows] where - getCellSeq x y = [getPrefix1 x y, getPrefix2 x y, getKey x y] - getKey _row col = hintKeys !! (col `mod` (columns `div` 2)) - getPrefix1 _row col + getCellSeq row col = [getPrefixHoriz row col, getPrefixVert row col, getKey row col] + getKey row col = hintKeys !! index + where + index = (secRow * (columns `div` 2) + secCol) `mod` length hintKeys + secCol = (col - 1) `mod` (columns `div` 2) + secRow = (row - 1) `mod` (rows `div` 2) + getPrefixHoriz _row col | col <= (columns `div` 2) = 'H' | otherwise = 'L' - getPrefix2 row _col + getPrefixVert row _col | row <= (rows `div` 2) = 'K' | otherwise = 'J' -- cgit v1.3.1