Я хотел бы создать компонент, который состоит из доски и окружающего ее угла. Размер доски (и, следовательно, также границы) определяется во время выполнения. Некоторые примеры (доска светлая, а рамка темная):
альтернативный текст http://img340.imageshack.us/img340/3862/examplegw.png
Доска состоит из объектов типа BoardCell, а граница состоит из объектов типа BorderCell. Структура данных для платы - BoardCell [,] - простой двумерный массив.
Как я могу представить границу? Я начал с чего-то вроде этого:
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)
Мне не нравится это изображение границы, можете ли вы предложить что-то лучше?
Дополнительно: я хотел бы иметь метод SetSomethingForTheCell для объекта границы:
public void SetSomethingForTheCell(...)
но с моей текущей структурой данных я не знаю, что передать в качестве параметра.