Advertisement
nRikee

La patata caliente

Apr 25th, 2012
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 5.82 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4.  
  5. /* NUMERO ALEATORIO (sin decimales) */
  6. /*    numero = rand () % (N-M+1) + M;   // Este está entre M y N      */
  7. /* Para que no empieze siempre (la funcion rand) en el mismo numero, se usa:   srand (getpid());  */
  8.  
  9.  
  10.  
  11. int main()
  12. {
  13.     srand (getpid());
  14.     int x,y,patata,multijugador; // x=numero elegido // y= numero escaneado
  15.     char salir;
  16.     inicio:
  17.     printf("// La patata caliente //\n\nUn jugador o dos jugadores? (1/2): ");
  18.     scanf ("%d", &multijugador);
  19.  
  20.     switch (multijugador)
  21.     {
  22.     do{
  23.         case 1 : x = rand () % (100-1+1) + 1;   // Numero aleatorio entre 1 y 100
  24.         patata = rand () % (9-5+1) + 5;  // Numero aleatorio entre 5 y 12
  25.  
  26.  
  27.         /* INTRODUCIR NUMERO ALEATORIO EN "x" (ENTRE 1 Y 100) // Y EN "patata" (ENTRE 5 Y 12) */
  28.         printf("\nTienes que acertar un numero del 1 al 100.\n(La patata explotara entre 5 y 9 intentos)\n");
  29.         fflush(stdin);
  30.         scanf("%d", &y);
  31.         do
  32.         {
  33.             if (patata==0)
  34.             {
  35.                 goto patata;
  36.             }
  37.  
  38.             if (y==x)
  39.             {
  40.                 goto salto2;
  41.             }
  42.             else
  43.             {
  44.                 if (y>0 || y<100)
  45.                 {
  46.                         if (y>x)
  47.                         {
  48.                         patata--;
  49.                         printf("\nEl numero buscado es MENOR que '%d'. Introduce otro valor:   \n",y);
  50.  
  51.                         fflush(stdin);
  52.                         scanf("%d", &y);
  53.                         continue;
  54.                         }
  55.                         else
  56.                         {
  57.                         patata--;
  58.                         printf("\nEl numero buscado es MAYOR que '%d'. Introduce otro valor:\n",y);
  59.  
  60.                         fflush(stdin);
  61.                         scanf("%d", &y);
  62.                         continue;
  63.                         }
  64.                 }
  65.                 else
  66.                 {
  67.                     printf("\nERROR, el valor buscado está entre 1 y 100\n");
  68.  
  69.                     continue;
  70.                 }
  71.             }
  72.  
  73.         } while (y!=x || patata>1 );
  74.  
  75.         patata:
  76.         if(patata<1)
  77.         {
  78.             printf("\n*---O\n *--O\n  *-O\n   *O\nBOOM!!\n\n Ohh! Te ha explotado la patata! Quieres volver a intentarlo? (s/n)");
  79.             fflush(stdin);
  80.             scanf("%c", &salir);
  81.             if (salir!='n')
  82.             {
  83.                 goto salto;
  84.             }
  85.             else{goto salto_fin;}
  86.         }
  87.         else {goto salto2;}
  88.         salto2:
  89.         printf("\n\nHas acertado\n");
  90.  
  91.         getch();
  92.         printf("\nDeseas continuar con un nuevo numero? (s/n)\n");
  93.         fflush(stdin);
  94.         scanf("%c", &salir);
  95.  
  96.         salto:
  97.         fflush(stdin);
  98.         }
  99.         while(salir!='n');
  100.             salto_fin:
  101.             return 0;
  102.  
  103.         case 2 :  // Numero aleatorio entre 1 y 100
  104.  
  105.     do{
  106.         do
  107.         {
  108.             printf ("\nIntroduce un numero entre el 1 y el 100 para que tu adversario lo intente adivinar\n");
  109.             fflush(stdin);
  110.             scanf("%d",&x);
  111.             if(x>100 && x<0)
  112.             {
  113.                 printf("\nError. Introduzca un numero entre 1 y 100\n");
  114.             }
  115.             else
  116.             {
  117.                 printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
  118.                 break;
  119.             }
  120.         } while (x>100 && x<0);
  121.  
  122.         patata = rand () % (9-5+1) + 5;  // Numero aleatorio entre 5 y 12
  123.  
  124.  
  125.         /* INTRODUCIR NUMERO ALEATORIO EN "x" (ENTRE 1 Y 100) // Y EN "patata" (ENTRE 5 Y 12) */
  126.         printf("\nTienes que acertar un numero del 1 al 100.\n(La patata explotara entre 5 y 9 intentos)\n");
  127.         fflush(stdin);
  128.         scanf("%d", &y);
  129.         do
  130.         {
  131.             if (patata==0)
  132.             {
  133.                 goto patata_;
  134.             }
  135.  
  136.             if (y==x)
  137.             {
  138.                 goto salto2_;
  139.             }
  140.             else
  141.             {
  142.                 if (y>0 || y<100)
  143.                 {
  144.                         if (y>x)
  145.                         {
  146.                         patata--;
  147.                         printf("\nEl numero buscado es MENOR que '%d'. Introduce otro valor:   \n",y);
  148.  
  149.                         fflush(stdin);
  150.                         scanf("%d", &y);
  151.                         continue;
  152.                         }
  153.                         else
  154.                         {
  155.                         patata--;
  156.                         printf("\nEl numero buscado es MAYOR que '%d'. Introduce otro valor:\n",y);
  157.  
  158.                         fflush(stdin);
  159.                         scanf("%d", &y);
  160.                         continue;
  161.                         }
  162.                 }
  163.                 else
  164.                 {
  165.                     printf("\nERROR, el valor buscado está entre 1 y 100\n");
  166.  
  167.                     continue;
  168.                 }
  169.             }
  170.  
  171.         } while (y!=x || patata>1 );
  172.  
  173.         patata_:
  174.         if(patata<1)
  175.         {
  176.             printf("\n*---O\n *--O\n  *-O\n   *O\nBOOM!!\n\n Ohh! Te ha explotado la patata! Quieres volver a intentarlo? (s/n)");
  177.             fflush(stdin);
  178.             scanf("%c", &salir);
  179.             if (salir!='n')
  180.             {
  181.                 goto salto_;
  182.             }
  183.             else{goto salto_fin_;}
  184.         }
  185.         else {goto salto2_;}
  186.         salto2_:
  187.         printf("\n\nHas acertado\n");
  188.  
  189.         getch();
  190.         printf("\nDeseas continuar con un nuevo numero? (s/n)\n");
  191.         fflush(stdin);
  192.         scanf("%c", &salir);
  193.  
  194.         salto_:
  195.         fflush(stdin);
  196.         }
  197.         while(salir!='n');
  198.  
  199.             return 0;
  200.  
  201.  
  202.         default : printf("Solo hay para dos jugadores. Introduce un 1 o un 2.");
  203.         goto inicio;
  204.  
  205.     }
  206.  
  207.  
  208.  
  209.  
  210.     salto_fin_:
  211.     return 0;
  212. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement