Aller au menu - Aller au contenu

Fiche d'œuvre

Retour au concours

Auteur

Œuvre

Téléchargement
Rendu le 06/01/2009 à 21:23:25

Titre : Gen-Laby
Concours : Générateurs de labyrinthes
Commentaires : Voir les commentaires

Description de l'auteur

Fiche technique



Titre:
GEN-Laby

Version:
V1.0

Langage:
C

Date de dernière mise à jour disponible:
06-01-2009



Bien que le concours se termine le 31-01-2009, je vais continuer le développement de ce programme et mettrai à jour les informations le concernant sur cette page.


Bonjours à tous !


Mon projet ne sera pas des plus ambitieux, mais je compte bien sur ce concours pour progresser en C et mieux connaitre la SDL tout en développant un programme ludique et agréable.
Bien entendu je vais procéder par étapes:


Les étapes:


1-Tout d'abord, m'informer sur les labyrinthes et les algorithmes qui permettent d'en générer
2-Ensuite, choisir un algorithme, ou en créer un
3-Début de la phase de codage en C du programme, génération de labyrinthes dans un fichier texte et/ou en console par des chiffres correspondants à des types de cases précises (exemple: case ouverte au Nord,etc.)
4-Codage d'une interface en SDL: la grille (ou plutôt le labyrinthe :p ) générée, les numéros correspondants à des types de cases seront remplacées par des images: alors on obtiendra déjà un programme utilisable, distribuable, mais très basique

Ces 4 premiers objectifs, modestes, constituent la base du programme et sa version 1.0
Mais le projet ne va pas s'arrêter là et je vais continuer à le développer. Voici une liste non exhaustive des améliorations prévues pour les versions à venir:

5-Possibilité pour l'utilisateur de définir la taille du labyrinthe qu'il veut générer (V1.1)
6-Possibilité pour l'utilisateur de se déplacer avec un personnage dans le labyrinthe (V1.2)
7-Possibilité pour l'utilisateur d'enregistrer des niveaux de jeu (labyrinthes) (V1.3)
8-Gestion du temps avec la possibilité d'avoir n temps impartis pour venir à bout du labyrinthe (V1.4)
9-Proposer de montrer la solution
10-Proposer plusieurs méthodes de génération de labyrinthes parfaits
11-Proposer de générer des labyrinthes imparfaits
12-Création d'un mode permettant de créer soit même des labyrinthes
... bref les idées ne manquent pas !
Tout ne sera pas fait avant la fin du concours (loin de là :p ), mais je compte poursuivre le projet :D


Étapes réalisées:
1 2 3 4
Étape en cours: 5



Historique:


Version 1.0


Secret (cliquez pour afficher)

29/11:

-J'ai choisi la méthode exhaustive pour générer un labyrinthe parfait, méthode qui apparait comme la moins complexe et paraît performante.
-Voici un petit aperçut d'une page d'algo (sur deux):
Image utilisateur
-J'ai créé toutes les images nécessaires pour l'aperçut du labyrinthe final (16 en tout)

1/12:
-Mon code avance bien: j'ai totalement finit le codage en C de mon algo, avec un compilateur réglé comme il se doit cette fois-ci ^^ Prochaine étape: la SDL et le codage des fonctions d'affichage du labyrinthe ;)

5/12:
-Résolution d'un bug qui m'a pris la tête pendant ces derniers jours qui provenait des paramètres envoyés à une fonction de génération de nombres aléatoires :D
Je vais donc à présent pouvoir me consacrer entièrement à la gestion de l'affichage


10/12:
-J'ai fini mon algorithme pour l'affichage du labyrinthe, je vais commencer à coder ça d'ici peu.


22/12:
-Après une petite période sans programmer, j'ai avancé: j'ai divisé un peu mieux mon code en plus de fonctions pour plus de lisibilité
-La fenêtre s'ouvre et fait la taille du labyrinthe
Maintenant je vais m'attaquer à la dernière étape de cette première phase pour arriver à un programme répondant aux attentes de base: l'affichage du labyrinthe dans la fenêtre ^^


27/12:
-Cette fois c'est bon, le programme génère bien un labyrinthe et l'affiche dans une fenêtre, tout fonctionne parfaitement :D
Voici un screen que je viens d'effectuer:

Image utilisateur

Cependant, il y a un problème car on obtient parfois des résultat peu intéressants car trop linéaires:

Image utilisateur

et cela est de plus en plus prononcé à mesure qu'on augmente la taille du labyrinthe à générer.

Une de mes prochaines étapes sera donc de résoudre ce problème pour générer des labyrinthes plus équilibrés en termes de chemins / bifurcations.



Bientôt je mettrait mon code en ligne, mais il faut d'abord que je fasse encore quelques optimisations et que je rédige un README.txt


05/01:
-Le problème est résolu, j'avais fait une erreur bête dans le codage de la fonction de génération de nombres aléatoire... Merci aux membres qui m'ont mis sur la piste via le forum.
Voici le résultat à présent, enfin satisfaisant :D

Image utilisateur


06/01:
J'ai rédigé le README.txt, j'ai fait une petite amélioration (deux balises marquent le départ et l'arrivée du labyrinthe), j'ai mis mon programme sous licence BSD (merci à gouttegd et à SirJulio pour leur aide).
<lien url="http://www.siteduzero.com/uploads/fr/concours/1_1000/423.zip">Le code est disponible !</lien> Toutes vos remarques et suggestions seront les bienvenues :D
Bientôt je mettrai un lien vers le projet compilé pour pouvoir le tester sans avoir à s'occuper de rien ;)
<lien url="http://www.siteduzero.com/uploads/fr/concours/1_1000/423.zip">C'est donc la version 1.0 qui est disponible. </lien>

06/01:
l'exécutable de la version 1.0 de GEN-Laby, sous windows, est disponible à cette adresse:
<lien>http://dl.free.fr/qG522cqxV</lien>
La prochaine chose que je ferai pour la version 1.1 est une amélioration de la gestion de la fenêtre et implémenter la possibilité pour l'utilisateur de définir la taille du labyrinthe qu'il veut générer...


Version 1.1


09-01:
-Amélioration de la gestion de la fenêtre (elle est à présent apte à être redimensionné en fonction du choix de la taille voulue par l'utilisateur, bien que ce ne soit pas encore possible pour l'utilisateur de rentrer la taille voulue (pas encore de champ de saisie, à venir ;) )
-Plus petites cases permettant d'avoir de plus grands labyrinthes

Impression du jury