سلام خدمت اساتید
کد زیر الگورتیم آ استار می باشد و بنده یک فایل را دریافت و داخل آن سیر میکنم که از نقطه 1 به نقطه 2 برسم... تا اینجا درسته...
اما من میخوام موانع و راه های آزاد رو هم تشخصی بدم...
در این فایل که محتوا به صورت زیر است ستاره ها * راه بسته و خط فاصله - راه آزاد هستند...
و این کد php من
حالا چطور موانع و راه های آزاد رو تشخصی بدم؟
به عنوان مثال از حلقه foreach استفاده کنم و با if * و - بودن رو تشخیص بدم؟
عزاداری هاتون مقبول درگاه حق
کد زیر الگورتیم آ استار می باشد و بنده یک فایل را دریافت و داخل آن سیر میکنم که از نقطه 1 به نقطه 2 برسم... تا اینجا درسته...
اما من میخوام موانع و راه های آزاد رو هم تشخصی بدم...
در این فایل که محتوا به صورت زیر است ستاره ها * راه بسته و خط فاصله - راه آزاد هستند...
* 1 - - - * * * * * * - - * * * - - - * - * * * * - * - 2 - * * - * - * - - * - * - * * - - - - -
و این کد php من
<?php function astar($value) $File = fopen($value, "r"); $Lines = array(); $PositionA = array(); $PositionB = array(); if($File) { while(($line = fgets($File)) !== false) { $Lines[] = explode(' ', $line); } fclose($File); } if(count($Lines) > 0) { foreach($Lines as $y => $xvalues) { foreach($xvalues as $x => $value) { if($value == '1') { $PositionA['x'] = $x $PositionA['y'] = $y; } if($value == '2') { $PositionB['x'] = $x; $PositionB['y'] = $y; } } } if(isset($PositionA['x'], $PositionA['y'], $PositionB['x'], $PositionB['y'])) { $DifferenceX = $PositionB['x'] - $PositionA['x']; $DifferenceY = $PositionB['y'] - $PositionA['y']; $PadX = "R"; $PadY = "D"; if($DifferenceX <= 0) { $PadX = "L"; $DifferenceX = $DifferenceX * -1; } if($DifferenceY <= 0) { $PadY = "U"; $DifferenceY = $DifferenceY * -1; } $Travel = ""; $Travel = str_repeat($PadX, $DifferenceX); $Travel .= str_repeat($PadY, $DifferenceY); echo "Travel Path: " . $Travel; } } ?>
حالا چطور موانع و راه های آزاد رو تشخصی بدم؟
به عنوان مثال از حلقه foreach استفاده کنم و با if * و - بودن رو تشخیص بدم؟
عزاداری هاتون مقبول درگاه حق