Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Browsergame Karte mit nicht passierbaren Bereichen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Browsergame Karte mit nicht passierbaren Bereichen


 
JimDaniels
26-05-2006, 15:13 
 
Hallo,

ich möchte gern in einem browsergame eine karte haben. dabei möchte ich gerne gebirge und ähnliche nicht passierbare bereiche auf dieser karte haben. auf einer normalen karte ist es ja kein problem die entfernung zw. 2 punkten zu berechnen, nur wenn zw. 2 punkten eine gebirgskette liegt, muss die figur automatisch drum herum laufen und dabei den kürzesten weg wählen.

ich bin dabei gar nicht mal auf der suche nach einem quellcode. diesen kann ich auch selbst machen. mir fehlt die idee, wie man so etwas realisieren sollte. hat so was schon mal jemand gemacht oder hat jemand eine idee.

wäre super, danke.

gruß
jimmy

 
Alrik
26-05-2006, 15:40 
 
Hi,

Wenn du einen Weg berechnen kannst, dann kannst du auch überprüfen, ob diese Geländer passierbar ist oder nicht, wenn nicht, dann überprüfst du wie groß das unpassierbare Gelände ist und kannst den weg entsprechend korrigieren.

Gruß Thomas

 
JimDaniels
26-05-2006, 15:53 
 
Das funktioniert so nicht. ich habe mal einen anhang eingefügt, vielkleicht wird dann das problem deutlicher.

 
eintrachtemil
26-05-2006, 16:08 
 
...muss die figur automatisch drum herum laufen und dabei den kürzesten weg wählen.

2 Anregungen:
http://de.wikipedia.org/wiki/Algorithmus_von_Dijkstra
http://de.wikipedia.org/wiki/A%2A-Algorithmus

 
Alrik
26-05-2006, 23:45 
 
Natürlich kann es so gehen.

 
muh (newbie)
27-05-2006, 01:30 
 
Läufst bis ans Hindernis, dann drehst Du dich nach links und einmal vorwärts. drehst dich einmal nach rechts und versuchst vorwärts zu geben.

Sobald Du in eine Sackgasse kommst oder an einen Punkt wo Du schon warst, gehst Du den Weg einen Schritt zurück und versuchst eine andere Drehung.

Das ist die Idee. Man kann es "rekursiv" oder mit "backtracking" mit einem push-down Stack machen.

 
onemorenerd
27-05-2006, 02:10 
 
http://www.policyalmanac.org/games/aStarTutorial_de.html

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:56 Uhr.