[Haskell-beginners] A good data structure for representing a tic-tac-toe board?
peter.hall at memorphic.com
Tue Mar 19 13:32:21 CET 2013
Ah yes, that is nicer! I got too used to the limitations of the other
languages I use :)
On 19 March 2013 03:16, Lyndon Maydwell <maydwell at gmail.com> wrote:
> If taking the array approach, I'd recommend using a single array indexed
> by the (x,y) position of the cell, this way neither direction has a greater
> implied significance. Diagonals should also be easier.
> Aside: Tony Morris wrote a very interesting exercise based on tic-tac-toe
> and it is available on Hackage:
> On Tue, Mar 19, 2013 at 3:49 AM, Peter Hall <peter.hall at memorphic.com>wrote:
>> 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
>> 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
>>> Beginners mailing list
>>> Beginners at haskell.org
>> Beginners mailing list
>> Beginners at haskell.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Beginners