DEVINECODE (JEU)

Signaler
Messages postés
61
Date d'inscription
jeudi 31 janvier 2002
Statut
Membre
Dernière intervention
18 novembre 2005
-
Messages postés
30
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
22 août 2003
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/10855-devinecode-jeu

Messages postés
30
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
22 août 2003

roswell 117, j'ai suivi tes conseil et voila le resultat :

//*******************
//* \ *
//* §§§§\ *
//* !--! @@ *
//* ! ~! @@\ *
//* @@@@@@@@ \ *
//* @@ @@@@ \*
//* @@ @@@@ *
//* #### *
//* ## ## *
//*~~~~~~##~~##~~~~~*
//*~~~~~~##~~##~~~~~*
//*~~~~~~@@@~@@@~~~~*
//*~~~~~~~~~~~~~~~~~*
//*******************
//* * * * * * * * * *
//**** By ***********
//* * * * * * * * * *
//******** Looping **
//* * * * * * * * * *
//*******************

//Le programme devinecode est un jeu,
// dans lequel l'ordinateur choisi un code et l'utilisateur doit le retrouver,
// en un nombre de tours limiter.

#include

#include <cstdlib>

#include <ctime>

using namespace std;

int main()
{
int choixmenuprincipal;

cout << "
************************************************************";
cout << "
* *";
cout << "
* *";
cout << "
* *";
cout << "
* - 1 - jouer. *";
cout << "
* *";
cout << "
* *";
cout << "
* *";
cout << "
* - 2 - quitter. *";
cout << "
* *";
cout << "
* *";
cout << "
* *";
cout << "
************************************************************";
cout << "
* Choisissez une option entre (1) ou (2): ";
cin >> choixmenuprincipal;
cout << "************************************************************

";


if( choixmenuprincipal < 1 )
{
return main();
}
if( choixmenuprincipal > 2 )
{
return main();
}
if( choixmenuprincipal == 1 )
{
//insere le programme du jeu.

int valeur[5] = {10000, 50000, 100000, 200000, 500000};

int difficulte = 1;

cout << "
************************************************************";
cout << "
* *";
cout << "
* DIFFICULTE *";
cout << "
* *";
cout << "
* - 1 - ( entre 1 et 10000 en 20 tours. ) *";
cout << "
* *";
cout << "
* - 2 - ( entre 1 et 50000 en 20 tours. ) *";
cout << "
* *";
cout << "
* - 3 - ( entre 1 et 100000 en 20 tours. ) *";
cout << "
* *";
cout << "
* - 4 - ( entre 1 et 200000 en 20 tours. ) *";
cout << "
* *";
cout << "
* - 5 - ( entre 1 et 500000 en 20 tours. ) *";
cout << "
* *";
cout << "
************************************************************";
cout << "
* Choisissez une option entre (1), (2), (3), (4) ou (5): ";
cin >> difficulte;
cout << "************************************************************

";


int lvl;
lvl = valeur[difficulte - 1];

int val1;
int finx;

srand ( time( 0 ) );

int code1 = ( 1 + rand() % lvl );

for ( int tour1 = 1; tour1 < 21; tour1++ )
{
cout << "

Tour n°: " << tour1;
cout << "

Choisissez une valeur entre 1 et " << lvl << " ";
cin >> val1;

if( val1 == code1 )
{
cout << "
Vous avez trouver le bon code.";
cout << "
Voulez vous continuer ? (1) = oui ";
cin >> finx;

if( finx == 1 )
{
return main();
}
if( finx != 1 )
{
exit( EXIT_SUCCESS );
}
}
if( val1 < code1 )
{
cout << "
Votre valeur est trop petite.";
}
if( val1 > code1 )
{
cout << "
Votre valeur est trop grande.";
}
}
}
if( choixmenuprincipal == 2 )
{
exit( EXIT_SUCCESS );
}
return main();
}

j'espere que tu le trouvera cours.

autrement, ceux qui veulent, ils peuvent modifier le prog. pour avoir plus de choix de difficulte a deviner, ou de reduire le nombres de tours pour deviner le code.
pour ce qui veulent garder le prog.
Messages postés
30
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
22 août 2003

elle ne fait pas peur, mais c'est que je ne suis encore qu'un debutant.
Messages postés
368
Date d'inscription
jeudi 13 mars 2003
Statut
Membre
Dernière intervention
27 janvier 2010
1
looping la manipulation fait en effet peur (enfin en ce qui me concerne)mais il suffit de s'y mettre à fond une bonne fois pour toute ensuite elle te sera tres naturelle et surtout d'un apport considérable :)
Messages postés
30
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
22 août 2003

merci pour le conseil, mais si pour l'instant je fait beaucoup de repetitions cela est du au fait que je ne maitrise pas encore bien les manipulations des tableaux.
je suis ouvert a touts conseils.
merci encore.
Messages postés
61
Date d'inscription
jeudi 31 janvier 2002
Statut
Membre
Dernière intervention
18 novembre 2005

un conseil pour épurer le code, car il y a trop de répétition :

crée un tableau contenant les valeurs maximum
int valeur[5] = {10000, 50000, 100000, 200000, 500000};
une fois que le joueur a choisi son niveau de difficulté, tu fait :
int lvl;
lvl = valeur[difficulte - 1];

et lors du randomize :
int code1 = ( 1 + rand() % lvl);

et il ne reste plus qu'un seul bloc de test pour les 5 nv de difficulté, au lieu de 5 actuellement.

j'esperes que t'as tout compris.
et continues comme ca !!!