Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2024, 07:34   #1
Parallelogram
Недотепа
Форумчанин
 
Регистрация: 18.01.2011
Сообщений: 174
Сообщение Анализ возможных вариантов Match3

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

Код:
let gem = [
  [0,0,0,0,0,0],
  [0,0,0,0,0,0],
  [0,0,0,0,0,0],
  [0,0,0,0,0,0],
  [0,0,0,0,0,0],
  [0,0,0,0,0,0]
];
Есть двумерный массив 6х6 со случайными числами 0-4 (это будет поле игры 3 в ряд).

Сейчас я проверяю в цикле, начиная с нижнего левого угла, каждый элемент на совпадения с условиями.
Сначала я делаю проверку сдвига вправо, потом проверку сдвига вниз.
Например, gem[5][0] должен быть равен либо gem[5][2] и gem[5][3], либо gem[4][1] и gem[3][1]. И так проверяю. каждый элемент до первой комбинации.

Теперь сама задача. Как мне найти самый лучший вариант сдвига элементов, чтобы было как можно больше комбо (это когда гемы падают на свободные места и появляются новые комбинации)?

В голове придумал систему баллов. Каждое комбо добавляет в obj rating для этого элемента для этого направления сдвига +1 балл.
1. Так же в цикле прохожу каждый элемент
2. Рекурсией перестраиваю массив с учётом комбо и опять проверяю каждый массив
3. Записываю rating в объект.

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

Язык реализации неважен, выбрал самый простой (js), потом перепишу на нужный мне. Главное это придумать сам алгоритм поиска, вот с этим у меня проблема.
Parallelogram вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
выбор возможных вариантов Asante Microsoft Office Excel 2 02.12.2011 16:34
Комбинаторика. Получение возможных вариантов. Alex Cones Общие вопросы Delphi 3 16.01.2011 13:52
Перебор всех возможных вариантов phenix Помощь студентам 3 03.12.2010 21:29
Перебор всех возможных вариантов [MI_nor] Общие вопросы C/C++ 9 01.04.2009 21:17