Ich mache ein einfaches 4X-Strategiespiel im Weltraum, bei dem jeder Knoten ein Sonderziel ist (ein Planet, ein Asteroid usw.).
Um zufällig eine Karte zu generieren, würde ich die folgenden Schritte ausführen
Entscheiden Sie, wie viele Arten von Knoten die Karte haben soll (z. B. 5 erdähnliche Planeten, 10 unfruchtbare Planeten usw.).
Platzieren Sie jeden Knotentyp auf der Karte.
Für Schritt 2 möchte ich eine gleichmäßige Verteilung jedes Knotentyps haben. Zum Beispiel würde ich damit beginnen, alle erdähnlichen Planeten zu platzieren. Wenn ich einfach einen Rand (map.width, map.height) mache, um die Position zu bestimmen, kann es sein, dass sich alle erdähnlichen Planeten zusammenballen, was dem Spieler, der in diesem Bereich startet, einen Vorteil verschafft.
Gibt es Methoden, wie die Verwendung verschiedener Graphfunktionen oder Rauschfunktionen, die eine Folge von (x, y) -Koordinaten erzeugen könnten, die voneinander verteilt sind? Gibt es auch Möglichkeiten, nahe beieinander liegende Koordinaten zu generieren?