Bejeweled Blitz – Wie wird behauptet, dass es immer eine Bewegung gibt?

StackOverflow https://stackoverflow.com/questions/2600103

  •  25-09-2019
  •  | 
  •  

Frage

Ich spiele Bejeweled Blitz jetzt schon seit einiger Zeit.Ja, es ist eine Sucht.Als ich über das Spiel nachdachte, fiel mir auf, dass auf manchen Brettern der untere Teil versiegt (keine Züge möglich) und nur der obere Teil des Bretts spielbar bleibt.Häufig trocknet dieser Teil des Bretts aus und man hat Züge in einem Bereich übrig, der durch den letzten Zug frei wurde.

Die Platine läuft nie ganz trocken, also führt das Programm offensichtlich eine Art Berechnung durch, die es ihm ermöglicht, auszuwählen, was fallen gelassen werden soll, um zu verhindern, dass es trocken läuft.

Mir ist in diesem „Modus“ aufgefallen, dass es sehr häufig vorkommt, dass der Algorithmus Juwelen fallen lässt, was dazu führt, dass im horizontalen Bereich mehr nicht trockene Bereiche erscheinen.Vielleicht seltener ist ein Sturz, der scheinbar darauf abzielt, den unteren Teil des Boards wieder zu öffnen.

Meine Frage ist also „Wie würde man einen Algorithmus entwerfen, der garantiert, dass immer ein Zug verfügbar ist?“

War es hilfreich?

Lösung

Ich habe vor einiger Zeit ein Drei-in-einer-Reihe-Spiel geschrieben und bin mit diesem Problem umgegangen, indem ich zufällig Edelsteine ​​ausgewählt habe, die fallen gelassen werden sollen, und alle gültigen Züge gezählt habe.Wenn die ausgewählten Edelsteine ​​nicht mindestens einen gültigen Zug ermöglichen würden, würde ich einen anderen Satz Edelsteine ​​auswählen und so weiter.

Andere Tipps

Dies ist lösbar durch den Raum der möglichen Erkundung „Juwel Tropfen“ und dann wenden Sie eine Bewertung auf der Grundlage Ihrer Regeln, die Sie gebeten haben. Höhere Bewertung könnte bedeuten, folgt Regel und niedrige Bewertungen bedeuten folgende nicht, dann wählen Sie einen Steckplatz mit der höchsten Bewertung.

Das ist nicht einfach zu erklären, aber ein regelbasierte Ansatz sollte es tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top