<div dir="ltr">I know you said you didn't want code, but I think this will be helpful. Here is an example of what the very top of your logic might reasonably look like.<div><br></div><div><font face="monospace, monospace">main :: IO ()</font></div><div><font face="monospace, monospace">main = do</font></div><div><font face="monospace, monospace">  someInitialization</font></div><div><font face="monospace, monospace">  config <- someConfigurator</font></div><div><font face="monospace, monospace">  result <- gameLoop $ </font><span style="font-family:monospace,monospace">makeInitialState config</span><br></div><div><font face="monospace, monospace">  print result</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">gameLoop :: GameState -> IO GameResult</font></div><div><font face="monospace, monospace">gameLoop gameState =</font></div><div><font face="monospace, monospace">  let maybeEndState = discoverEndState gameState<br></font></div><div><font face="monospace, monospace">  in case maybeEndState of</font></div><div><font face="monospace, monospace">    Just endState -> return endState</font></div><div><font face="monospace, monospace">    Nothing -> do</font></div><div><font face="monospace, monospace">      playerMove <- fetchInput gameState<br></font></div><div><font face="monospace, monospace">      gameLoop $ makeNextState playerMove<br></font></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 21, 2017 at 8:35 AM, Sudhanshu Jaiswal <span dir="ltr"><<a href="mailto:sudhanshuj007@gmail.com" target="_blank">sudhanshuj007@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Also called as Noughts and crosses or Xs and Os.<div><br></div><div>Hello everyone,</div><div><br></div><div>How do I start making a <b>Two Player</b> Tic Tac Toe game in Haskell?</div><div><br></div><div>The program basically has to show the 3*3 grid as coordinates and let each player choose his coordinates in his turn by entering the coordinates of the required cell. I also want to be able to check if a player has won and display it once the winning move has been made or the same for a Draw. </div><div><br></div><div>What have I done? - I have read Learn You a Haskell till Modules and know basic I/O.</div><div><br></div><div>I don't want the code instead, I am interested in learning stuff and trying problems which would lead me to get the intuition and ability to make the game by myself.<br clear="all"><div><br></div><div>I would be thankful if you folks could direct me to related problems which I could do or some advice as to how I should go about implementing such a program.</div>--</div><div>Sudhanshu  <br><div class="m_1274581704564789183gmail_signature"><br><br></div>
</div></div>
<br>______________________________<wbr>_________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org">Beginners@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-<wbr>bin/mailman/listinfo/beginners</a><br>
<br></blockquote></div><br></div>