Aller au menu - Aller au contenu

Fiche du concours

Générateurs de labyrinthes

Participer

Accéder au forum du concours
Voir les participations (85)

Début du concours : Le 28/11/2008 à 00h01 (GMT+1)
Fin des inscriptions : Le 31/01/2009 à 23h59 (GMT+1)
Fin du concours : Le 31/01/2009 à 23h59 (GMT+1)

Taille des équipes : Jusqu'à 3 membres
Type de concours : Dépôt d'oeuvres sans notation
Après la réussite du premier concours "Sudoku", nous sommes heureux de lancer ce nouveau concours de programmation ayant pour thème : la génération de labyrinthes.

Quelques différences importantes sont à noter par rapport au premier concours :

  • Celui-ci est ouvert à tous les langages de programmation. Vous n'êtes pas limité au C++, vous pouvez aussi bien utiliser le C, le Java, Ruby, Python, OCaml. L'utilisation de langages web est aussi possible : Javascript, PHP avec GD, etc. Choisissez le langage dans lequel vous êtes le plus à l'aise.
  • Ce concours ne sera pas noté. Il n'y aura pas de classement. Nous devons faire un certain nombre d'améliorations au module de concours avant de pouvoir activer les notes à nouveau. Vous participerez donc pour le plaisir (comme pour la première fois ;) ) et profiterez des conseils d'autres Zéros plus expérimentés que vous. Ne soyez donc pas étonnés par l'absence de critères de notation.
  • Chaque participation donne lieu automatiquement à la création d'un sujet sur les forums. Mettez à jour régulièrement la description de votre oeuvre pour tenir au courant les autres de votre avancement. Utilisez votre sujet pour échanger à propos de votre travail, poser des questions et réclamer de l'aide au besoin.


Ce concours durera 2 mois, jusqu'au 31 janvier 2009.

N'oubliez pas : l'essentiel lors de ces concours est avant tout de s'amuser et d'acquérir de l'expérience.

Les labyrinthes


Labyrinthe du Minotaure

Les labyrinthes ne sont pas une invention récente de l'Homme. On peut en retrouver remontant à la préhistoire, gravés sur des morceaux d'ivoire de mammouth.
Plus tard, c'est le célèbre labyrinthe du Minautore, construit sur l'île de Crète au sud de la Grèce, qui fait encore aujourd'hui parler de lui.
Désormais, les labyrinthes sont un passe-temps que l'on retrouve notamment dans de nombreux magazines de jeux pour enfants.

Le principe du labyrinthe est qu'il comporte une seule entrée et une seule sortie. Il faut arriver à joindre les deux :

Labyrinthe


Quel rapport avec la programmation ?


Il se trouve que générer des labyrinthes aléatoirement est un petit challenge en soi. Vous allez donc programmer un générateur de labyrinthes qui devraient ressembler à celui ci-dessus.


Les objectifs du concours



Ce concours propose un large éventail d'objectifs. Ne cherchez pas à tous les atteindre, ce n'est pas obligatoire. Commencez par les objectifs les plus simples et, si vous avez du temps, concentrez-vous ensuite sur des objectifs plus difficiles.
Les développeurs plus expérimentés auront, eux, suffisamment d'objectifs pour avoir de quoi travailler.

Pour apprendre les techniques de génération de labyrinthes, une petite recherche sur internet devrait vous donner des réponses intéressantes rapidement. Voici déjà 2 articles sélectionnés pour vous :



Voici une liste des objectifs que vous devrez chercher à remplir. Si vous ne les remplissez pas dans l'ordre ça ne pose pas de problème. Si vous ne les remplissez pas tous, pas de souci non plus. Il devrait y avoir assez de matière pour que tout le monde ait de quoi réfléchir :
Génération du labyrinthe

  • Construisez un générateur de "labyrinthes imparfaits" (voir les articles ci-dessus). Ces labyrinthes proposent plusieurs chemins permettant d'accéder à la sortie, mais il faut qu'il existe au moins un chemin valide (sinon ne peut pas aller à la sortie !).
  • Construisez un générateur de "labyrinthes parfaits". Il doit y avoir un et un seul chemin valide permettant d'accéder à la sortie.
  • Réalisez un éditeur de labyrinthes permettant de charger et d'enregistrer des labyrinthes.
  • Plutôt que de simplement afficher le labyrinthe généré, il serait bien ensuite que vous permettiez au joueur de se déplacer dans le labyrinthe.
  • Essayez de montrer comment l'algorithme a généré pas à pas le labyrinthe.
  • Vous pouvez corser le jeu et rajouter dans le labyrinthe des téléporteurs fonctionnant 2 à 2 pour compliquer un peu le tout. ;)
  • Si les labyrinthes carrés sont trop faciles pour vous, essayez de passer à la génération de labyrinthes circulaires :

    Labyrinthe circulaire
  • Enfin, vous pouvez générer le labyrinthe sur 3 dimensions et intégrer la notion d'étages (de hauteur). Il faudra que le joueur puisse se déplacer dedans tel Icare à la recherche de la sortie du labyrinthe du Minotaure. ;)
    La légende raconte qu'il fait partie des 3 personnes qui ont réussi à en sortir !

Vous n'êtes pas limités à ces objectifs. Si vous avez des idées originales, n'hésitez pas à les essayer ! Concentrez-vous néanmoins d'abord sur les premiers objectifs pour ne pas vous éparpiller.

Quelques instructions concernant l'organisation



Vous pouvez travailler seul ou par groupes de 2 ou 3. Nous vous recommandons de préférence d'éviter de faire des groupes de 3 personnes, sauf si vous vous lancez dans les sujets les plus ambitieux (labyrinthes circulaires et labyrinthes 3D) et que vous êtes sûr de pouvoir gérer une telle organisation.

Parce que c'est un "concours", il est limité dans le temps. Essayez d'envoyer avant la fin du concours le code source zippé (.zip pour que tout le monde puisse ouvrir).
A la racine, créez un fichier README.txt qui contiendra des instructions (en français et / ou anglais) pour expliquer dans le détail comment compiler. C'est important car chaque langage a sa méthode de compilation ou d'exécution, essayez donc de rediriger les gens vers les bons outils pour qu'ils puissent tester votre programme.

Dans la description de votre oeuvre, vous pouvez faire un lien vers des fichiers binaires compilés sous différentes plateformes pour que les visiteurs néophytes en programmation puissent tester votre travail. Avertissez-les néanmoins des risques relatifs aux fichiers binaires (virus, etc).
Dans tous les cas, n'incluez pas de binaires dans les .zip que vous enverrez sur le site. Le Site du Zéro n'hébergera aucun binaire.


Bon courage à tous ! :)



Participations

85 membres ont participé à ce concours

Page : 1  2  3  Suivante
Participant Œuvre
May_Hop
Voir l'œuvre
Générateur laby 2d + solution
Tolf
Voir l'œuvre
Laby_Etages
Brugnar
Voir l'œuvre
Laby robot
Po2yaourt
Voir l'œuvre
PhpLaby
quarante-sept
Voir l'œuvre
ALICE (Alice Lost In Connected Ensembles)
Daemon Pulsar
Voir l'œuvre
L'Astar du Labyrinthe...
yaurthek
Voir l'œuvre
YMaze
Nanoc
Voir l'œuvre
Labyrinthe3D
Mooskito
Voir l'œuvre
Labyrinthe en ADA
Prosperoh
Voir l'œuvre
MazeGen
Toun1
Voir l'œuvre
Labyrinthe Roulant
Maïck
Voir l'œuvre
JMaze
Zéfling
Voir l'œuvre
steven08200
Voir l'œuvre
youssef1.0
Voir l'œuvre
Labyrhinte online
Tintin5937
Voir l'œuvre
Fvirtman
Voir l'œuvre
Klostro Laby
Squ@bad'
Voir l'œuvre
Gen-Laby
Fredszaq
Voir l'œuvre
Labo42
thecoun
Voir l'œuvre
Gen my-maze
Oubli4
Voir l'œuvre
kouko11
Voir l'œuvre
rincevent38
Voir l'œuvre
WINWAZE
yoch
Voir l'œuvre
my_lab
Jill
Voir l'œuvre
Cacophrene
Voir l'œuvre
MazeML
spotino
Voir l'œuvre
Maze Generator
008
Voir l'œuvre
LabyrintheByMe
Genius
Voir l'œuvre
Labyrinthe
SirJulio
Voir l'œuvre
MazeD
Page : 1  2  3  Suivante