JackShcherbakov
@JackShcherbakov

Как определить координаты ячейки, зная ее номер?

Здравствуйте!

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

Итак, допустим у нас есть поле (в моем случае это холст, на который наносятся цвета из набора):
#  #  #  #  # 
#  #  #  #  # 
#  #  #  #  # 
#  #  #  =  # 
#  #  #  #  #

Разрешение нашего экрана 5 на 5 пикселей, знаком равно (=) я пометил место, на котором остановился скрипт. Скрипт знает, что номер пикселя 18 (цикл перебирал все пискесли и остановился на этом).

Итак, скрипту нужно каким-то макаром понять, что у знака = координаты (4, 4), зная, что всего 25 пикселей и номер пикселя 18. Как ему это сделать?

Заранее выражаю благодарность всем, кто ответит на вопрос.
  • Вопрос задан
  • 402 просмотра
Решения вопроса 2
Номер строки – целая часть от деления номера ячейки на число элементов в строке.
Номер столбца – остаток от деления номера на то же число.

Math.ceil( 18 / 5 ) === 3; // строка с индексом 3, считая от 0
18 % 5 === 3; // колонка с индексом 3, считая, опять же, от 0
Ответ написан
Двумерный массив. Текущие индексы и есть координаты.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@YahorDanchanka
Frontend developer
function getCoordinates(position: number): { row: number; col: number } {
  const colCount = 5
  return {
    row: 1 + Math.trunc(position / colCount),
    col: 1 + (position % colCount),
  }
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы