Ankündigung

Einklappen
Keine Ankündigung bisher.

A*-Algorithmus Implementierung

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Scriptsuche A*-Algorithmus Implementierung

    Hallo,

    ich benötige momentan ein Php-Script, welches den A*-Algorithmus implementiert. Es soll also der kürzeste Weg zwischen zwei Koordinaten berechnet werden (zb. 5/4 nach 10/12). Dabei soll der kürzeste Weg bzw. die zu überquerenden Felder als Array zurückgegeben werden. Es gibt hierbei auch Felder, die nicht überquert werden dürfen bzw. Felder die als vom User gesetzte Wegpunkte vom Script zur Berechnung des kürzesten Weges beachtet werden sollen. Desweiteren sollen auch diagonale Laufwege möglich sein.

    Wenn sich hier jemand mit diesen Algorithmus auskennt, würde ich mich über eine Kontaktaufnahme mit Preisvorstellung freuen. Details bezüglich Anforderungen können dann per Mail oder Skype geklärt werden.

    Grüsse
    andos

  • #2
    http://astar.blackscorp.de/ suchdauer ignorieren
    Preisvorstellungen können kommen

    Features:
    Abstrakte Heuristic klasse für Vergleich der Nodes zz "Manhattan Distance" und "Diagonal Distance" eingebaut
    http://theory.stanford.edu/~amitp/Ga...euristics.html

    Klassen befinden sich in einem Eigenen verzeichnis und werden automatisch nach dem PSR-0 "Standard" eingebunden.

    EDIT: code zur implementierung
    PHP-Code:
    rquire_once 'pfad/astar.php'
    $diagonal true;
    $grid = array( 
    array(
    1,1,1,1,1,1,1,1,1), 
    array(
    1,0,0,0,0,0,0,0,1), 
    array(
    1,0,0,0,0,0,0,0,1), 
    array(
    1,1,1,1,1,1,1,1,1), 
    ); 
    $graph = new Graph($grid); 
    $start_node $graph->node(2,2); 
    $end_node $graph->node(8,9); 

    $path = array(); 

    $result Astar::instance()->search($graph->nodes(), $start_node$end_node$diagonal,Astar::$manhattan); 
    if(
    count($result) > 0){
    foreach (
    $result as $node) { 
      echo 
    $node->x
      echo 
    $node->y
      echo 
    $node->type
    }  }else{
    echo 
    "Weg nicht gefunden";

    Kommentar

    Lädt...
    X