Das Versteckspiel

Das Versteckspiel

> Programmierung

Dieser Algorithmus soll die Zellen finden, auf die der Gegner keine Sichtlinie hat, auch wenn er sich bewegt.

Sie werden von diesem Algorithmus normalerweise unter dem Namen "Verstecken" oder "Hide and seek" für die Englischsprachigen hören.

Verwendung

Verstecken ist eine der ersten Methoden, mit der Sie Ihre Bewegungen effizienter verwalten können.

Wenn sich Ihr Lauch so hinter einem Hindernis versteckt, dass er für den Gegner unerreichbar ist, hat dieser keine andere Wahl, als eine Umgehungsmethode zu verwenden, z. B. Funke, der durch Hindernisse hindurch schlägt, oder AoE.

Prinzip

Die Methode, die normalerweise verwendet wird, um die Zellen aufzuspüren, in denen du versteckt bist, verwendet den Algorithmus der zugängliche Zellen.

Der erste Schritt besteht also darin, Ihre zugänglichen Zellen zu erhalten, damit Sie wissen, in welchen Zellen Sie sich bewegen und somit potenziell verstecken können. Aber auch die deines Gegners (oder deiner Gegner), um zu wissen, wohin dein Gegner gehen kann, um so eine Zelle zu finden, in der er dich nicht erreichen kann, selbst wenn er sich bewegt.

Anschließend müssen Sie herausfinden, welche Zellen unter den für Ihren Lauch erreichbaren Zellen "sicher" sind. Dazu muss man jede dieser Zellen testen und die Sichtlinien zu den erreichbaren Zellen des Gegners überprüfen. Wenn es keine Sichtlinie zwischen einer Zelle und den Zellen des Gegners gibt, dann kann der Gegner diese Zelle nicht anvisieren, auch wenn er sich bewegt.

Die Idee ist also, von der Annahme auszugehen, dass eine Zelle "sicher" ist, und zu versuchen, das Gegenteil zu beweisen. Man testet dann jede Zelle des Gegners, solange es keine Sichtlinie gibt. Sobald eine Sichtlinie besteht, bedeutet dies, dass der Gegner diese Zelle erreichen kann. Man kann natürlich noch weiter verfeinern und eine "Gefahr" auf die Versteckkandidaten berechnen, um den am wenigsten schlechten auszuwählen, z. B. dem Gegner nicht die Möglichkeit zu geben, online mit dem M-Laser zu schießen.

Grünes Feld: Ihr Lauch / Rotes Feld: Gegner / Blaue Felder: Zugängliche Zellen des Gegners Grüne Linie: Keine Sichtlinie / Rote Linie: Sichtlinie