error_reporting(E_ALL ^ E_NOTICE); require 'Maze.php'; require 'AStar.php'; $maze = new Maze(); $aStar = new AStar(); $w = $_POST['w'] ? $_POST['w'] : 6; // 迷宫宽 $h = $_POST['h'] ? $_POST['h'] : 6; // 迷宫高 $maze->set($w, $h); $maze->create(); $grids = $maze->get(); // 寻路 $aStar->set($w, $h, $grids); $path = $aStar->search(0, $w * $h - 1); // 从零开始找到35 // 画迷宫方法 function div($x, $y, $v) { global $w, $h, $path; //if ( $y > 4 ) $v = 0; $k = $y * $w + $x; //if ( array_key_exists($k, $this->_enable) ) { //echo "<div class=\"grid cell_enable_{$this->_enable[$k]}\" style=\""; //} else { echo "<div class=\"grid cell_{$v}\" style=\""; //} echo 'top:' . 34 * $y . 'px;'; echo 'left:' . 34 * $x . 'px;'; //if ($v & 1)
<?php require "astar.php"; $paths = array(array("Таганрог", "Ростов", 110), array("Ростов", "Новочеркасск", 50), array("Неклиновка", "Таганрог", 23), array("Ростов", "Самбек", 70), array("Ростов", "Москва", 1000), array("Питер", "Москва", 1300), array("Питер", "Таганрог", 2500), array("Самбек", "Таганрог", 30)); $result = AStar::search("Таганрог", "Питер", $paths); // var_dump($result); print "Цена вопроса: " . $result['price']; print "Путь: " . implode(" -> ", $result['route']);