1-Faire un générateur de labyrinthe
2-Une Super-Calculatrice
Un générateur de labyrinthe c'est simple, comme problème c'est du cassage de bécycle à résoudre. Il faut que le labyrinthe généré soit un matrice d'entier où les murs vallent -1 et les chemins vallent n'importe quoi d'autre. Sur ce principe je pourrais fournir du code qui affiche n'importe quel de ces labyrinthe et permet de s'y déplacer.
Votre objet devra supporter n'importe quelle dimension plus grande qu'une matrice de 10*10, le labyrinthe ne sera pas forcément carré.
Créer une classe labyrinthe qui reçoit de son interface un tableau avec ses dimensions et qui le transforme en un labyrinthe. (ou encore qui ne reçoit que les dimension on va s'occuper de donner la fonction qui alloue dynamiquement la matrice). Bref je pourrais donner tout l'enrobage, et seul le labyrinthe serait à faire.
le labyrinthe serait note sur points
1- la qualité du labyrinthe:
Il est possible de se rendre en tout point du labyrinthe
Il n'existe qu'une seule solution au labyrinthe (une seule façon de se rendre à la fin)
Il n'y a pas "d'espace perdu" des murs "triples épaisseurs" des chemins large de 4 espaces etc.
Le labyrinthe est élégant (par exemple Il n'est pas bourré de cul de sacs de 1 case, la solution n'est pas toujours au même endroit).
2- l'originalité de l'algorythme
algorythme génétique? Création d'une carte aléatoire puis croissance des chemins, croissance des murs, création d'un quadrillé puis supression de murs etc. C'est simplement pour souligner ceux qui se démarque.
3-Rapidité de l'algorythme
la vitesse pur et dur pour créer votre labyrinthe, tout est permis (asm, inline, tout le code dans une fonction avec des tags etc.) dans la mesure où le code est compréhensible.
4-Qualité du code, on pourra ainsi publier toutes les meilleurs solution.
Il va de soi que je me met dehors de ce concours puisque je l'ai déjà fait pour mon plaisir et que j'ai bien aimé et que j'ai donc déjà tout pour l'afficher. Je vais le mettre sur cpp france mais pour le moment il est "windows NT" only alors j'aime pas vraiement ça mais je peux pas le tester sur un autre plateforme.
2-La super-calculatrice. Une calcularice qui lit au clavier des nombre d'une dimension quasi infinie (ex: 1299818129834761902349012394717346857293458723562893452304592803487394850923749527349857) et qui permet de faire des opérations dessus. Il faudrait simplement mettre disponible une classe qui défini l'objet de base et permet de le saisir ensuite on fait le concours de résoudre chacune des opérations le plus admirablement possible et on passe au vote les meilleurs solution pour:
le +
le -
le /
le *
l'intègration du point
l'intègration du signe
et on va se faire une classe que l'on pourra mettre encore dans les sources et qui comprendra les meilleurs solution. Il faut s'entendre sur la façon dont sera représenté le nombre en question. et les normes pour un affichage standart (par exemple une fonction CString to_string(void)
à vous de voir si mes idées vous plaisent ou non