Если X и Y - координаты, каковы строки и столбцы? - PullRequest
0 голосов
/ 09 мая 2019

Я пишу небольшую игру, основанную на плитке, и мне трудно выбрать язык, который я должен использовать, чтобы как можно проще описать несколько функций. Я хочу, чтобы имена моих функций выражали то, что делает функция, не делая их слишком длинными. Вот моя проблема:

Эти функции вычисляют положения строк и столбцов на карте мозаичного изображения с учетом координат x и y точки.

var tile_width  = 32;
var tile_height = 32;

function getColumnFromX(x) { return Math.floor(x / tile_width); }

function getRowFromY(y) { return Math.floor(y / tile_height); }

Как видите, эти функции очень выразительны. Вы знаете, что один получает позицию столбца на карте, в которой лежит x, а другой получает позицию строки на карте, в которой лежит y. Проблема в том, что мне не нужны две функции для этого, потому что tile_width и tile_height имеют одинаковое значение.

Так что у меня действительно есть:

var tile_size = 32;

function getColumnOrRowFromXOrY(x_or_y) { return Math.floor(x_or_y / tile_size); }

Это имя слишком длинное и громоздкое, а другие функции, такие как getColumnOrRowCenterFromColumnOrRow, неприемлемы, даже если их имена точно описывают, что делается.

Мое незаконченное решение - заменить ColumnOrRow и XOrY их собственными описательными словами. XOrY логически можно заменить на Coordinate, но я не знаю, что заменить ColumnOrRow на.

Мой вопрос: что такое столбец и строка? Если x и y являются координатами, что такое столбцы и строки? Я знаю, что они являются координатами сетки, но составные слова как бы лишают цели упрощения имени.

Знание описательного слова может превратить указанное выше имя функции в:

function getWordFromCoordinate(coordinate) { /* ... */ }

Где Word - это слово, которое описывает, что такое столбец и строка.

В основе этого вопроса лежит желание узнать, какое одно английское слово может описать строку или столбец математически точным способом.

Знание анатомии базы данных. Таблица может быть полезной, но я не нашел ничего полезного в Интернете. Кроме того, тот факт, что JavaScript не поддерживает перегрузку функций, делает именование функций, которые делают то же самое, с немного отличающимися параметрами немного более утомительным.

1 Ответ

0 голосов
/ 10 мая 2019

Я нашел удовлетворительное имя здесь: Концепция отслеживания сетки - W3C

Согласно рекомендации W3C, «Отслеживание сетки - это общий термин для столбца сетки или строки сетки ..."

Подробнее о дорожках сетки можно прочитать здесь: Следы сетки - MDN

" След "логически описывает столбец или строку сетки.Хотя это определение не используется в математике, оно используется при описании макета CSS Grid и будет работать для моих целей.Если кто-нибудь знает лучшее слово для классификации столбцов и строк, пожалуйста, не стесняйтесь комментировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...