I'm developing word game, similar to [*"Word Mole"*](http://crackberry.com/first-look-word-mole-blackberry-bold). I'm having a hard time determining how to store temporarily selected characters, which in turn, will changed into a word.

For example, say, I have the following characters:

> 
>     0  1  2  3  
> 
>  0 **O  B O S**  
> 
>  1 **S  F  R  H**  
> 
>  2 **T  N  E  Z**  
> 
>  3 **R  B  D  I**
> 
> 
> 

I store all this information in a character array named `playCharacter`, and I also created a character array named `markedCharacter`, with the default value of `' '` for each element. Every time I select each cell, say `cell[1,0]`, I set `markedCharacter[1,0] = 'b'` an so on, until I'm done with current word. How do I store the step information? For example, if I choose to play `bored`, I'll be marking:

```
markedCharacter[1,0] = 'b'
markedCharacter[2,0] = 'o'
markedCharacter[2,1] = 'r'
markedCharacter[2,2] = 'e'
markedCharacter[2,3] = 'd'

```

Do I need another array? if so, what data should I store in it?

In turn, I'll want to use this `markedCharacter` as a way to check

* if certain moves are valid (eg, are they marked within an already marked neighbor cell?)
* if stored words are valid or not (this part is already covered)
* I don't need to do undo operation