Soyez le premier à donner votre avis sur cette source.
Vue 10 932 fois - Téléchargée 1 104 fois
<?php /** This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ set_time_limit(10); error_reporting(E_ALL); /* ---- Générateur et Solveur de Labyrinthes ---- fichier gen.fusion.class.php Genere un labyrinthe par fusion. CF : article sur wikipedia. */ /* Codage de class type : php5 */ define('IDX', 3); /* Sud et Est ( bas et droite) */ define('S', 0); define('E', 1); define('N', 2); define('O', 3); require 'labyrinthe.class.php5'; require 'solveur.class.php5'; require 'genFusion.class.php5'; require 'genExplo.class.php5'; require 'solveDAG.class.php5'; ?> <?php if(isset($_POST['choix'])) { if($_POST['taille'] < 1000) $m = $n = intval($_POST['taille']); elseif($_POST['taille'] == 1020){ $m = 10; $n = 20; } elseif($_POST['taille'] == 2030){ $m = 30; $n = 20; } else die('TAILLE NON CORRECTE'); $w_case = intval($_POST['w_case']); if($_POST['method'] == 'fusion') $class = new genFusion($m, $n, $w_case); elseif($_POST['method'] == 'explo') $class = new genExplo($m, $n, $w_case); $time_gene = microtime(1); $laby = $class->generer(); if(empty($_POST['resoudre'])) { if($_POST['affichage'] == 'html') { $class->laby2html($laby, $time_start); } else $class->laby2png($laby); } else { $solve = new solveDAG($laby, $m, $n); $time_res = microtime(1); $solution = $solve->resoudre(); if($_POST['affichage'] == 'html') { $class->laby2html($laby, $solution, $time_gene, $time_res); } else $class->laby2png($laby, $solution); } } else { ?> <form action="" method="post"> <fieldset> <p><strong>Optimisation en cours</strong></p> <legend>Methode de génération</legend> <label for="fusion">Fusion</label><input type="radio" name="method" value="fusion" /><br /> <label for="explo">Exploration exaustive</label><input type="radio" name="method" value="explo" id="explo" /> </fieldset> <fieldset> <legend>Methode d'affichage</legend> <label for="png">Image PNG</legend><input id="png" type="radio" name="affichage" value="png" /><br /> <label for="html">Tableau HTML (affiche le tps d'execution)</legend><input id="html" type="radio" name="affichage" value="html" /> </fieldset> <fieldset> <legend>Taille</legend> <label for="10">10*10</label><input id="10" type="radio" name="taille" value="10" /><br /> <label for="20">20*20</label><input id="20" type="radio" name="taille" value="20" /><br /> <label for="40">40*40</label><input id="40" type="radio" name="taille" value="40" /><br /> <label for="45">45*45</label><input id="45" type="radio" name="taille" value="45" /><br /> <label for="1020">10*20</label><input id="1020" type="radio" name="taille" value="1020" /><br /> <label for="2030">30*20</label><input id="2030" type="radio" name="taille" value="2030" /><br /> </fieldset> <fieldset> <legend>Taille des cases</legend> <select name="w_case"> <option value="10">10</option> <option value="15">15</option> <option value="20" selected="selected">20</option> <option value="30">30</option> <option value="50">50</option> <option value="70">70</option> </select> </fieldset> <fieldset> <legend>Resolution</legend> <label for="resoudre">Resoudre ?</label><input type="checkbox" name="resoudre" id="resoudre" checked="checked" /><br /> <label for="DAG">Methode DAG</label><input type="radio" name="methode_res" id="DAG" selected="selected" /> </fieldset> <input type="submit" name="choix" value="Créer" /> </form> <?php } ?>
13 août 2008 à 00:22
12 août 2008 à 19:40
11 août 2008 à 23:11
pour un exemple : vosmaps.fr/labyrinthe
11 août 2008 à 13:55
J'ai regardé juste très vite ton code sans me plonger dans les détails et j'ai pu remarquer une petite chose qui me déplait.
>> die('TAILLE NON CORRECTE');
Pourquoi ne pas utiliser les exceptions vu que tu utilises les classes et compagnie ?
Je regardes et test je te dis ce que j'en pense !
9 août 2008 à 10:34
Mêmes remarques que EVANGUN,
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.