begin process at 2012 02 10 01:49:06
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Jeux

 > GUESSNUMBER : DEVINER LE NOMBRE RECHERCHÉ

GUESSNUMBER : DEVINER LE NOMBRE RECHERCHÉ


 Information sur la source

Note :
Aucune note
Catégorie :Jeux Niveau :Débutant Date de création :27/03/2003 Date de mise à jour :27/03/2003 18:44:04 Vu :2 086

Auteur : NW4O

Ecrire un message privé
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 Description

Ce programme est le premier que je fais car je débute en programmation C . Je viens du monde (merveilleux) du PHP , et j'ai voulu attaquer un peu la programmation en C . Mon code sert surtout à avoir des remarques, suggestions, critiques (y'en a surement bcp) ,mais aussi faire profiter les autres , petre qu'il y en a qui sont pires que moi dans ce "reseau" (j'en suis meme sur, j'ai vu des mini-"programes", genre additionner 2 nbs ;) )

NW4O

Source

  • #include <stdio.h>
  • #include <conio.c>
  • #include <stdlib.h>
  • int main(int argc, char *argv[])
  • {
  • int jouer() {
  • int c ; //vider le buffer
  • int nb_rech=0 ; //nb recherché
  • int niveau ; // choix du niveau
  • int max ; // selon le niveau, le nb d'essais
  • int nb_tape=0 ; // nombre(s) tapé(s)
  • int essai=0 ; // en cas, d'erreur, essai est incrémenté
  • int gagne=0 ; // variable BOOL ; 0=perdu / 1=gagné
  • char replay ; // rejouer ?
  • srand (time(NULL));
  • nb_rech=rand()%101 ; /* Nombre entre 1 et 100 */
  • clrscr() ; /* efface l ' écran */
  • textcolor(GREEN) ; /* la couleur du texte : vert */
  • printf("Les differents niveaux sont :\n") ;
  • printf("1- Vous avez le droit a 20 chances\n") ;
  • printf("2- Vous avez le droit a 10 chances\n") ;
  • printf("3- Vous avez le droit qu' a 5 chances\n") ;
  • do {
  • printf("Taper 1 2 ou 3 selon le niveau que vous voulez choisir :\n\n") ;
  • scanf("%d", &niveau) ; }
  • while(niveau !=1 && niveau !=2 && niveau!=3) ;
  • if(niveau == 1 ) {
  • max=20 ; }
  • else if(niveau == 2) {
  • max=10 ; }
  • else{
  • max=5 ; }
  • printf("Saisir un nombre compris entre 1 et 100 \n") ;
  • do {
  • scanf("%d" , &nb_tape) ; fflush(stdin) ; /* vide el buffer */
  • if(nb_tape<1 || nb_tape>100)
  • printf("Le nombre doit etre compris entre 1 et 100 !!!\n") ;
  • if(nb_tape<nb_rech) {
  • printf("Le nombre rechercher est plus grand !\n");
  • essai++ ; }
  • else if (nb_tape>nb_rech) {
  • printf("Le nombre rechercher est plus petit !\n") ;
  • essai++ ; }
  • else {
  • gagne= 1 ;} }
  • while(essai!=max && !gagne) ;
  • if(gagne) {
  • textcolor(GREEN+BLINK);
  • cprintf("Gagner,") ;
  • printf("vous avez trouver le nombre rechercher\n") ;
  • }
  • else { printf("Le nombre a trouver etait %d\n" , nb_rech) ;
  • }
  • printf("Voulez-vous rejouer ? (o/n)\n") ;
  • replay=getchar() ;
  • replay=toupper(replay) ;
  • if(replay == 'O' ) {
  • jouer() ; }
  • else if (replay == 'N' ) {
  • cprintf("\nAu revoir\n") ;
  • system("PAUSE") ; }
  • else {
  • cprintf("Commande inconnue : le programme va s'arreter\n") ;
  • cprintf("Au revoir\n") ;
  • system("PAUSE") ;
  • }
  • }
  • jouer() ;
  • return 0;
  • }
#include <stdio.h>
#include <conio.c>
#include <stdlib.h>



int main(int argc, char *argv[])
{

int jouer() {

  int c ; //vider le buffer
  int nb_rech=0 ;  //nb recherché
  int niveau ;  // choix du niveau
  int max ;     // selon le niveau, le nb d'essais
  int nb_tape=0 ;   // nombre(s) tapé(s)
  int essai=0 ;     // en cas, d'erreur, essai est incrémenté
  int gagne=0 ;     // variable BOOL ; 0=perdu / 1=gagné
  char replay ;     // rejouer ?


  srand (time(NULL));
  nb_rech=rand()%101 ; /* Nombre entre 1 et 100 */
  clrscr() ; /* efface l ' écran */
  textcolor(GREEN) ; /* la couleur du texte : vert */
  printf("Les differents niveaux sont :\n") ;
  printf("1- Vous avez le droit a 20 chances\n") ;
  printf("2- Vous avez le droit a 10 chances\n") ;
  printf("3- Vous avez le droit qu' a 5 chances\n") ;

  do {
  printf("Taper 1 2 ou 3 selon le niveau que vous voulez choisir :\n\n") ;
  scanf("%d", &niveau) ;   }
  while(niveau !=1 && niveau !=2 && niveau!=3) ;


  if(niveau == 1 ) {
  max=20 ;          }
  else if(niveau == 2) {
  max=10 ;              }
  else{
  max=5 ;                 }


  printf("Saisir un nombre compris entre 1 et 100 \n") ;
  do {
  scanf("%d" , &nb_tape) ;  fflush(stdin) ;  /* vide el buffer */
  if(nb_tape<1 || nb_tape>100)
  printf("Le nombre doit etre compris entre 1 et 100 !!!\n") ;

  if(nb_tape<nb_rech) {
  printf("Le nombre rechercher est plus grand !\n");
  essai++ ; }

  else if (nb_tape>nb_rech) {
  printf("Le nombre rechercher est plus petit !\n") ;
  essai++ ; }

  else {
  gagne= 1 ;}  }

  while(essai!=max && !gagne) ;

  if(gagne) {
  textcolor(GREEN+BLINK);
  cprintf("Gagner,") ;
  printf("vous avez trouver le nombre rechercher\n") ;
  }
  else { printf("Le nombre a trouver etait %d\n" , nb_rech) ;
  }

  printf("Voulez-vous rejouer ? (o/n)\n") ;
  replay=getchar() ;
  replay=toupper(replay) ;
  if(replay == 'O' ) {

  jouer() ; }
  else if (replay == 'N' ) {

  cprintf("\nAu revoir\n") ;
  system("PAUSE") ; }
  else {
  cprintf("Commande inconnue : le programme va s'arreter\n") ;
  cprintf("Au revoir\n") ;
  system("PAUSE") ;
  }
   }

  jouer() ;

  return 0;
}

 Conclusion

Mon code sert surtout à avoir des remarques, suggestions, critiques (y'en a surement bcp) ,mais aussi faire profiter les autres , petre qu'il y en a qui sont pires que moi dans ce "reseau" (j'en suis meme sur, j'ai vu des mini-"programes", genre additionner 2 nbs ;) )


 Sources du même auteur

LISTEUR DE FICHIERS

 Sources de la même categorie

Source avec Zip Source avec une capture JEUX SERPENT par antho974
Source avec Zip Source avec une capture PENDU EN SDL par Damsou91
Source avec Zip STATE MACHINE MODIFICATION MATH BUCKHAM par billybones79
Source avec Zip AUTRE GRILLE DE SUDOKU par Eneur
Source avec Zip Source avec une capture SOKOBAN EN C POUR DÉBUTANT (VERSION AMÉLIORÉE BASÉE SUR LE T... par eustatika

Commentaires et avis

Commentaire de Beuss le 27/03/2003 19:05:38

ton nombre est compris entre 0 et 100 pour qu'il soit compris entre 1 et 100 il faut faire rand()%100 + 1;
ton jouer doit se trouver à l'extérieur de ton main et tu dois faire une boucle pour que l'utilisateur rejoue et non pas réappeler la fonction...

Commentaire de NW4O le 27/03/2003 21:11:22

Salut. merci de tes conseils :) . c'est vrai que les fonctions doivent etre a lextérieur du main mé bon, la synthaxe et lapparance de mon prog est pourri, je le sais. en plus g mm pas mis de prototype (chose recomandé en C-AINSI). Sinon pour le rand, j'ai aps compris la différence car moi j'ai toujours des nb entre 1 et 100 donc je vois pas pk je devrai mettre autre chose ?!
Et pour la boucle au lieu de rappeller la fonction, je l'avais fait dans la 1er version du prog, mais j'ai changer apres ... enfin ca change un peu rien ca ... :) Merci.

NW4O

Commentaire de retaks666 le 28/03/2003 19:25:50

c koi cprintf("")?

Commentaire de bouba le 28/03/2003 22:03:06

cprintf c'est comme printf a part que ca permet en plus d'afficher du texte en couleur, il faut bien sûr appeler textcolor avant.

Commentaire de Beuss le 29/03/2003 01:03:01

tes nombrzes sont entre 1 et 100 parce que tu as de la chance mais étant donné que tu utilises le modulo (reste de la division entiere) tu ne peux jamais avoir 100 car si le nombre est divisible par 100 le %100 donnera 0 test nombres sont donc entre 0 et 99 voila pourquoi tu dois mettre +1

Commentaire de Lothar le 13/04/2003 01:20:49

Tout est bon a prendre . Merci pour le cprinf et le textcolor car je ne le savais pas . Ton code est bien présenter et pas trop difficile a comprendre . si tu avais fais un truc plus technique il aurais fallu que t ajoutes des commentaires .

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,340 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales