Gibt es eine Spieldesign-Technik, die ich verwenden kann, um Situationen, in denen keine Züge mehr vorhanden sind, vollständig zu entfernen? dh. Das Spiel sollte keine unmöglichen Szenarien enthalten.
Soweit ich vermute, hängt alles davon ab, welches Juwel und wo Sie dem Benutzer geben, nachdem sich eine Juwelengruppe von 3 oder 4 aufgelöst hat.
Ist es möglich ? An always infinitely solvable Bejewelled game?
game-design
level-design
Vishnu
quelle
quelle
Antworten:
Es ist sicherlich möglich, ein endloses Bejeweled-Spiel zu erstellen. PopCap hat dies selbst mit dem neuesten Bejeweled 3 gemacht (der Modus heißt "Zen-Modus").
Zunächst müssen Sie sicherstellen, dass es mindestens einen gültigen Zug gibt, wenn Sie das Board zum ersten Mal generieren.
Immer wenn ein Spieler einen Zug macht, müssen Sie das resultierende Brett berechnen und nach gültigen Zügen suchen. Wenn keine gefunden werden können, musst du die Edelsteine kontrollieren, die erzeugt werden, um ein gültiges Brett wiederherzustellen. Da (mindestens) 3 Edelsteine mit einem Zug entfernt werden und Sie 3 Ersatzsteine erzeugen müssen, können Sie sicherstellen, dass diese 3 Ersatzsteine mit dem aktuellen Brett einen weiteren gültigen Zug bilden. Endloser Modus erreicht.
Natürlich ist es nicht ideal, dass der neue Zug mit neuen Edelsteinen erscheint, aber es ist ein billiger Weg, um immer ein spielbares Brett zu gewährleisten. Und da das Erstellen gültiger Züge tatsächlich das Tauschen von Edelsteinpositionen bedeutet, wird es nicht lange dauern, bis andere Züge möglich werden.
Wie bereits erwähnt, sorgen Bomben und andere Mittel zum Löschen großer Teile des Bretts für mehr Abwechslung im Spiel, werden jedoch nicht benötigt, um einen endlosen Modus zu gewährleisten.
quelle
Ja. Dies wäre tatsächlich möglich. Dies ist kein Fall des Halteproblems, wie der Fall definiert ist, nicht willkürlich. Um dies zu beantworten, müssen zwei Teile beantwortet werden; Erstens, wenn eine Lösung existiert, kann sie gefunden werden, und zweitens wird immer eine gültige Lösung zu finden sein.
Der erste Teil ist, wie man einen Satz Ersatzplättchen (Edelsteine) findet, die ein spielbares Brett ergeben würden. Dies kann durch Brute-Force-Methoden erreicht werden. Überprüfen Sie einfach jeden möglichen Ersatzsatz, bis ein spielbarer gefunden wird (es gäbe auch optimalere Nicht-Brute-Force-Methoden).
Der zweite Teil besteht darin, festzustellen, ob es immer ein Ersatzset gibt, das ein spielbares Set erzeugt. Jeder Satz von Plättchen, der in einem einzigen Zug entfernt wurde, ist eine Obermenge von Sätzen mit drei Plättchen. Wenn also im Minimalfall nur drei entfernt werden und immer ein spielbarer Satz gefunden werden kann, dann für alle möglichen Muster entfernter Plättchen Es wird einen spielbaren Satz geben, da er alle Lösungen für jeden Satz von drei entfernten Kacheln enthält, die eine Teilmenge der entfernten Kacheln sind.
Im minimalen Fall, dass nur drei Kacheln in einer Zeile / Spalte gelöscht werden, ein Ersatzsatz, der zwei Kacheln vom Typ A enthält, die durch eine Kachel vom Typ B getrennt sind (wobei Typ A der Typ einer Kachel über oder unter dem gelöschten Satz von drei Zoll ist der Fall einer Dreierspalte oder links oder rechts bei einer Dreierreihe). Dies ergibt eine Bewegung, bei der das Vertauschen der Mitte dieser drei Kacheln mit der entsprechenden A-Kachel daneben einen Satz von drei ergibt. Dies zeigt, dass immer eine Reihe von Kacheln gefunden werden kann, die eine gültige Bewegung entlang der Spalte / Zeile erzeugen, in der die ursprünglichen Kacheln gelöscht wurden. Das Einschränken zukünftiger Züge auf diese Spalte oder Zeile wäre zwar eine gültige Lösung für ein unendlich spielbares Spiel, würde aber keinen großen Spaß machen. Aber unter Verwendung aller Regeln für gängige Spiele im Juwelenstil, Es ist leicht zu zeigen, dass es immer eine Lösung gibt, die auch Verschiebungen außerhalb dieser Zeile / Spalte ermöglicht. Angenommen, wir legen drei Kacheln vom Typ A ab, wobei A eine der Kacheln über oder unter / links oder rechts von der entfernten Dreiergruppe ist. Dadurch wird eine Kachel im Bombenstil erzeugt, die beim Entfernen einen Bereich freimacht. Wenn wir dann einen weiteren Ersatzsatz von Plättchen ablegen, der dazu führt, dass eine Übereinstimmung mit dieser Bombe hergestellt wird, wird ein Bereich von Plättchen geräumt. Dieser Bereich enthält eine Anzahl von 3 Kachel-Teilmengen in anderen Zeilen, was bedeutet, dass zukünftige Bewegungen nicht unbedingt auf eine einzelne Zeile / Spalte beschränkt sind. Dadurch wird eine Kachel im Bombenstil erzeugt, die beim Entfernen einen Bereich freimacht. Wenn wir dann einen weiteren Ersatzsatz von Plättchen ablegen, der dazu führt, dass eine Übereinstimmung mit dieser Bombe hergestellt wird, wird ein Bereich von Plättchen geräumt. Dieser Bereich enthält eine Anzahl von 3 Kachel-Teilmengen in anderen Zeilen, was bedeutet, dass zukünftige Bewegungen nicht unbedingt auf eine einzelne Zeile / Spalte beschränkt sind. Dadurch wird eine Kachel im Bombenstil erzeugt, die beim Entfernen einen Bereich freimacht. Wenn wir dann einen weiteren Ersatzsatz von Plättchen ablegen, der dazu führt, dass eine Übereinstimmung mit dieser Bombe hergestellt wird, wird ein Bereich von Plättchen geräumt. Dieser Bereich enthält eine Anzahl von 3 Kachel-Teilmengen in anderen Zeilen, was bedeutet, dass zukünftige Bewegungen nicht unbedingt auf eine einzelne Zeile / Spalte beschränkt sind.
quelle
Sie haben das Problem des Stillstands in der Informatik angesprochen .
Können wir anhand einer Beschreibung eines beliebigen Computerprogramms ableiten, ob es irgendwann aufhört oder für immer ausgeführt wird? Es gibt einen Grund, warum dies als "Problem" bezeichnet wird.
Die kurze Antwort lautet: Nein, Sie können nicht garantieren, dass ein Bejeweled-Spiel niemals illegale Züge hat. Denn um zu garantieren, würde es unendlich viel Rechenzeit dauern.
quelle