Labyrinthe langage c

sheep1704 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
sheep1704 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'écris ce sujet car j'ai un programme de langage C à faire hors je débute. Le programme est en réalité un mini jeu qui consiste à créer un labyrinthe. Dans un premier temps j'aimerai avoir de l'aide pour créer "la structure". Le labyrinthe doit être carré et les cloisons peuvent être soit un mur ou une porte (ouvrant sur l'extérieur du labyrinthe). On a comme cahier des charges pour un mur (+--+) et pour une porte (+//+). Le problème est que toutes ces cloisons doivent être générées de façon aléatoire. J'aimerai donc savoir comment affiché le labyrinthe avec les conditions précédentes de sorte à ce que j'ai un tableau. J'éspère avoir été clair et compréhensible.
Merci de votre aide.
A voir également:

4 réponses

sheep1704 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   1
 
J'aurai vraiment besoin d'aide je n'arrive pas à démarrer mon programme pour construire mon labyrinthe.
1
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Commence par regarder ce qui a déjà été fait :
http://www.commentcamarche.net/forum/affich 12722133 le jeux de layrinthe
0
sheep1704 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   1
 
j'ai lu votre lien. Il me parait très intéressant mais je suis vraiment un débutant et l'histoire des piles je n'ai pas encore appris. De plus vous passer à l'étape du déplacement du joueur en majeure partie (si j'ai bien compris). Ce qui me pose vraiment problème dans mon projet c'est le fait de construire un labyrinthe avec des cloisons aléatoires. Pourriez vous me donner un coup de pouce ?
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Le problème des cloisons aléatoires c'est que tu risques rapidement de te retrouver dans un labyrinthe impraticable...

Mais sur le principe, il te faut une grille :
const int Xmax=10;
const int Ymax=10;

typedef int grille[Xmax][Ymax];
Puis tu considères qu'un mur est négatif et qu'un espace vide est positif ou nul.
Ensuite il te faudra le remplir aléatoirement (au moins en partie)
Mais j'avoue que je ne sais pas faire de l'aléatoire en C...
void remplir(grille g)
{
int x,y;

for (x=0; x<Xmax; x++)
for (y=0; y<Ymax; y++)
     g[x][y]=(alea(2,5)); // on peut "jouer" sur le taux de remplissage des murs
}
Ce code te permettra de remplir ta grille aléatoirement, mais je ne sais pas faire `alea`
Dans l'idée ce serait un truc du genre :
int alea(int a,int b); // renvoie -1 ou 1 avec une probabilité a/b
{
int n=random(1000*b);
if (n%b<a) return -1; // un mur
else return 1; un espace libre
}
-1
sheep1704 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   1
 
bonjour, merci de m'avoir répondu je pense que ça va m'être très utile. je vais étudier tout ça aujourd'hui.
0