forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Алгоритмика (http://forum.boolean.name/forumdisplay.php?f=21)
-   -   Match3 (http://forum.boolean.name/showthread.php?t=20193)

Nex 17.02.2016 13:56

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

Mr_F_ 17.02.2016 15:31

Ответ: Match3
 

Цитата:

Делал я прототип
право, не стоит. их и без тебя хоть жопой жуй.

Nex 17.02.2016 18:14

Ответ: Match3
 
Цитата:

Сообщение от Mr_F_ (Сообщение 304116)


право, не стоит. их и без тебя хоть жопой жуй.

Имею желание долить своего в эту кучу.

impersonalis 17.02.2016 18:42

Ответ: Match3
 
Что-то кроме перебора ничего в голову не идёт.

ant0N 17.02.2016 21:39

Ответ: Match3
 
перебирать каждый не дорого ли будет?
А если перебирать только те, которые изменили свое положение?

pax 18.02.2016 02:30

Ответ: Match3
 
Я как-то писал некий матчтри, перебирал все поле. Не дорого, если работать без всяких GetComponent или Find, а с обычными массивами.

moka 18.02.2016 03:28

Ответ: Match3
 
Я перебирал все, потом делал оптимизацию: отмечал "грязными" то что двигается. И когда переставали двигаться, проверял их лично (они уже проверяют соседей и т.п.).

JeanWinters 06.03.2016 16:00

Ответ: Match3
 
Есть еще некоторые сложности в таких алгоритмах. Когда должны совпадать комбинации L, T, I , например. Нужно еще чтобы был какой-то приоритет при определении какой "супер-алмаз" будет создан и чтобы другие не создались в этом случае. В пересечениях приоритет больше, даже больше в тех алмазах, которые были передвинуты. Можно поизучать "поведение" в подобных играх в соцсетях.

Nex 07.03.2016 08:04

Ответ: Match3
 
Цитата:

Сообщение от JeanWinters (Сообщение 304583)
Есть еще некоторые сложности в таких алгоритмах. Когда должны совпадать комбинации L, T, I , например. Нужно еще чтобы был какой-то приоритет при определении какой "супер-алмаз" будет создан и чтобы другие не создались в этом случае. В пересечениях приоритет больше, даже больше в тех алмазах, которые были передвинуты. Можно поизучать "поведение" в подобных играх в соцсетях.

В подобных играх перестали бонусы делать и не стандартные комбинации. Сколько не видел это просто совпадения в линию у всех.
Можно наверно сделать массив с фигурами-совпадениями как вариант.

JeanWinters 07.03.2016 08:58

Ответ: Match3
 
Что значит "Сколько не видел это просто совпадения в линию у всех." ?
Насколько мне известно, бонусы есть и различные "аналитические" комбинации какой должен получиться алмаз при выстраивании есть. Эти игры можно перечислить, они в топе "ок" и "вк" , называть не буду, их и так многие знают.

Что за массив? Если то, о чем я думаю, то придется их много делать для каждой "супер-комбинации" , и также при анализе выделять какой-то приоритет где, какой алмаз и в какой комбинации будет создаваться.

JeanWinters 07.03.2016 09:02

Ответ: Match3
 
Что касается того, что можно найти много информации по алгоритму match3 , то это правда. Но вот найти информацию по алгоритму, по которому будут создаваться "супер-алмазы" либо простой оказывается, либо недоработанный, либо вообще такой особенности как "супер-алмазы" не предусмотрено.

Nex 07.03.2016 15:38

Ответ: Match3
 
Что ты имеешь ввиду под словом "супер-алмаз"?

Я например хочу сделать бонусы в классическом стиле это бонус линии (удаление ряда) и бонус бомба (удаление элементов в области "взрыва"). И я даже сделал, но получилось много переборов и вообще алгоритм топорный. Примеров/туторов именно про множественные match3-комбинации (L, T, ┤ и прочие) я не нашел поэтому и спросил как люди делают.

JeanWinters 08.03.2016 15:55

Ответ: Match3
 
Я про это и говорю, про "супер-алмаз" , обычно их три: "алмаз-бомба" из комбинаций L T , "алмаз-линия" (вертикальный, горизонтальный) из комбинаций четырех алмазов, "супер-алмаз" из пяти алмазов или различные комбинации, где пять алмазов рядом. Можно перебирать все алмазы и проставлять им "значение" сначала вертикально, а при переборе горизонтально опять также, поэтому значение на пересечении будет больше, это и будет признаком того, что алмаз имеет больший приоритет и на его месте нужно создавать какой-нибудь "супер-алмаз".

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

А ты видимо говоришь о том, как они должны взаимодействовать в сочетании с обычными алмазами. А что сложного, помечаешь соседние алмазы рядом с "алмазом-бомбой" или горизонтальные (вертикальные) все на поле.


Часовой пояс GMT +4, время: 13:25.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot