Option 1: showMicroGame :: MicroGame -> (String,String,String). Then
showMacroGame ([one,two,three,four,five,six,seven,eight,nine], player) = let topRows = showThreeGames one two three middleRows = showThreeGames four five six
Option 2: showFirstLIne :: MicroGame -> String and again for 2 and 3. Pattern match apporpriately and combined.
Either way, use intercalate " || " to combine the lines. intercalate generalized unwords and unlines.
Then use unlines at the very end to combine the 9 lines. Be sure to abstract out that lines 1-3, 4-6, and 7-9 are the same function.
https://github.com/TU-CSCI2322-FL22/solver-connect-three/blob/428193792e0f9f33525fa7948fe4cf125dfec017/Main.hs#L92-L102
showCell :: Maybe Player -> String/Char
showMicroGame :: MicroGame -> (String,String,String)
. ThenshowMacroGame ([one,two,three,four,five,six,seven,eight,nine], player) = let topRows = showThreeGames one two three middleRows = showThreeGames four five six
showFirstLIne :: MicroGame -> String
and again for 2 and 3. Pattern match apporpriately and combined.intercalate " || "
to combine the lines. intercalate generalized unwords and unlines.