Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Création labyrinthe [ Windows / Autre ] (ChamY)

mardi 13 mars 2007 à 23:26:00 | Création labyrinthe

ChamY

Bonjour,
Je souhaite réaliser un petit jeux, qui utiliserais un labyrinthe.
Mon jeux est pret sauf le laby ^^

Je ne vois pas comment le réaliser.
Je suis sous un projert en mode console.
Il me faut une case de debut et une case de fin. Pas besoin de generer une solution.
J'ai cherché sur le net des algo et je suis tombé la dessus :


On part d'une case de départ dans le tableau. Chaque case possède 4 murs fermés, un marqueur 'visitée' et un id qui la rend unique.

Pour chaque case, s'il existe une case voisine qui n'a pas été visitée, on ouvre le mur entre ses deux cases (penser à l'ouvrir dans les deux cases). S'il n'y a pas de cases voisines libres, on repasse à la case précédente (penser à conserver l'historique de création quelque part).

S'il existe plusieurs cases voisines libres, on en choisit une au hasard.

Une fois qu'on a posé (m-1) (n-1) murs, on marque la dernière case comme case de sortie. Le labyrinthe est maintenant généré, avec un chemin unique reliant toutes les cases entre elles (si, si, essayez pour voir). Il ne reste qu'à parcourir la matrice pour initialiser les différentes cases avec au hasard un monstre, rien, un piège, un objet, à l'exception bien sûr, de la case d'entrée et de celle de sortie.



Probléme : je n'arrive pas a l'appliquer.
Pourriez vous si quelqu'un a un bout de code plutot simple, m'en faire profiter svp.

En vous remerciant par avance.

ps: je ne savais pas trop ou poster ce genre de question. Désolé si ce post ne ce trouve pas au bon endroit :)

mardi 13 mars 2007 à 23:50:10 | Re : Création labyrinthe

Bidou

Administrateur CodeS-SourceS
Salut,
Je ne sais pas s'il s'agit du même algo que tu décris ici, mais le plus connu pour générer des labyrinthes est certainement l'algorithme de Kruskal .
Pour l'implémentation, à toi de faire des recherches pour voir si qqn l'a déjà fait et publié en C#, sinon va falloir que tu te lances dans la conception...


-Blog-

mercredi 14 mars 2007 à 05:11:53 | Re : Création labyrinthe

Lutinore

Administrateur CodeS-SourceS
Salut, je connais pas d'algo particulier, mais pour moi un labyrinthe c'est un tableau à 2 dimensions de 'bool', si c'est true tu peux passer, si c'est false c'est un mur.

mercredi 14 mars 2007 à 09:20:06 | Re : Création labyrinthe

Bidou

Administrateur CodeS-SourceS
Lutinore> Oui mais le but c'est de pouvoir s'assurer qu'il y a toujours un chemin possible! Si tu génères aléatoirement des bool, tu auras pas des beaux chemins, et en plus tu peux pas être sûr d'avoir une solution.
Avec l'algorithme de Kruskal si




-Blog-

mercredi 14 mars 2007 à 11:27:35 | Re : Création labyrinthe

ChamY

Je ne connaissais pas l'algorithme de Kruskal.
Je sens que je vais devoir passer a la conception ^^

mercredi 14 mars 2007 à 13:03:46 | Re : Création labyrinthe

Bidou

Administrateur CodeS-SourceS
Y'a une semaine environ, j'ai un copain qui me l'a montré (Kruskal), mais il l'avait fait en Java.
D'après ce que j'ai pu voir, c'est pas trop compliqué, tu devrais t'en sortir sans trop de problème...





-Blog-

mercredi 14 mars 2007 à 13:16:51 | Re : Création labyrinthe

Lutinore

Administrateur CodeS-SourceS
Bidou >> vi je suis d'accord dans le cas de la génération dynamique il faut effectivement un algo particulier. Mais maintenant pour toutes les questions j'ai une réponse qui marche à chaque fois : T'AS QU'A FAIRE UN WORKFLOW !!



Cette discussion est classé dans : case, création, cases, réaliser, labyrinthe


Répondre à ce message

Sujets en rapport avec ce message

Faire un labyrinthe [ par oberown ] Comment bien programmer un plateau de labyrinthe ?Sachant que le principe des murs, ce ne sont pas des cases, mais les murs sont entre les cases ?Merc Quel évenement pour une case à coché dans une datagridview ? [ par PegaseJM ] Bonjour,J'ai des cases à cocher dans certaines colonnes de mon DataGridView.j'aimerai ce qu'il faut faire pour déclencher un événement lorsque je coch Resolution d'opérations mathématique [ par iow4 ] Bonjour, j'aimerais creer une fonction qui prend comme parametre un int[] de  nombre et un nombre et qu'elle sorte toutes les opérations possible avec Assistant de création de formulaire [ par blueangel ] Salut, j'ai une question sur la création d'un formulaire sur VS.NET. en faite j'ai une table ou je veux créer un formulaire Web de saisie en séléction attribution de valeurs de variable aux items d'une liste [ par manuweb_21 ] J'aimerais attribuer une valeur précise (je veux dire arbitraire, sans incrémentation ou décrémentation) a une variable pour chaque choix dans une lis treeview [ par akira3 ] y ai un petit problème avec un treeview.chacun de mes nones ne peut etre cliqué qu'une seule fois.La première fois tt marche à merveille mais la secon création d'un setup [ par Jordan59 ] Bonjour à tous,je souhaiterais créer un setup d'installation permettant d'afficher le programme dans démarrer/programme et afficher un raccourci sur l Création barre d'outils [ par nounours21_6 ] Bonjour,Je voudrais savoir si c'est possible de créer une barre d'outils sous IE7 (ou firefox!!) pour une application web??J'ai essayé d'installé la v Gestion de picture Box [ par angelfire0808 ] Bonjour,Je souhaite creer un damier avec des picturebox pour faire des cases. J'ai donc crée ces différentes cases comme le code ci joint maisje voudr Pb d'exception generée [ par angelfire0808 ] Bonjour,Voici mon bout de code qui genere une NullReferenceException lors de la compilation, et je ne comprend pas pourquoi....public Case[,] position


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,702 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.