xishnik
Новичок
- Сообщения
- 51
- Репутация
- 0
Версия AutoIt: 3.3.10.2
Описание:
Есть игровое поле 6 на 6, выглядит примерно вот так:
при помощи PixelGetColor из него получается aMassiv[6][6]:
Ходить по полю можно, передвинув 2 элемента.
Например вот 3 хода из многих возможных:
Массив, состоит из чисел от 1 до 5(1-крест,2-зеленая фигура,3-жёлтая,4-череп,5-красная).
Эти цифры это вес фигур, алгоритм должен выбрать судя из массива, наилучший ход по всему полю.
Разберём ходы:
1) Красная линия - Соберётся 3 черепа, потом фигуры выше сместятся вниз, и больше ничего не соберется, итого вес: 3*4 = 12
2) Жёлтая линия - Сначала соберется 3 зеленых фигуры, потом жёлтая фигура которая над зелёными, упадёт вниз и соберётся ещё 3 жёлтых фигуры, итого вес: 3*2 + 3*3 = 15
3) Синяя линия - Сначала соберется 3 креста, потом ещё упадёт два черепа, и итого соберется ещё 4 черепа, итого вес: 3*1 + 4*4 = 19
Наилучший ход из это как я указал синей линией.
Я смог сделать только алгоритм, который собирает сначала красные, потом черепа и т.д., в зависимости от веса одного хода, независимо от того что упадёт, мой бы алгоритм, собрал бы 3 черепа и это не наилучший ход.
Помогите придумать алгоритм который по всему полю, вычислит лучшие 5 ходов с учётом того что упадёт(зачастую бывает что когда элементы падают, их собирается по 18 штук, они падают не 1 раз ) и выдаст информацию о каждом ходе:
1) Общее кол-во фигур, которые соберутся
2) Количество фигур весом 5
3) Количество фигур весом 4
....
6) Количество фигур весом 1
7) Первый элемент массива на который нужно нажать
8 ) Второй элемент массива на который нужно нажать, чтобы походить
Ещё есть одно условие:
Если собираются 5, независимо каких элементов в ряд, то даётся дополнительный ход. Ход где соберется 5 элементов, должен считаться самым лучшим.
Дайте хотя бы мудрый совет, о том, как можно было бы обработать этот массив.
Заранее благодарен
Примечания:
Вроде всё описал.
Описание:
Есть игровое поле 6 на 6, выглядит примерно вот так:
Ходить по полю можно, передвинув 2 элемента.
Например вот 3 хода из многих возможных:
Массив, состоит из чисел от 1 до 5(1-крест,2-зеленая фигура,3-жёлтая,4-череп,5-красная).
Эти цифры это вес фигур, алгоритм должен выбрать судя из массива, наилучший ход по всему полю.
Разберём ходы:
1) Красная линия - Соберётся 3 черепа, потом фигуры выше сместятся вниз, и больше ничего не соберется, итого вес: 3*4 = 12
2) Жёлтая линия - Сначала соберется 3 зеленых фигуры, потом жёлтая фигура которая над зелёными, упадёт вниз и соберётся ещё 3 жёлтых фигуры, итого вес: 3*2 + 3*3 = 15
3) Синяя линия - Сначала соберется 3 креста, потом ещё упадёт два черепа, и итого соберется ещё 4 черепа, итого вес: 3*1 + 4*4 = 19
Наилучший ход из это как я указал синей линией.
Я смог сделать только алгоритм, который собирает сначала красные, потом черепа и т.д., в зависимости от веса одного хода, независимо от того что упадёт, мой бы алгоритм, собрал бы 3 черепа и это не наилучший ход.
Помогите придумать алгоритм который по всему полю, вычислит лучшие 5 ходов с учётом того что упадёт(зачастую бывает что когда элементы падают, их собирается по 18 штук, они падают не 1 раз ) и выдаст информацию о каждом ходе:
1) Общее кол-во фигур, которые соберутся
2) Количество фигур весом 5
3) Количество фигур весом 4
....
6) Количество фигур весом 1
7) Первый элемент массива на который нужно нажать
8 ) Второй элемент массива на который нужно нажать, чтобы походить
Ещё есть одно условие:
Если собираются 5, независимо каких элементов в ряд, то даётся дополнительный ход. Ход где соберется 5 элементов, должен считаться самым лучшим.
Дайте хотя бы мудрый совет, о том, как можно было бы обработать этот массив.
Заранее благодарен
Примечания:
Вроде всё описал.