Manque style de labyrinthe

fredbubu65 Messages postés 13 Date d'inscription mardi 30 mars 2010 Statut Membre Dernière intervention 17 janvier 2019 - 31 mars 2010 à 16:47
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 - 3 avril 2010 à 13:45
Frédéric.
Bonjour, j'ai le code entier d'un labyrinthe que j'ai récupéré, il marche, mais à l'exécution, j'ai une fenêtre vide, en fait je ne sais pas comment on crée ce fichier ou apparait le labyrinthe?
Merci de répondre assez rapidement.

6 réponses

Utilisateur anonyme
31 mars 2010 à 16:55
Bonjour,
Alors pour moi le "Merci de répondre assez rapidement" c'est pas cool...
Après pour regler ton probleme il nous faudrait plus d'informations (tu utilises quoi pour coder, dans quel language, ...)
0
fredbubu65 Messages postés 13 Date d'inscription mardi 30 mars 2010 Statut Membre Dernière intervention 17 janvier 2019
31 mars 2010 à 17:09
Frédéric.
J'utilise le logiciel Scite (je suis sous Linux). C'est un programme en C.
Voici le code:

#include <ncurses.h>
#include <stdlib.h>
#include <stdio.h>


void ncurses();
void mat();
void deplacer();

void ncurses(){

initscr();
noecho();
start_color();
init_pair(1, COLOR_RED, COLOR_RED);
init_pair(2, COLOR_RED, COLOR_BLUE);
init_pair(3, COLOR_RED, COLOR_WHITE);
init_pair(4, COLOR_RED, COLOR_GREEN);

}

void mat(){

int largeur=30,hauteur=30;
char lab[largeur][hauteur];
int nb_ligne,nb_col;



for(nb_ligne=0;nb_ligne<=hauteur;nb_ligne++)
{
for(nb_col=0;nb_col<=largeur;nb_col++)
{
lab[nb_ligne][nb_col]='0';
}
}
}

void deplacer(int nb_ligne, int nb_col){


move(nb_ligne,nb_col);
wattrset (stdscr, COLOR_PAIR(2));
addch('>');

}

int main (int argc, char **argv)
{
int largeur=30,hauteur=30;
char lab[largeur][hauteur];
int nb_ligne,nb_col;

FILE *fichier;

char chaine;
int key=0;


fichier=fopen("stylelabyrinthe.txt","r" ); /*Ca c'est un fichier en txt que j'ai crée pour générer un style de labyrinthe, et c'est ca mon pb!!!*/
/****************init lab******************/
mat();
/****************initlab******************/

/***********ncureses*************/
ncurses(); /************ncursess*******/


while (!feof(fichier))
{
for(nb_ligne=0;nb_ligne<=hauteur;nb_ligne++)
{

for(nb_col=1;nb_col<=largeur;nb_col++)
{
fscanf(fichier,"%c",&lab[nb_ligne][nb_col]);
if(lab[nb_ligne][nb_col]=='0')
{

attron(COLOR_PAIR(1));
mvprintw(nb_ligne,nb_col," " );
attroff(COLOR_PAIR(1));

}

else if(lab[nb_ligne][nb_col]=='1')
{
attron(COLOR_PAIR(3));
mvprintw(nb_ligne,nb_col," " );
attroff(COLOR_PAIR(3));

}
else if(lab[nb_ligne][nb_col]=='M')
{
attron(COLOR_PAIR(2));
mvprintw(nb_ligne,nb_col," " );
attroff(COLOR_PAIR(2));

}
else if(lab[nb_ligne][nb_col]=='K')
{
attron(COLOR_PAIR(4));
mvprintw(nb_ligne,nb_col,"&" );
attroff(COLOR_PAIR(4));

}

refresh();

}
fscanf(fichier,"%c",&chaine);

}
}

keypad(stdscr,TRUE);

curs_set(0);


nb_ligne= 1 ;
nb_col= 5 ;
move(nb_ligne,nb_col);



while (key != KEY_F(12))
{
wattrset (stdscr, COLOR_PAIR(3));

switch (key)
{

case KEY_RIGHT:
if (largeur-1 > nb_col)
{

if (lab[nb_ligne][nb_col+1] != '0' && lab[nb_ligne+1][nb_col] != 'V')
{
addch (' ');
nb_col++;
deplacer(nb_ligne,nb_col);
}
}
break;

case KEY_LEFT:
if (0 < nb_col)
{
if (lab[nb_ligne][nb_col-1] != '0' && lab[nb_ligne+1][nb_col] != 'V')
{
addch (' ');
nb_col--;
deplacer(nb_ligne,nb_col);
}
}
break;

case KEY_DOWN:
if (hauteur-1 > nb_ligne)
{
if (lab[nb_ligne+1][nb_col] != '0' && lab[nb_ligne+1][nb_col] != 'V')
{
addch (' ');
nb_ligne++;
/******deplacer*********/
deplacer(nb_ligne,nb_col);
/*********deplacer***********/
}
}
break;




case KEY_UP:
if (0< nb_ligne)
{
if (lab[nb_ligne-1][nb_col] != '0' && lab[nb_ligne+1][nb_col] != 'm')
{
addch (' ');
nb_ligne--;
deplacer(nb_ligne,nb_col);
}
}
break;

}



key=getch();
move(nb_ligne,nb_col);
refresh();

}

echo();
endwin();
exit(0);

return 0;

}

Voila le programme en C avec la bibliothèque ncurses qu'il me faut, donc ce programme est bon, il marche a l'exécution, mais fenêtre vide!!!
0
croftman Messages postés 110 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 2 avril 2010
1 avril 2010 à 10:18
Mmm tu es dans la bonne section en plus!
0
fredbubu65 Messages postés 13 Date d'inscription mardi 30 mars 2010 Statut Membre Dernière intervention 17 janvier 2019
1 avril 2010 à 21:15
Frédéric.
Très drôle !!! Je suis désolé, mais personne à la science infuse, même dans
son domaine personne ne sait tout résoudre, et puis si c'est pour poster des
messages de ce genre c'est pas la peine.
Le but, étant entre internautes, c'est de s'aider, sinon si c'est pas pour faire avancer le "smiblick", c'est pas la peine.
Merci. pffff
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
croftman Messages postés 110 Date d'inscription dimanche 23 janvier 2005 Statut Membre Dernière intervention 2 avril 2010
2 avril 2010 à 09:04
Ben justement pour te faire avancer tu devrais poster dans la bonne section du forum pour que l'on te réponde plus vite, étant donné que tu ne code pas en JS...
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
3 avril 2010 à 13:45
Bonjour,

Le thème "Demande d'un nouveau thème de discussion sur CodeS-SourceS" est pour demander un nouveau thème, pas une nouvelle discussion.

Pour une question C, merci de poster sur cppfrance dans un thème C.

[ Déplacé sur cppfrance ]
0
Rejoignez-nous