Search the Community
Showing results for tags '? and : operators'.
-
This script is an exercise that i got from a text book. It simulates the path of a homing pigeon as it flies from its starting point to its home. The script is easy to comprehend. The only problem i have is the block of code that displays the map as I've highlighted below. <?php $mapsize = 10; // Position the home and the pigeon do{ $homeX = rand (0, $mapsize-1); $homeY = rand (0, $mapsize-1); $pigeonX = rand(0, $mapsize-1); $pigeonY = rand(0, $mapsize-1); } while ((abs($homeX-$pigeonX) < $mapsize/2) && (abs($homeY-$pigeonY) < $mapsize/2)); do{ // Move the pigeon closer to home if ($pigeonX < $homeX) $pigeonX++; elseif ($pigeonX > $homeX) $pigeonX--; if ($pigeonY < $homeY) $pigeonY++; elseif ($pigeonY > $homeY) $pigeonY--; // Display the current map echo '<div class="map" style="width: ' . $mapsize . 'em;"><pre>'; for ($y = 0; $y < $mapsize; $y++){ for ($x = 0; $x < $mapsize; $x++){ if ($x == $homeX AND $y == $homeY){ echo '<span class ="home">+</span>'; // Home } elseif ($x == $pigeonX && $y == $pigeonY) { echo '<span class ="pigeon">%</span>'; // Pigeon } else { echo '<span class = "empty">.</span>'; //Empty square } echo ($x != $mapsize - 1) ? " " : " "; } echo "\n"; } echo "</pre></div>\n"; } while ($pigeonX != $homeX || $pigeonY != $homeY); ?> </body> </html> How does this line affect the map? I have never come across the "?" and ":" operators, moreover the use of echo in this fashion. echo ($x != $mapsize - 1) ? " " : " ";