رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
بررسی موانع در فایل
#1
سلام خدمت اساتید
کد زیر الگورتیم آ استار می باشد و بنده یک فایل را دریافت و داخل آن سیر میکنم که از نقطه 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 * و - بودن رو تشخیص بدم؟
عزاداری هاتون مقبول درگاه حق
پاسخ
تشکر شده توسط:
#2
از دوستان کسی نیست راهنمایی کند ما رو؟
پاسخ
تشکر شده توسط:




کاربران در حال بازدید این موضوع: 2 مهمان