[Haskell-beginners] A good data structure for representing a tic-tac-toe board?

Peter Hall peter.hall at memorphic.com
Mon Mar 18 20:49:25 CET 2013


Start with a data type for the cell values, instead of Char. Then use an
Array of Arrays, containing those values.

data Cell = Empty | O | X
type Board = Array Int Cell

Finding winning "rows" and "columns" is easy. Diagonals are slightly more
complicated.

Peter



On 18 March 2013 15:54, Costello, Roger L. <costello at mitre.org> wrote:

> Hi Folks,
>
> Currently I am representing a tic-tac-toe board as a string, with 'X'
> denoting player 1 and 'O' denoting player 2. For example, I represent this
> 2x2 game board:
>
>      'X'        |
> -----------------------
>         |   'O'
>
> with this string: "X  O"
>
> The nice thing about that representation is that it is each to identify
> which cells are filled or empty, and it is easy to mark a cell with an 'X'
> or 'O'.
>
> The problem with the representation is that it is difficult to determine
> when a player has won.
>
> Can you recommend a representation that makes it easy to:
>
> 1. determine when a player has won
> 2. identify cells that are filled or empty
> 3. mark an empty cell
>
> /Roger
>
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://www.haskell.org/mailman/listinfo/beginners
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20130318/5023767b/attachment.htm>


More information about the Beginners mailing list