Bejeweled Blitz - Как он утверждает, что всегда есть ход? - PullRequest
1 голос
/ 08 апреля 2010

Я давно играю в Bejeweled Blitz. Да, это зависимость. Размышляя об игре, я заметил, что на некоторых досках дно высыхает (без ходов), оставляя только верхнюю часть игрового поля. Зачастую эта часть доски высыхает, а на одной остаются ходы в области, очищенной последним ходом.

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

Я заметил в этом «режиме», что алгоритм очень часто отбрасывает драгоценные камни, в результате чего в горизонтальной области появляется больше не засохших участков. Возможно, менее частым является падение, которое, похоже, предназначено для того, чтобы снова открыть нижнюю часть доски.

Так что мой вопрос "Как можно было бы разработать алгоритм, гарантирующий, что ход всегда есть в наличии .?"

Ответы [ 2 ]

1 голос
/ 18 апреля 2010

Некоторое время назад я написал игру «три в ряд», и я решил эту проблему, выбирая драгоценные камни для случайного выпадения и подсчитывая все действительные ходы. Если бы выбранные драгоценные камни не давали хотя бы 1 действительный ход, я бы выбрал другой набор драгоценных камней и т. Д.

1 голос
/ 08 апреля 2010

Это можно решить, исследуя пространство возможных «падений драгоценностей», а затем вы применяете оценку на основе ваших правил, о которых вы просили. Более высокий рейтинг может означать следование правилу, а низкий рейтинг означает не следование, тогда вы выбираете один слот с самым высоким рейтингом.

Это нелегко объяснить, но подход, основанный на правилах, должен помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...