@Ein
Hier erstmal die zentralen Grössen. Man wählt Höhe und Breite der Hexmap und die Länge der Kanten des einzelnen Hex.
In unserem Falle also:
$xcount = 6;
$ycount = 6;
$edgeLength = 50.0;
Dann werden die Grössen berechnet:
function berechneGroessen(){
$this->hdist = (7.0/8.0) * $this->edgeLength;
$this->imageWidth = ($this->xcount * 2 * $this->hdist) + $this->hdist + $this->edgeLength/10;
$this->imageHeight = $this->ycount * ($this->edgeLength + $this->edgeLength/2) + $this->edgeLength/2;
}
Dabei ist
hdist die horizontale Entfernung zwischen den Seiten und der Spitze.
2 * $hdist ist also die Breite eines Hex.
Das Zeichnen ist etwas aufwendiger (ich zeichne erst die 'Zickzacklinien' als Pfad und füge dann die vertikalen Kanten ein), kann ich aber auf Wunsch auch posten.
EDIT:
Hatte es ganz vergessen: An dem Permalink-Code wäre ich durchaus interessiert.
Ich hatte bisher die Idee, dass man vielleicht per rand eine randomseed bestimmt, diese setzt und dann über diese das gleiche wiederholen kann. Bin aber nicht sicher, ob das so geht. Deshalb wäre ich glücklich, wenn ich eine funktionierende Lösung von Dir bauen könnte.
Grüße
kirilow