Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- /* NUMERO ALEATORIO (sin decimales) */
- /* numero = rand () % (N-M+1) + M; // Este está entre M y N */
- /* Para que no empieze siempre (la funcion rand) en el mismo numero, se usa: srand (getpid()); */
- int main()
- {
- srand (getpid());
- int x,y,patata,multijugador; // x=numero elegido // y= numero escaneado
- char salir;
- inicio:
- printf("// La patata caliente //\n\nUn jugador o dos jugadores? (1/2): ");
- scanf ("%d", &multijugador);
- switch (multijugador)
- {
- do{
- case 1 : x = rand () % (100-1+1) + 1; // Numero aleatorio entre 1 y 100
- patata = rand () % (9-5+1) + 5; // Numero aleatorio entre 5 y 12
- /* INTRODUCIR NUMERO ALEATORIO EN "x" (ENTRE 1 Y 100) // Y EN "patata" (ENTRE 5 Y 12) */
- printf("\nTienes que acertar un numero del 1 al 100.\n(La patata explotara entre 5 y 9 intentos)\n");
- fflush(stdin);
- scanf("%d", &y);
- do
- {
- if (patata==0)
- {
- goto patata;
- }
- if (y==x)
- {
- goto salto2;
- }
- else
- {
- if (y>0 || y<100)
- {
- if (y>x)
- {
- patata--;
- printf("\nEl numero buscado es MENOR que '%d'. Introduce otro valor: \n",y);
- fflush(stdin);
- scanf("%d", &y);
- continue;
- }
- else
- {
- patata--;
- printf("\nEl numero buscado es MAYOR que '%d'. Introduce otro valor:\n",y);
- fflush(stdin);
- scanf("%d", &y);
- continue;
- }
- }
- else
- {
- printf("\nERROR, el valor buscado está entre 1 y 100\n");
- continue;
- }
- }
- } while (y!=x || patata>1 );
- patata:
- if(patata<1)
- {
- printf("\n*---O\n *--O\n *-O\n *O\nBOOM!!\n\n Ohh! Te ha explotado la patata! Quieres volver a intentarlo? (s/n)");
- fflush(stdin);
- scanf("%c", &salir);
- if (salir!='n')
- {
- goto salto;
- }
- else{goto salto_fin;}
- }
- else {goto salto2;}
- salto2:
- printf("\n\nHas acertado\n");
- getch();
- printf("\nDeseas continuar con un nuevo numero? (s/n)\n");
- fflush(stdin);
- scanf("%c", &salir);
- salto:
- fflush(stdin);
- }
- while(salir!='n');
- salto_fin:
- return 0;
- case 2 : // Numero aleatorio entre 1 y 100
- do{
- do
- {
- printf ("\nIntroduce un numero entre el 1 y el 100 para que tu adversario lo intente adivinar\n");
- fflush(stdin);
- scanf("%d",&x);
- if(x>100 && x<0)
- {
- printf("\nError. Introduzca un numero entre 1 y 100\n");
- }
- else
- {
- printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
- break;
- }
- } while (x>100 && x<0);
- patata = rand () % (9-5+1) + 5; // Numero aleatorio entre 5 y 12
- /* INTRODUCIR NUMERO ALEATORIO EN "x" (ENTRE 1 Y 100) // Y EN "patata" (ENTRE 5 Y 12) */
- printf("\nTienes que acertar un numero del 1 al 100.\n(La patata explotara entre 5 y 9 intentos)\n");
- fflush(stdin);
- scanf("%d", &y);
- do
- {
- if (patata==0)
- {
- goto patata_;
- }
- if (y==x)
- {
- goto salto2_;
- }
- else
- {
- if (y>0 || y<100)
- {
- if (y>x)
- {
- patata--;
- printf("\nEl numero buscado es MENOR que '%d'. Introduce otro valor: \n",y);
- fflush(stdin);
- scanf("%d", &y);
- continue;
- }
- else
- {
- patata--;
- printf("\nEl numero buscado es MAYOR que '%d'. Introduce otro valor:\n",y);
- fflush(stdin);
- scanf("%d", &y);
- continue;
- }
- }
- else
- {
- printf("\nERROR, el valor buscado está entre 1 y 100\n");
- continue;
- }
- }
- } while (y!=x || patata>1 );
- patata_:
- if(patata<1)
- {
- printf("\n*---O\n *--O\n *-O\n *O\nBOOM!!\n\n Ohh! Te ha explotado la patata! Quieres volver a intentarlo? (s/n)");
- fflush(stdin);
- scanf("%c", &salir);
- if (salir!='n')
- {
- goto salto_;
- }
- else{goto salto_fin_;}
- }
- else {goto salto2_;}
- salto2_:
- printf("\n\nHas acertado\n");
- getch();
- printf("\nDeseas continuar con un nuevo numero? (s/n)\n");
- fflush(stdin);
- scanf("%c", &salir);
- salto_:
- fflush(stdin);
- }
- while(salir!='n');
- return 0;
- default : printf("Solo hay para dos jugadores. Introduce un 1 o un 2.");
- goto inicio;
- }
- salto_fin_:
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement