Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Web@cademie Lyon, login: viller_m
- * En gros pour l'utiliser dans la fonction count_island.
- * il faut mettre le contenue du fichier dans une map (tab[y][x])
- * puis il faut boucler dessus normalement
- * et des que un X est trouvé il faut rentrer dans la fonction récursif
- * puis continuer à boucler jusqu'à la fin de la map
- **/
- /**
- * @function recursif
- *
- * @param string &$tab contient une map du fichier
- * & = passage par référence ( http://www.php.net/manual/fr/language.references.pass.php )
- * @param int $x position du caractère en x
- * @param int $y position du caractère en y
- * @param int $number numero de l'ilo
- **/
- function recursif(&$tab, $x, $y, $number)
- {
- if($tab[$y][$x] != '*')
- return;
- $tab[$y][$x] = "$number";
- if($y + 1 < count($tab))
- recursif($tab, $x, $y + 1, $number);
- if($y - 1 >= 0)
- recursif($tab, $x, $y - 1, $number);
- if($x + 1 < count($tab[$y]))
- recursif($tab, $x + 1, $y, $number);
- if($x - 1 >= 0)
- recursif($tab, $x - 1, $y, $number);
- }
- // Exemple de map:
- $map = array(
- array('x','x','x','*','*','*','x','x','x','*','*','x','x'),
- array('x','x','*','*','*','x','x','x','x','x','x','x','x'),
- array('x','x','x','x','x','x','x','x','x','x','x','x','x'),
- array('x','x','x','x','x','*','*','x','x','x','x','x','x'),
- array('x','x','x','x','x','x','x','x','x','x','x','x','x'),
- );
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement