Хобрук: Ваш путь к мастерству в программировании

Создание игры Boggle - привязка координат к буквам

На доске 4x4 всего 16 букв. В этом массиве [2,1] представляет букву в третьей строке, во втором столбце.

const coordPairs = [
  [ [2, 1], [4, 1] ]
  [ [4, 0], [4, 1], [4, 2], [4, 3] ]
  [ [0, 0], [0, 1], [0, 2] ],
  [ [1, 0], [3, 0], [4, 0] ]
]

Пытаюсь понять, как связать пару вроде [2,1] с одной буквой на игровом поле, которая представлена ​​массивом из 16 строк (букв).

Конечная цель состоит в том, чтобы функция создавала строки для слов на основе игровой доски и предоставленных вами координат.

JSFiddle с комментариями: https://jsfiddle.net/8euxzgy2/4/


  • Если доска 4x4, а строки/столбцы отсчитываются от нуля, число 4 не должно появляться в парах. 05.08.2018
  • Но чтобы получить позицию в плоском массиве, это просто rowNum * rowSize + colNum 05.08.2018
  • Что-то вроде этого? jsfiddle.net/rfmLbc3x/8 05.08.2018

Ответы:


1

Предположим, что это квадратная матрица с нулевым индексом. Вы можете взять номер rows * coord[0] + coord[1]:

let str = "abcdefghijklonop"
let rows = 4
const coordPairs = [[0, 0], [2, 1], [3, 1] ];
  
/*  a b c d
*   e f g h
*   i j k l
*   m n o p  */ 

letters = coordPairs.map(coord => str[coord[0]* rows + coord[1]])
console.log(letters)

04.08.2018
Новые материалы

React on Rails
Основное приложение Reverb - это всеми любимый монолит Rails. Он отлично обслуживает наш API и уровень просмотра трафика. По мере роста мы добавляли больше интерактивных элементов..

Что такое гибкие методологии разработки программного обеспечения
Что представляют собой гибкие методологии разработки программного обеспечения в 2023 году Agile-методологии разработки программного обеспечения заключаются в следующем: И. Введение A...

Ториго  — революция в игре Го
Наш следующий вызов против ИИ и для ИИ. Сможет ли он победить людей в обновленной игре Го? Обратите внимание, что в следующей статье AI означает искусственный интеллект, а Goban  —..

Простое развертывание моделей с помощью Mlflow — Упаковка классификатора обзоров продуктов NLP от HuggingFace
Как сохранить свои модели машинного обучения в формате с открытым исходным кодом с помощью MLFlow, чтобы позже получить возможность легкого развертывания. Сегодня модели упаковки имеют несколько..

Математика и интуиция - Часть 1
У каждой математической формулы есть доказательство. Часто эти доказательства слишком сложно понять, поскольку многие из них основаны на индукции, некоторые - на очень сложных наблюдениях, а..

Раскрытие возможностей НЛП: часть речевой маркировки и ее проблемы
В сфере обработки естественного языка (NLP) маркировка частей речи (POS) выступает в качестве фундаментального метода, позволяющего компьютерам понимать и анализировать человеческий язык на..

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