Hello.
I have a task to model a gaming board of squares similar to an uncoloured chess board, only some squares can have walls at the border to their respective four neighbours. (There's also a complete wall along the physical border of the board surrounding the board.)
My current approach is to have each square be an object with the properties x, y, has_east_wall, has_west_wall, has_south_wall, has_north_wall.
I'm not happy with the design because I should not have to repeat that the north wall of a square exists and its northern neighbour's south wall, too. I am afraid to model wall changing without wrapping it into transactions so I do not have inconsistent data, but I feel it makes it all much too complicated. There must be something simpler, but I cannot think of anything.
PS: This is a homework question, so it's all right if you just give hints instead of full code.
In reply to gaming board design by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |