Всегда требуется какая-либо общая вспомогательная функция, которая может использоваться везде и ее размещение, по логике, пока еще никуда не вписывается. В дальнейшем большие наборы функций могут выделяться в какие-либо отдельные библиотеки. Кстати для этого лучше вызывать такие функции просто по имени, используя подключенное пространство имен. В качестве временного буфера-контейнера для таких функций, будем использовать каталог Common. Создадим в нем файл класса C# с именем Helper.cs
И опишем несколько функций для помощи в работе с одномерным массивом - как с двухмерной таблицей:
- namespace
MemoryCards
- {
- public struct Helper
- {
- static public int getListIndex(int width, int x, int y) { return (y * width + x); }
- static public int getListX(int width, int index) { return (index % width); }
- static public int getListY(int width, int index) { return (Convert.ToInt16(index / width)); }
- }
- }
- {
Как видно из кода, смысл в том чтобы получать индекс массива зная координаты и ширину таблицы. И также обратно, получать координаты, зная индекс и ширину таблицы.
Комментариев нет:
Отправить комментарий
Да, я внимательно слушаю