Création d'un jeu de memoires
walidus51
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour a tous , voila en fet je doit créer un jeu sans graphisme qui consiste un créer une matrice selon le niveau de difficulté exemple si c un niveau facile la matrice sera composé de 3 ligne et 4 colonnes , si le niveau est moyen la matrice sera composé de 5 ligne et 6 colonnes et si il est difficile il sera composé de 6 ligne et 8 colonne.
ensuite je doit remplir chaque matrice de façon aléatoire par des chiffre qui se répètent trois fois chacun mais le tableau va m'afficher que des X affin que je ne vois pas les chiffre qui se cachent a l'intérieure et le but de jeu est de trouvé chaque chiffre 3 fois si je les devine il reste visible sinon il disparaissent et redevienne des X , il peut se jouer a 2 joueur , celui qui gagne c'est celui qui termine la matrice ( elle devient entièrement visible ) a une duré très courte ( on intègre un chronométré ) time
exemple : si je choisie le niveau de difficulté facile la matrice apparaît comme suit :
XXXX
XXXX
XXXX
et ensuite si je devine les 3 premier chiffre elle affiche comme suite:
4XX4
XX4X
X4XX
jusqu'a ce que je termine la matrice .
j'ai vraiment besoin d'aide pour cet exercice SVP
veuillez me répondre aussitôt que possible et merci .
ensuite je doit remplir chaque matrice de façon aléatoire par des chiffre qui se répètent trois fois chacun mais le tableau va m'afficher que des X affin que je ne vois pas les chiffre qui se cachent a l'intérieure et le but de jeu est de trouvé chaque chiffre 3 fois si je les devine il reste visible sinon il disparaissent et redevienne des X , il peut se jouer a 2 joueur , celui qui gagne c'est celui qui termine la matrice ( elle devient entièrement visible ) a une duré très courte ( on intègre un chronométré ) time
exemple : si je choisie le niveau de difficulté facile la matrice apparaît comme suit :
XXXX
XXXX
XXXX
et ensuite si je devine les 3 premier chiffre elle affiche comme suite:
4XX4
XX4X
X4XX
jusqu'a ce que je termine la matrice .
j'ai vraiment besoin d'aide pour cet exercice SVP
veuillez me répondre aussitôt que possible et merci .
A voir également:
- Création d'un jeu de memoires
- Creation de compte google - Guide
- Creation de site web - Guide
- Creation compte gmail - Guide
- 94 jeu - Télécharger - Puzzle & Réflexion
- Media creation tool - Télécharger - Systèmes d'exploitation
4 réponses
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,
#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
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,
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
#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 ?
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,
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
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,