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 : petit probleme dans la creation d'un jeu [ Divers / Débutant(e) ] (lil_adriano)

vendredi 15 février 2008 à 03:54:38 | petit probleme dans la creation d'un jeu

lil_adriano

Slt tous le monde,
                   
                        ben voila je suis entrain de programmer un jeu du style demineur, partiquement le meme principe.dans une fontion je cree un tableau qui initialiser le nombre de serpents ( pour le moment j'ai mis des X) choisi par le joueur, une autre fonction pour afficher le tableau ( pour l'instant il est devoilé) et une troisieme pour qu'il puisse faire son choix pour placer son pion, le programme principale montre un maigre menu (comme le programme n'est pas opérationnel j'ai le minimun.

                      bon je vous expose mon probleme qui est que apres le 3eme affichage de mon tableau il affiche des conneries!! je sais pas pourquoi j'ai tourné l'ordinateur dans tous les sens j'arrive pas a trouve le probleme.
donc je vous demande votre aide pour elucide ce probleme! merci d'avance !!
    Jlion5

voila mon code source

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void ini_tab(int nbr)
{
     int i,j,g,chx1,chx2,chx3,let,Nb,MAX,MIN;
     char serp[15][15],lettre;
     MAX=nbr;
     MIN=1;
     srand(time(NULL));
     for(i=0;i<nbr;i++)
     for(j=0;j<nbr;j++)
     serp[i][j]='O';    
     Nb=0;
     do
     {
          i=(rand() % (MAX - MIN + 1)) + MIN;
          j=(rand() % (MAX - MIN + 1)) + MIN;
          if(serp[i][j]=='O')
          {     
                 serp[i][j]='S';
                 Nb++;
          }
     }while(Nb<nbr);
}
void dim_tab(int nbr)
{
     int i,j,g,chx1,chx2,chx3,let,ligne,Nb,MAX,MIN;
     char serp[15][15];
     g=0;
     let=65;
     printf("\n\n");
     printf("    ");
    
     for(i=0;i<nbr; i++)
     {   
          printf("| %#1c ",let);
          let=let+1;}
          printf("|\n");
          for (i=0; i <nbr*4+5;i++)
          {
              printf("_");
          }
          for (i=0;i<nbr;i++)
          {
              printf("\n");
              printf("%#3d |",g);
              g++;
              for(j=0;j<nbr;j++)
              {
                    printf(" %#1c |",serp[i][j] );
              }
     }
     g=0;
}
void placement_tab(int nbr)
{
     int i,j,col,g,chx1,chx2,chx3,let,ligne,Nb,MAX,MIN;
     char serp[15][15],choix[15][15],lettre;
     printf("\n\n");
     printf("\nquel colonne?\n");
     scanf("%d",&col);
     while(col<0 || col>nbr){
     if(col<0 || col>nbr)
     {
           printf(" tu ne comprend pas!!!\n");
           printf("choisis entre 0 et 4 pour les colonnes\n");
           scanf("%d",&col);}}
           printf("quel ligne?\n");
           scanf("%d",&ligne);
           while(ligne<0 || ligne>nbr){if(ligne<0 || ligne>nbr)
           {
                 printf(" tu ne comprend pas!!!\n");
                 printf("choisis entre 0 et 4 pour les lignes\n");
                 scanf("%d",&ligne);
           }
     }
     //stock la ligne voulue
     i=ligne;
     //stock la colonne voulue
     j=col;
     //a l'aide des deux données on positionne le pion
     serp[i][j]='X';
     }
main()

      int i,j,col,g,choix,chx1,chx2,chx3,ligne,Nb,nbr,MAX,MIN;
      char serp[15][15];
      printf("MENU\n");
      printf("1.Jeu\n");
      printf("2.Regle\n");
      printf("3.Cr\x82teaur\n");
      printf("4.Version\n");
do{
printf("quel niveau tu veux\n");
scanf("%d",&choix);
if (choix==1)
{printf("niveau 1");
nbr=5;
ini_tab(nbr);
dim_tab(nbr);}
else if (choix==2)
{printf("niveau 2");
nbr=10;
ini_tab(nbr);
dim_tab(nbr);}
else if (choix==3)
{printf("niveau 3");
nbr=15;
ini_tab(nbr);
dim_tab(nbr);}
else if (choix==4)
{printf("Merci de votre participation");
                 printf("\n");
                 printf("Au-revoir");
                 printf("\n");
                 system ("pause");
                 return 0;}
else
printf("Ne fais pas le debile suis les instructions");
}while(choix<1 || choix>4);
do{   
            placement_tab( nbr);
            dim_tab(nbr);
            printf("\ntu veux faire un autre choix?");
            scanf("%d",&choix);           
  } while(choix>4 || choix<4);
      printf("\n");
      system ("pause");
      return 0;
}

vendredi 15 février 2008 à 09:25:20 | Re : petit probleme dans la creation d'un jeu

CCJ

Membre Club

Salut.
Deja pour ton :
if (choix==1)
{printf("niveau 1");
nbr=5;
ini_tab(nbr);
dim_tab(nbr);}
else if (choix==2)
{printf("niveau 2");
nbr=10;
ini_tab(nbr);
dim_tab(nbr);}
else if (choix==3)
{printf("niveau 3");
nbr=15;
ini_tab(nbr);
dim_tab(nbr);}
else if (choix==4)
{printf("Merci de votre participation");
                 printf("\n");
                 printf("Au-revoir");
                 printf("\n");
                 system ("pause");
                 return 0;}
else
printf("Ne fais pas le debile suis les instructions");

Un switch serrait plus lisible.
Je ne vois pas le rapport entre ton menu et les actions qu'il y a derriere les saisies .
Ensuite tu utilise des tableau :
char serp[15][15];
Ceci dans plusieurs fonctions , seulement tu le redeclare a chaque fois , donc forcement il est vide ...
Je ne sais pas si c'est la ton probleme etant donné que la seule chose que je sache c'est que ca retourne "des conneries" ... Bref pourrais tu etre plus explicite ?


vendredi 15 février 2008 à 13:51:02 | Re : petit probleme dans la creation d'un jeu

lil_adriano

slt 
   ca retourne des connerie ce que je veux dire parle c'est que il y tout sorte de caractere du ASCII ( des cases vides,des symboles, des lettres, des chiffres). 
Desole pour illisibilité je l'ai un peu aéré mon programme j'ai vu aussi que mon tableau retourne ces conneries parce qu'il ne les conserve pas si je ne me trompe pas! donc il n'y aurai pas un moyen de conserver des donné du tableau???

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void ini_tab(int nbr)
{
     int i,j,let,Nb,MAX,MIN;
     char serp[15][15],lettre;
     MAX=nbr;
     MIN=1;
     srand(time(NULL));
     for(i=0;i<nbr+1;i++)
     for(j=0;j<nbr+1;j++)
     serp[i][j]='O';    
     Nb=0;
     do
     {
          i=(rand() % (MAX - MIN + 1)) + MIN;
          j=(rand() % (MAX - MIN + 1)) + MIN;
          if(serp[i][j]=='O')
          {     
                 serp[i][j]='S';
                 Nb++;
          }
     }while(Nb<nbr);
}
void dim_tab(int nbr)
{
     int i,j,g,let;
     char serp[15][15];
     g=0;
     let=65;
     printf("\n\n");
     printf("    ");
     for(i=0;i<nbr; i++)
     {   
          printf("| %#1c ",let);
          let=let+1;
     }
     printf("|\n");
     for (i=0; i <nbr*4+5;i++)
     {
          printf("_");
     }
     for (i=0;i<nbr;i++)
     {
          printf("\n");
          printf("%#3d |",g);
          g++;
          for(j=0;j<nbr;j++)
          {
                printf(" %#1c |",serp[i][j] );
          }
     }
     g=0;
}
void placement_tab(int nbr)
{
     int i,j,col,ligne;
     char serp[15][15];
     
     printf("\n\n");
     printf("\nquel colonne?\n");
     scanf("%d",&col);
     while(col<0 || col>nbr){
     if(col<0 || col>nbr)
     {
           printf(" tu ne comprend pas!!!\n");
           printf("choisis entre 0 et 4 pour les colonnes\n");
           scanf("%d",&col);}}
           printf("quel ligne?\n");
           scanf("%d",&ligne);
           while(ligne<0 || ligne>nbr){if(ligne<0 || ligne>nbr)
           {
                 printf(" tu ne comprend pas!!!\n");
                 printf("choisis entre 0 et 4 pour les lignes\n");
                 scanf("%d",&ligne);
           }
     }
     //stock la ligne voulue
     i=ligne;
     //stock la colonne voulue
     j=col;
     //a l'aide des deux données on positionne le pion
     serp[i][j]='X';
     }
main()

      int choix,nbr;
     
      printf("MENU\n");
      printf("1.Jeu\n");
      printf("2.Regle\n");
      printf("3.Cr\x82teaur\n");
      printf("4.Version\n");
do{
   printf("quel niveau tu veux\n");
   scanf("%d",&choix);
   if (choix==1)
   {
        printf("niveau 1");
        nbr=5;
        ini_tab(nbr);
        dim_tab(nbr);
   }
   else if (choix==2)
   {
        printf("niveau 2");
        nbr=10;
        ini_tab(nbr);
        dim_tab(nbr);
   }
   else if (choix==3)
   {
        printf("niveau 3");
        nbr=15;
        ini_tab(nbr);
        dim_tab(nbr);
   }
   else if (choix==4)
   {
        printf("Merci de votre participation");
        printf("\n");
        printf("Au-revoir");
        printf("\n");
        system ("pause");
        return 0;
   }
   else
   printf("Ne fais pas le debile suis les instructions");
}while(choix<1 || choix>4);
do{   
            placement_tab( nbr);
            dim_tab(nbr);
            printf("\ntu veux faire un autre choix?");
            scanf("%d",&choix);           
  } while(choix>4 || choix<4);
      printf("\n");
      system ("pause");
      return 0;
}

vendredi 15 février 2008 à 16:42:10 | Re : petit probleme dans la creation d'un jeu
vendredi 15 février 2008 à 16:43:16 | Re : petit probleme dans la creation d'un jeu

CCJ

Membre Club
Réponse acceptée !
Oo.Petit probleme. Si c'est ce que je pense , declare char serp[15][15] en dehors des fonctions , en dessous des includes , et enleve ceux qu'il y a dans les fonctions. Tu peu aussi le declarer dans le main et passer le pointeur en parametre : int maint(){ int nbr; char serp[15][15]; ta_fonction(nbr,serp); } ta_fonction(int nbr,char serp[5][5]){ serp[0][0] = 'X'; // apres tu peu l'utiliser comme tu veu // serp[i][j] dans ton cas } voila. Si l'informatique été de l'alcool il y aurait des genies partout

samedi 16 février 2008 à 18:45:24 | Re : petit probleme dans la creation d'un jeu

lil_adriano

merci ccj pour ta reponse ca fonctionne maintenant, et aussi a tous ceux qui m'ont aidé




Cette discussion est classé dans : printf, choix, tab, min, nbr


Répondre à ce message

Sujets en rapport avec ce message

bug d'execution pour ecrire dans un fichier en C [ par sebtheboss4 ] Bonjour, je suis encore un novice en C, voici un petit programme qui fait rien de très durs. Je souhaite enregistrer une phrase lors de la compilation triage du tableau [ par devamos ] bonsoir,s'il vous plait mes freres j'ai écri un petit programme qui tri un tableau de maniere croissante mais il ne veux plus marcher,,,,j'aimerais qu aide sur un prog [ par jsuititidu27 ] Bonjour, j'ai besoin d'un petit coup de main. ceci est un exo qui demande d'écrire un programme de tri de chaines de caractères. J'ai donc écrit le co Probleme dans la boucle. [ par balak6 ] Bonjour a tous, J'aimerais bien a la fin de chaque programme demander a l'utilisateur si il veux, oui ou non recommencer le programme (while), mais qu Aide fonctions [ par Anonymal ] Bonsoir, voilà je dois faire un code où le professeur tape les 20 notes de ses 20 élèves, le programme calculant la moyenne et l'affichant, puis donne Problème de couleur dans tableau [ par hitachicm615 ] Bonjour,J'ai déclaré un tableau et pour le remplir par des croix ou des ronds j'ai tapé ceci dans un switchcase 1:                tab[0][5] = 'X';   Tri dans un tableau de structure [ par sonic1 ] Bonjour, ma question serait de savoir si on peut trier un tableau de structures de la même manière qu'un tableau simple. Voici un code ou j'essaie de Compte bancaire sous langage C/C++ [ par akanLG ] Salut, Je suis étudiant en informatique de gestion. Je prépare un mémoire de fin de cycle BTS. Mon thème s'intitule Application Bancaire sous Langage CONVERSION BINAIRE/HEXA [ par alex64100 ] BJR,je dois développer un prog d e conversion   binaire/héxaa partir de ce code  :#include #include #include /*  exo 2.Becrire un n Creation d'une liste doubement chainée en C [ par komanetchi ] Bonjour tout le monde,Je viens de commencer a programmer en C.Il faut que je cré une liste doublement chainée et je l'affiche.J'ai pris un code d'inte


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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,374 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é.