Bejeweled Next Najlepszy wybór biżuterii

9

Czy mogę zastosować technikę projektowania gier, aby całkowicie usunąć sytuacje „Nie ma więcej ruchów w lewo”. to znaczy. gra nie powinna zawierać niemożliwych scenariuszy.

O ile sądzę, wszystko zależy od tego, jaki klejnot i gdzie dajesz użytkownikowi po rozpuszczeniu grupy klejnotów 3 lub 4.

Czy to możliwe ? An always infinitely solvable Bejewelled game?

Wisznu
źródło
2
uczyń wszystkie klejnoty niebieskimi
amb
+1 świetne pytanie. Powinno to być dość nierozwinięte rozwiązanie, w zależności od liczby nowych klejnotów.
ashes999
@ ashes999: Dziękuję, ale jak dotąd jedyne dwa pomysły, myślę, że usunięcie nielegalnej sytuacji jest możliwe przez 1.) brutalną kontrolę siły i dodanie klejnotów w oparciu o przewidywane brutalne obliczenia, 2.) wprowadzenie rzeczy takich jak bomby lub hipersześcian, który wchodzi w interakcję z dowolnym klejnotem wokoło, powodując ogromne zakłócenie wzoru planszy.
Wisznu,

Odpowiedzi:

1

Z pewnością można stworzyć niekończącą się grę Bejeweled. PopCap zrobiło to samo z najnowszym Bejeweled 3 (tryb nazywa się „trybem Zen”).

Przede wszystkim musisz upewnić się, że jest co najmniej jeden prawidłowy ruch podczas pierwszego generowania planszy.

Za każdym razem, gdy gracz wykonuje ruch, musisz obliczyć wynikową planszę i poszukać prawidłowych ruchów. Jeśli nie można ich znaleźć, musisz kontrolować klejnoty, które zostaną odrodzone w celu przywrócenia prawidłowej planszy. Ponieważ (co najmniej) 3 klejnoty zostaną usunięte jednym ruchem i będziesz musiał odrodzić 3 klejnoty zastępcze, możesz zapewnić, że te 3 klejnoty zapasowe utworzą kolejny ważny ruch z bieżącą planszą. Tryb nieskończony osiągnięty.

Oczywiście nie jest idealne, aby nowy ruch pojawiał się z nowymi klejnotami, ale jest to tani sposób na zapewnienie grywalnej planszy. A ponieważ tworzenie prawidłowych ruchów w rzeczywistości oznacza zamianę pozycji klejnotów, nie potrwa długo, zanim inne ruchy staną się możliwe.

Jak już wspomniano, bomby i inne sposoby usuwania dużych części planszy zwiększą różnorodność rozgrywki, ale nie są one potrzebne do zapewnienia nieskończonego trybu.

grzmot
źródło
4

Tak. W rzeczywistości byłoby to możliwe. Nie jest to przypadek problemu zatrzymania, ponieważ przypadek jest zdefiniowany, a nie arbitralny. Aby odpowiedzieć na to pytanie, należy odpowiedzieć na dwie części; po pierwsze, jeśli istnieje rozwiązanie, można je znaleźć, a po drugie, zawsze będzie można znaleźć prawidłowe rozwiązanie.

Pierwsza część polega na tym, jak znaleźć zestaw płytek zastępczych (klejnotów), które stworzyłyby grywalną planszę. Można to osiągnąć za pomocą metod brutalnej siły, po prostu sprawdzaj każdy możliwy zestaw zastępczy, aż napotkasz grywalny (byłyby również bardziej optymalne metody nie brutalnej siły).

Drugą częścią jest ustalenie, czy zawsze będzie zestaw zastępczy, który da zestaw do gry. Każdy zestaw płytek usunięty jednym ruchem będzie nadzbiorem zestawów trzech płytek, więc jeśli w minimalnym przypadku zostaną usunięte tylko trzy, jeśli zawsze można znaleźć zestaw do gry, to dla wszystkich możliwych wzorów usuniętych płytek będzie dostępny zestaw do gry, ponieważ będzie zawierał wszystkie rozwiązania dla każdego zestawu trzech usuniętych płytek, który jest podzbiorem usuniętych płytek.

W minimalnym przypadku wyczyszczenia tylko trzech płytek w rzędzie / kolumnie, zestaw zastępczy zawierający dwie płytki typu A oddzielone płytką typu B (gdzie typ A to rodzaj płytki powyżej lub poniżej wyczyszczonego zestawu trzech w przypadek kolumny trzy, lub w lewo lub prawo w przypadku rzędu trzech). Spowoduje to ruch, w którym zamiana środka tych trzech płytek z odpowiednim kafelkiem A obok niego spowoduje utworzenie zestawu trzech. To pokazuje, że zawsze można znaleźć zestaw płytek, który spowoduje prawidłowy ruch wzdłuż kolumny / wiersza, w którym oryginalne płytki zostały usunięte. Ograniczanie przyszłych ruchów do tej kolumny lub wiersza, choć byłoby prawidłowym rozwiązaniem dla gry w nieskończoność, nie byłoby zbyt zabawne. Ale stosując wszystkie reguły dla popularnych gier w stylu bejeweled, łatwo jest pokazać, że zawsze będzie rozwiązanie, które pozwoli również na ruch poza tym rzędem / kolumną. Załóżmy, że upuszczamy trzy kafelki typu A, gdzie A jest jednym z kafelków powyżej lub poniżej / po lewej lub prawej stronie usuniętego zestawu trzech. W ten sposób powstanie kafelek w stylu „bomby”, który usunie obszar po usunięciu. Jeśli następnie wrzucimy inny zestaw płytek, co spowoduje dopasowanie z tą bombą, obszar płytek zostanie wyczyszczony. Obszar ten będzie zawierał 3 podzbiory kafelków w innych rzędach, co oznacza, że ​​przyszłe ruchy niekoniecznie będą ograniczone do jednego wiersza / kolumny. W ten sposób powstanie kafelek w stylu „bomby”, który usunie obszar po usunięciu. Jeśli następnie wrzucimy inny zestaw płytek, co spowoduje dopasowanie z tą bombą, obszar płytek zostanie wyczyszczony. Obszar ten będzie zawierał 3 podzbiory kafelków w innych rzędach, co oznacza, że ​​przyszłe ruchy niekoniecznie będą ograniczone do jednego wiersza / kolumny. W ten sposób powstanie kafelek w stylu „bomby”, który usunie obszar po usunięciu. Jeśli następnie wrzucimy inny zestaw płytek, co spowoduje dopasowanie z tą bombą, obszar płytek zostanie wyczyszczony. Obszar ten będzie zawierał 3 podzbiory kafelków w innych rzędach, co oznacza, że ​​przyszłe ruchy niekoniecznie będą ograniczone do jednego wiersza / kolumny.

Matthew R.
źródło
Obraca się tylko o 120 stopni na raz, prawda? Co więc się stanie, jeśli wyświetlisz planszę, która (z powodu poprzednich ruchów) ma punktowalne rozkłady w innym miejscu planszy, wymagając 5 ruchów od nowo umieszczonego bloku, a gracz najpierw kliknie coś nie tak ?
Clockwork-Muse
Obraca o 120 stopni? Bejeweled nie obejmuje rotacji. Czy myślisz o Bejeweled Twist ?
Matthew R
Przepraszam, nie, myślałem o Hexic . Ale przy wystarczającej liczbie różnych klejnotów możliwe byłoby wejście w sytuację, w której silnik musiałby za każdym razem generować pasujące trio, aby umożliwić ciągłą grę (ponieważ nic innego nie strzeliłoby). Co może być interesujące do zobaczenia, ale niezbyt grywalne.
Clockwork-Muse
Zawsze będziesz w stanie wygenerować zastępczy zestaw trzech identycznych kafelków tego samego typu co kafelek po lewej / prawej stronie lub u góry / na dole tego zestawu, co stworzy większy zestaw, który zostanie następnie usunięty. Oznacza to, że wszystkie kafelki w wierszu lub kolumnie oryginalnego kafelka można ostatecznie usunąć. W większości gier w stylu bejeweled większe zestawy prowadzą do specjalnych kafelków, które usuwają obszary lub cały dany rodzaj kafelków. W razie potrzeby można to kaskadować, aby usunąć wystarczającą liczbę płytek, aby możliwe było wygenerowanie grywalnej planszy niezależnie od jej początkowego stanu.
Matthew R
3

Dotknąłeś problemu zatrzymania w informatyce.

Czy na podstawie opisu dowolnego programu komputerowego możemy wywnioskować, czy w pewnym momencie przestanie działać, czy będzie działał wiecznie? Istnieje powód nazywany „problemem”.

Krótka odpowiedź brzmi: nie, nie możesz zagwarantować, że gra Bejeweled nigdy nie będzie miała nielegalnych ruchów. Ponieważ zagwarantowanie zajmie nieskończony czas obliczeniowy.

knight666
źródło
4
Po prostu FYI, problem zatrzymania mówi, że są niemożliwe problemy do rozwiązania, a nie że wszystkie są. W przypadku tego konkretnego problemu, myślę, że po prostu nie możesz tego zrobić (lub gra będzie absurdalnie prosta, na przykład 2 kolory i siatka 3 * 3), istnieje zbyt wiele możliwych ścieżek w grze „normalnej wielkości” .
Valmond
1
Również FYI: Obecna generacja gier Bejeweled (od PopCap) ma tryb nieskończony ... więc wydaje się, że rozwiązały problem pomyślnie :) Zapewniają, że zawsze jest prawidłowy ruch, spawnując nowe klejnoty, które zagwarantują prawidłowy ruch ( ma zastosowanie tylko wtedy, gdy aktualnie nie ma dostępnych).
bummzack
1
@bummzack: przykro mi, że się mylisz, ale w popcap bejeweled (z dumą stwierdzam, że jestem najlepszym strzelcem zarówno w klasyce, jak i szybkości). Klasyczna wersja przestaje mówić: .NO porusza się w lewo i umożliwia przejście do gry.
Wisznu,
@ knight666: Cóż, nie sądzę, aby było to niemożliwe, podobnie jak w drugim poście Mathew R. daje dobry pomysł na użycie bomby, gdy ai przewiduje, że może dojść do nielegalnej sytuacji.
Wisznu,
@Vishnu Cóż, napisałem aktualną generację , która byłaby Bejeweled 3, i dotyczy to tylko trybu nieskończonego (lub trybu Zen lub cokolwiek innego). Wiem, że tak nie było w klasycznej wersji ...
bummzack