I'd like to create a component, which consist from a board and its surrounding corner. The size of the board (and therefore also of the border) is defined at run-time. Some examples (board is bright and border is dark):
The board consists of objects of the type BoardCell and the border consists of objects of the type BorderCell. Data structure for the board is BoardCell[,] - a simple two-dimensional array.
How can I represent the border? I started with something like this:
public BorderCell TopLeft // top left corner cell
public BorderCell TopRight // top right corner cell
public BorderCell BottomRight // bottom right corner cell
public BorderCell BottomLeft // bottom left corner cell
public BorderCell[] Top // top border (without corners)
public BorderCell[] Bottom // bottom border (without corners)
public BorderCell[] Left // left border (without corners)
public BorderCell[] Right // right border (without corners)
I don't like this representation of the border, can you suggest something better?
Additional: I'd like to have a method SetSomethingForTheCell on the border object:
public void SetSomethingForTheCell(...)
but with my current data structure I don't know what to pass as a parameter.