Jeu avec un labyrinthe aléatoire

Description

Voici ma deuxième source déposée ici et ma première animation de bout en bout en AS3.

Mon challenge initial pour m'initier au nouveau langage était l'écriture en AS3 d'un algorithme de génération de labyrinthe. Pour ne pas réinventer la roue, j'ai adapté le principe décrit par Yann LANGLAIS sur le site http://ilay.org/yann/articles/maze/ et je l'ai transcrit en Actionscript (je le remercie au passage pour son document explicatif clair et précis !).

Le résultat fonctionne mais n'est pas complètement optimisé en terme de coût. Mais pour un labyrinthe allant jusqu'à 50*50 (limite que j'ai fixé dans le jeu) la génération est instantanée.
Le labyrinthe généré étant "parfait" (tout point est relié à tout autre point par au moins un chemin), je me suis dit que dans un deuxième temps j'allais greffer un petit jeu autour du labyrinthe : le but est de faire sortir un petit bonhomme (vue de dessus) le plus rapidement possible, en atteignant le coin inférieur droit du labyrinthe représenté par un rond vert. La touche ESPACE permet un zoom arrière pour visualiser le labyrinthe dans son ensemble.

Source / Exemple :


Organisation du code :

Main : classe Document, gestion des autres objets, du clavier, de la souris, ..
Labyrinthe : classe dérivée de Sprite, génère et représente graphiquement le labyrinthe
Bonhomme : classe associée au symbole graphique du bonhomme, gère son déplacement et ses collisions avec les murs du labyrinthe
Cellule : petite classe utile à l'algo de génération

La maniabilité à la souris m'ayant décu, j'ai intégré un déplacement clavier avec les touches fléchées également. Finalement, les deux sont possibles à tout moment.

J'ai commenté autant que possible le code. C'est mes premiers pas en AS3, j'ai sans doute du faire des erreurs de conception mais dans l'ensemble j'espère que ca pourra servir aux flasheurs qui ont comme moi "débarqué" dans l'AS3 après un rude apprentissage de l'AS1 et 2. Finalement je dois avouer que le côté très "Java" de l'AS3 n'est pas pour me déplaire :)

DEFAUTS :
- pas de preloader, le swf ne fait que 72 ko mais bon ca n'empeche pas. J'ai voulu en faire un mais je me suis heurté à plus de difficultés que prévu.
- pas de packages : pas vraiment nécessaire à mon goût pour un petit jeu comme ca
- ca laggue un peu sur un labyrinthe trop gros... le défilement du sprite est mal géré sur des tailles supérieures à 25/30..
- et sans doute pas mal de bugs encore !

Conclusion :


Un bon exercice personnel qui je l'espère pourra inspirer d'autres codeurs qui se lancent dans Flash et particulièrement l'AS3 qui, au final, présente un confort de programmation largement supérieur aux versions précédentes (à mon goût).
Je ne garantie pas le côté ludique du jeu, moi je préfère concevoir les jeux qu'y jouer !

URL DIRECTE VERS LE JEU :
http://freeplaf.free.fr/flash/labyrinthefou/labyrinthe.html

pour voir mes autres créations flash et des BDs, mon blog est à l'adresse : http://plafpingouin.blogspot.com

Codes Sources

A voir également

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.