Création
d'entreprise
Posez votre question Signaler

Labyrinthe langage c

sheep1704 4Messages postés 22 juin 2009Date d'inscription - Dernière réponse le 23 juin 2009 à 14:26
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.
Lire la suite 

Labyrinthe langage c »

Suggestions
5 réponses
Réponse
+1
moins plus
J'aurai vraiment besoin d'aide je n'arrive pas à démarrer mon programme pour construire mon labyrinthe.
Ajouter un commentaire
Réponse
+0
moins plus
Commence par regarder ce qui a déjà été fait :
http://www.commentcamarche.net/forum/affich 12722133 le jeux de layrinthe
Ajouter un commentaire
Réponse
+0
moins plus
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 ?
KX- 22 juin 2009 à 23:44
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
}
Ajouter un commentaire
Réponse
+0
moins plus
bonjour, merci de m'avoir répondu je pense que ça va m'être très utile. je vais étudier tout ça aujourd'hui.
Ajouter un commentaire
Ce document intitulé « labyrinthe langage c » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?