Création d'un jeu de memoires
Fermé
walidus51
Messages postés
9
Date d'inscription
vendredi 11 avril 2014
Statut
Membre
Dernière intervention
2 mai 2014
-
Modifié par walidus51 le 11/04/2014 à 13:23
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 12 avril 2014 à 13:12
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 12 avril 2014 à 13:12
A voir également:
- Création d'un jeu de memoires
- 94 jeu - Télécharger - Puzzle & Réflexion
- Creation compte gmail - Guide
- Création compte google - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
- Création site web - Guide
4 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 843
11 avril 2014 à 19:37
11 avril 2014 à 19:37
Bonjour,
Je n'ai pas tout lu, mais pas besoin. Pour qu'on puisse t'aider, montre-nous ce que tu as commencé à faire, dis-nous là où tu bloques précisément. Il y a forcément des choses que tu sais faire :-).
Cdlt,
Je n'ai pas tout lu, mais pas besoin. Pour qu'on puisse t'aider, montre-nous ce que tu as commencé à faire, dis-nous là où tu bloques précisément. Il y a forcément des choses que tu sais faire :-).
Cdlt,
walidus51
Messages postés
9
Date d'inscription
vendredi 11 avril 2014
Statut
Membre
Dernière intervention
2 mai 2014
12 avril 2014 à 00:13
12 avril 2014 à 00:13
#include <cstdlib>
#include <iostream>
#include <ctime>
#include <conio.h>
using namespace std;
int main(int argc, char *argv[])
{
printf("\t\t Bienvenue \n\n " );
string prenom, prenom2;
double nombreMystere(0), nombreEssaye(0);
int max(0),min(1), difficulte(0), joueur(0), coups(0),i,j,X;
int t[i][j];
printf( "le but de jeu est de trouvé chaque chiffre 3 fois"
"si tu les devine il reste visible sinon il disparaissent
"et redevienne des X , celui qui gagne c'est celui qui
"termine la matrice( elle devient entièrement visible ) a"
"une duré très courte ( \n\n" );
do
{
printf( "Veuillez choisir le niveau de difficulte:\n" );
printf("Facile(entre 1 et 100), tapez 1\n" );
printf("Moyen(entre 1 et 1000, tapez 2\n" );
printf( "Difficile (entre 1 et 2000), tapez 3\n" );
scanf ("%d",&difficulte);
/* definir le niveau de difficulté toute en créant la matrice */
if (difficulte==1)
{
for (i=0;i<4;i++)
{ for (j=0;j<3;i++)
{
t[i][j]="X";
}}
for (i=0;i<3;i++)
{ for (j=0;j<4;i++)
{ printf("%d", t[i][j]);
}}
X=rand()%4}
else if (difficulte==2)
{
for (i=0;i<5;i++)
{ for (j=0;j<6;i++)
{
t[i][j]="X";
}}
for (i=0;i<5;i++)
{ for (j=0;j<6;i++)
{ printf("%d", t[i][j]);
}}
X=rand()%10}
else if (difficulte==3)
{
for (i=0;i<6;i++)
{ for (j=0;j<8;i++)
{
t[i][j]="X";
}}
for (i=0;i<6;i++)
{ for (j=0;j<8;i++)
{ printf("%d", t[i][j]);
}}
X=rand()%16}
} while(difficulte!=1 && difficulte!=2 && difficulte!=3);
do
{
printf( "Choisissez un mode de jeu:\n");
printf( "1- 1 joueur \n" );
printf("2- 2 joueurs\n" );
scanf("%d",&joueur);
}while(joueur>2);
if (joueur==1)
{
srand(time(NULL));
printf("Indiquez votre prenom");
scanf("%s",prenom);
printf( "A vous de jouer" ,prenom);
}
else if(joueur==2)
{
printf( "Veuillez rentrer le prenom du premier joueur" );
scanf("%s", prenom);
printf("Veuillez rentrer le prenom du second joueur" );
scanf("%s",prenom2);
printf( " A vous de jouer",prenom2,prenom);
}
ce que j'ai pas réussi est de remplir le tableau avec des chiffre mais qu'il apparaissent que sous forme de X sans qu'on voit les chiffre a l'intérieur et chaque chiffre doit ce répéter 3 fois et le remplir de façon aléatoire
merci de bien m'aider
#include <iostream>
#include <ctime>
#include <conio.h>
using namespace std;
int main(int argc, char *argv[])
{
printf("\t\t Bienvenue \n\n " );
string prenom, prenom2;
double nombreMystere(0), nombreEssaye(0);
int max(0),min(1), difficulte(0), joueur(0), coups(0),i,j,X;
int t[i][j];
printf( "le but de jeu est de trouvé chaque chiffre 3 fois"
"si tu les devine il reste visible sinon il disparaissent
"et redevienne des X , celui qui gagne c'est celui qui
"termine la matrice( elle devient entièrement visible ) a"
"une duré très courte ( \n\n" );
do
{
printf( "Veuillez choisir le niveau de difficulte:\n" );
printf("Facile(entre 1 et 100), tapez 1\n" );
printf("Moyen(entre 1 et 1000, tapez 2\n" );
printf( "Difficile (entre 1 et 2000), tapez 3\n" );
scanf ("%d",&difficulte);
/* definir le niveau de difficulté toute en créant la matrice */
if (difficulte==1)
{
for (i=0;i<4;i++)
{ for (j=0;j<3;i++)
{
t[i][j]="X";
}}
for (i=0;i<3;i++)
{ for (j=0;j<4;i++)
{ printf("%d", t[i][j]);
}}
X=rand()%4}
else if (difficulte==2)
{
for (i=0;i<5;i++)
{ for (j=0;j<6;i++)
{
t[i][j]="X";
}}
for (i=0;i<5;i++)
{ for (j=0;j<6;i++)
{ printf("%d", t[i][j]);
}}
X=rand()%10}
else if (difficulte==3)
{
for (i=0;i<6;i++)
{ for (j=0;j<8;i++)
{
t[i][j]="X";
}}
for (i=0;i<6;i++)
{ for (j=0;j<8;i++)
{ printf("%d", t[i][j]);
}}
X=rand()%16}
} while(difficulte!=1 && difficulte!=2 && difficulte!=3);
do
{
printf( "Choisissez un mode de jeu:\n");
printf( "1- 1 joueur \n" );
printf("2- 2 joueurs\n" );
scanf("%d",&joueur);
}while(joueur>2);
if (joueur==1)
{
srand(time(NULL));
printf("Indiquez votre prenom");
scanf("%s",prenom);
printf( "A vous de jouer" ,prenom);
}
else if(joueur==2)
{
printf( "Veuillez rentrer le prenom du premier joueur" );
scanf("%s", prenom);
printf("Veuillez rentrer le prenom du second joueur" );
scanf("%s",prenom2);
printf( " A vous de jouer",prenom2,prenom);
}
ce que j'ai pas réussi est de remplir le tableau avec des chiffre mais qu'il apparaissent que sous forme de X sans qu'on voit les chiffre a l'intérieur et chaque chiffre doit ce répéter 3 fois et le remplir de façon aléatoire
merci de bien m'aider
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 843
12 avril 2014 à 00:37
12 avril 2014 à 00:37
Bonjour,
Pour les prochaines fois, merci de mettre ton code entre les balises <code c>bla bla</code c>. Cela augmentera la visibilité.
Sinon mes remarques sur ton code :
#include <cstdlib>
#include <iostream>
#include <ctime>
Ce ne sont pas des headers C mais C++...
Il faut plutôt inclure stdlib.h, stdio.h et time.h
#include <conio.h>
Ce n'est pas un header standard.
using namespace std;
Ce n'est pas du C...
string prenom, prenom2;
Il n'y a pas de type string en C. Il faut utiliser des chaînes de caractères (soit un char prenom[TAILLE] par exemple, soit une allocation dynamique).
De même pour les erreurs similaires.
double nombreMystere(0), nombreEssaye(0);
Ce n'est pas bon en C. Il faut mettre : double nombreMystere=0;
De même pour les erreurs similaires.
printf( "le but de jeu est de trouvé chaque chiffre 3 fois"
"si tu les devine il reste visible sinon il disp
Il faut seulement 2 guillemets (le début de la chaîne et la fin de chaîne). Si tu veux afficher des guillemets, il faut les échapper à l'aide du backslash \.
for (j=0;j<3;i++)
Il faut mettre j++ et non i++...
t[i][j]="X";
t est un tableau d'entier. Et tu mets une chaîne. Il faut de la cohérence. De plus, il faut utiliser strcpy() pour copier une chaîne dans une autre.
De même pour les erreurs similaires.
X=rand()%4
Tu as oublié un point virgule ";"
De même pour les erreurs similaires.
srand(time(NULL));
Il vaut mieux ne l'appeler qu'une fois. Donc à mettre après la déclaration des variables dans le main().
printf( "A vous de jouer" ,prenom);
Il faut indiquer un %s dans pour afficher "prenom".
De même pour les erreurs similaires.
Tu as oublié le return 0; à la fin du main.
Voilà, corrige déjà tout ça. Je te conseille également de relire le tuto https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c
car il y a vraiment beaucoup de fautes.
N'hésite pas à corriger tout ça, à reposter ton code.
Cdlt,
Pour les prochaines fois, merci de mettre ton code entre les balises <code c>bla bla</code c>. Cela augmentera la visibilité.
Sinon mes remarques sur ton code :
#include <cstdlib>
#include <iostream>
#include <ctime>
Ce ne sont pas des headers C mais C++...
Il faut plutôt inclure stdlib.h, stdio.h et time.h
#include <conio.h>
Ce n'est pas un header standard.
using namespace std;
Ce n'est pas du C...
string prenom, prenom2;
Il n'y a pas de type string en C. Il faut utiliser des chaînes de caractères (soit un char prenom[TAILLE] par exemple, soit une allocation dynamique).
De même pour les erreurs similaires.
double nombreMystere(0), nombreEssaye(0);
Ce n'est pas bon en C. Il faut mettre : double nombreMystere=0;
De même pour les erreurs similaires.
printf( "le but de jeu est de trouvé chaque chiffre 3 fois"
"si tu les devine il reste visible sinon il disp
Il faut seulement 2 guillemets (le début de la chaîne et la fin de chaîne). Si tu veux afficher des guillemets, il faut les échapper à l'aide du backslash \.
for (j=0;j<3;i++)
Il faut mettre j++ et non i++...
t[i][j]="X";
t est un tableau d'entier. Et tu mets une chaîne. Il faut de la cohérence. De plus, il faut utiliser strcpy() pour copier une chaîne dans une autre.
De même pour les erreurs similaires.
X=rand()%4
Tu as oublié un point virgule ";"
De même pour les erreurs similaires.
srand(time(NULL));
Il vaut mieux ne l'appeler qu'une fois. Donc à mettre après la déclaration des variables dans le main().
printf( "A vous de jouer" ,prenom);
Il faut indiquer un %s dans pour afficher "prenom".
De même pour les erreurs similaires.
Tu as oublié le return 0; à la fin du main.
Voilà, corrige déjà tout ça. Je te conseille également de relire le tuto https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c
car il y a vraiment beaucoup de fautes.
N'hésite pas à corriger tout ça, à reposter ton code.
Cdlt,
walidus51
Messages postés
9
Date d'inscription
vendredi 11 avril 2014
Statut
Membre
Dernière intervention
2 mai 2014
12 avril 2014 à 00:46
12 avril 2014 à 00:46
je n'ai pas saisie de quelle code tu parle :/
svp pourriez vous me renvoyé le corrigé en entier comme ci tu le créer de toi même , je sait c'est beaucoup demander mais je suis vraiment en retard .
merci de votre compréhension
svp pourriez vous me renvoyé le corrigé en entier comme ci tu le créer de toi même , je sait c'est beaucoup demander mais je suis vraiment en retard .
merci de votre compréhension
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 843
Modifié par fiddy le 12/04/2014 à 01:00
Modifié par fiddy le 12/04/2014 à 01:00
De quel code je parle ? Du tien...
svp pourriez vous me renvoyé le corrigé en entier comme ci tu le créer de toi même
Non. On n'est pas là pour faire les devoirs mais pour aider à faire.
J'ai déjà bien détaillé la plupart de tes erreurs. Tu peux quand même faire l'effort de corriger par toi-même...
svp pourriez vous me renvoyé le corrigé en entier comme ci tu le créer de toi même
Non. On n'est pas là pour faire les devoirs mais pour aider à faire.
J'ai déjà bien détaillé la plupart de tes erreurs. Tu peux quand même faire l'effort de corriger par toi-même...
walidus51
Messages postés
9
Date d'inscription
vendredi 11 avril 2014
Statut
Membre
Dernière intervention
2 mai 2014
12 avril 2014 à 01:46
12 avril 2014 à 01:46
vous avez raison , désolé
walidus51
Messages postés
9
Date d'inscription
vendredi 11 avril 2014
Statut
Membre
Dernière intervention
2 mai 2014
12 avril 2014 à 01:34
12 avril 2014 à 01:34
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
int main(int argc, char *argv[])
{
printf("\t\t Bienvenue \n\n " );
char prenom[20] , prenom2[20],X,M[3][4],N[5][6],L[6][8];
int difficulte, joueur, coups,i,j,t,m;
int T[3][4],U[5][6],V[6][8];
m=time(0);
srand(m);
printf( "le but de jeu est de trouvé chaque chiffre 3 fois ,si tu les devine il reste visible sinon il disparaissent et redevienne des X , celui qui gagne c'est celui qui termine la matrice( elle devient entièrement visible ) a une duré très courte ( \n\n" );
<choisir le niveau de difficulté>
do
{
printf( "Veuillez choisir le niveau de difficulte:\n" );
printf("Facile, tapez 1\n" );
printf("Moyen, tapez 2\n" );
printf( "Difficile, tapez 3\n" );
scanf ("%d",&difficulte);
<definir le niveau de difficulté toute en créant la matrice >
if (difficulte==1)
{
for (i=0;i<3;i++)
{ for (j=0;j<4;j++)
{ scanf("%d",&T[3][4]);
M[i][j]=X;
}}
for (i=0;i<3;i++)
{ for (j=0;j<4;i++)
{ printf("%s", M[i][j]);
}}
T[3][4]=rand()%4;}
else if (difficulte==2)
{
for (i=0;i<5;i++)
{ for (j=0;j<6;j++)
{ scanf("%d",&U[5][6]) ;
N[i][j]=X;
}}
for (i=0;i<5;i++)
{ for (j=0;j<6;j++)
{ printf("%s", N[i][j]);
}}
U[5][6]=rand()%10;}
else if (difficulte==3)
{
for (i=0;i<6;i++)
{ for (j=0;j<8;j++)
{ scanf("%d",&V[6][8]);
L[i][j]=X;
}}
for (i=0;i<6;i++)
{ for (j=0;j<8;j++)
{ printf("%s", L[i][j]);
}}
V[6][8]=rand()%16;}
} while(difficulte!=1 && difficulte!=2 && difficulte!=3);
<choisir le mode de jeu >
do
{
printf( "Choisissez un mode de jeu:\n");
printf( "1- 1 joueur \n" );
printf("2- 2 joueurs\n" );
scanf("%d",&joueur);
}while(joueur>2);
if (joueur==1)
{printf("Indiquez votre prenom");
scanf("%s",prenom);
printf( "A vous de jouer" ,prenom);
}
else if(joueur==2)
{
printf( "Veuillez rentrer le prenom du premier joueur" );
scanf("%s", prenom);
printf("Veuillez rentrer le prenom du second joueur" );
scanf("%s",prenom2);
printf( " A vous de jouer %s%s",prenom2,prenom);
}
system("PAUSE");
return 0;
}
y a t'il encore des fautes ?
#include <stdlib.h>
#include <time.h>
#include <conio.h>
int main(int argc, char *argv[])
{
printf("\t\t Bienvenue \n\n " );
char prenom[20] , prenom2[20],X,M[3][4],N[5][6],L[6][8];
int difficulte, joueur, coups,i,j,t,m;
int T[3][4],U[5][6],V[6][8];
m=time(0);
srand(m);
printf( "le but de jeu est de trouvé chaque chiffre 3 fois ,si tu les devine il reste visible sinon il disparaissent et redevienne des X , celui qui gagne c'est celui qui termine la matrice( elle devient entièrement visible ) a une duré très courte ( \n\n" );
<choisir le niveau de difficulté>
do
{
printf( "Veuillez choisir le niveau de difficulte:\n" );
printf("Facile, tapez 1\n" );
printf("Moyen, tapez 2\n" );
printf( "Difficile, tapez 3\n" );
scanf ("%d",&difficulte);
<definir le niveau de difficulté toute en créant la matrice >
if (difficulte==1)
{
for (i=0;i<3;i++)
{ for (j=0;j<4;j++)
{ scanf("%d",&T[3][4]);
M[i][j]=X;
}}
for (i=0;i<3;i++)
{ for (j=0;j<4;i++)
{ printf("%s", M[i][j]);
}}
T[3][4]=rand()%4;}
else if (difficulte==2)
{
for (i=0;i<5;i++)
{ for (j=0;j<6;j++)
{ scanf("%d",&U[5][6]) ;
N[i][j]=X;
}}
for (i=0;i<5;i++)
{ for (j=0;j<6;j++)
{ printf("%s", N[i][j]);
}}
U[5][6]=rand()%10;}
else if (difficulte==3)
{
for (i=0;i<6;i++)
{ for (j=0;j<8;j++)
{ scanf("%d",&V[6][8]);
L[i][j]=X;
}}
for (i=0;i<6;i++)
{ for (j=0;j<8;j++)
{ printf("%s", L[i][j]);
}}
V[6][8]=rand()%16;}
} while(difficulte!=1 && difficulte!=2 && difficulte!=3);
<choisir le mode de jeu >
do
{
printf( "Choisissez un mode de jeu:\n");
printf( "1- 1 joueur \n" );
printf("2- 2 joueurs\n" );
scanf("%d",&joueur);
}while(joueur>2);
if (joueur==1)
{printf("Indiquez votre prenom");
scanf("%s",prenom);
printf( "A vous de jouer" ,prenom);
}
else if(joueur==2)
{
printf( "Veuillez rentrer le prenom du premier joueur" );
scanf("%s", prenom);
printf("Veuillez rentrer le prenom du second joueur" );
scanf("%s",prenom2);
printf( " A vous de jouer %s%s",prenom2,prenom);
}
system("PAUSE");
return 0;
}
y a t'il encore des fautes ?
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 843
12 avril 2014 à 12:45
12 avril 2014 à 12:45
Tu as oublié d'utiliser la balise "code" comme dit plus haut.
Pour les prochaines fois, merci de mettre ton code entre les balises <code c>bla bla</code c>. Cela augmentera la visibilité.
Ou alors, tu cliques sur le bouton à droite du bouton "souligné" et sélectionne "C" dans la liste déroulante.
Pour les fautes, tu peux le voir toi-même en prenant un compilateur...
#include <conio.h>
Ce n'est toujours pas standard... A enlever...
m=time(0);
srand(m);
Pourquoi changer ? Je t'ai dit de laisser srand(time(NULL));
M[i][j]=X;
C'est 'X'; au lieu de X. Enfin cela dépend de ce que tu veux faire.
Ensuite ton code a beaucoup changé par rapport à la dernière fois. Pourquoi ?
Pour le reste, cela manque de commentaire, c'est illisible sans l'utilisation de la balise "code". Mais compile par toi-même, tu verras les erreurs :-).
Cdlt,
Pour les prochaines fois, merci de mettre ton code entre les balises <code c>bla bla</code c>. Cela augmentera la visibilité.
Ou alors, tu cliques sur le bouton à droite du bouton "souligné" et sélectionne "C" dans la liste déroulante.
Pour les fautes, tu peux le voir toi-même en prenant un compilateur...
#include <conio.h>
Ce n'est toujours pas standard... A enlever...
m=time(0);
srand(m);
Pourquoi changer ? Je t'ai dit de laisser srand(time(NULL));
M[i][j]=X;
C'est 'X'; au lieu de X. Enfin cela dépend de ce que tu veux faire.
Ensuite ton code a beaucoup changé par rapport à la dernière fois. Pourquoi ?
Pour le reste, cela manque de commentaire, c'est illisible sans l'utilisation de la balise "code". Mais compile par toi-même, tu verras les erreurs :-).
Cdlt,
12 avril 2014 à 12:55
Exemple si je prend une matrice de taille 3,3 il faut qu'il ait 3 chiffre qui se repetent 3 fois , j'ai essayé avec rand()%4 mais le probleme comment repeter le meme chiffre 3 fois
12 avril 2014 à 13:12
De plus, pour ton problème, tu remplis la matrice et puis tu la mélanges.
Tu tires des indices aléatoires (i et j) et tu permutes les éléments d'indice i et j.
Tu fais ceci plusieurs fois et le tableau sera mélangé comme tu le veux.
Cdlt,