Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- /* http://nrikee.wordpress.com */
- /* 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 igual_ (int numero, int escaneado) {return numero==escaneado;}
- int mayor_menor (int numero, int escaneado)
- {
- if (numero<escaneado) {printf("\nEl numero buscado es MENOR que '%d'.\n",escaneado); return 3;}
- else printf("\nEl numero buscado es MAYOR que '%d'.\n",escaneado); return 2;
- }
- int rango (int numero)
- {
- if (numero<1 || numero>100){ printf("El numero esta fuera del rango. Introduce un valor entre 1 y 100:\n"); return 4; }
- }
- int main()
- {
- srand (getpid());
- int x,y,patata,multijugador,rang,estado; // x= numero elegido // y= numero escaneado
- int cpyright = 169;
- char salir;
- printf("// La patata caliente //\n\nUn jugador o dos jugadores? (1/2): ");
- scanf ("%d", &multijugador);
- switch (multijugador)
- {
- case 1 :
- /* INTRODUCIR NUMERO ALEATORIO EN "x" (ENTRE 1 Y 100) // Y EN "patata" (ENTRE 5 Y 9) */
- do{
- x = rand () % (100-1+1) + 1; // Numero aleatorio entre 1 y 100
- patata = rand () % (9-5+1) + 5; // Numero aleatorio entre 5 y 9
- system("cls");
- printf("\nTienes que acertar un numero del 1 al 100. Tienes entre 5 y 9 oportunidades (es aleatorio)\n");
- do
- {
- if(patata<1)
- {
- break;
- }
- printf("\n Introduce un nuevo numero:\n ");
- fflush(stdin);
- scanf("%d", &y);
- system("cls");
- estado = rango(x);
- patata--;
- if (estado!=4)
- {
- estado = igual_(x,y);
- if (estado==0)
- {
- estado = mayor_menor(x,y);
- }
- else{ break; }
- }
- } while (estado!=1 || patata>1 );
- if(patata<1)
- {
- printf("\nO-----*");
- printf("\nO----*");
- printf("\nO---*");
- printf("\nO--*");
- printf("\nO-*");
- printf("\nO*");
- printf("\n<-<--BOOOM!!-->->");
- printf("\nOhh! 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;}
- }
- printf("\n\nENHORABUENA, has acertado!\n");
- getch();
- printf("\nDeseas continuar con un nuevo numero? (s/n)\n");
- fflush(stdin);
- scanf("%c", &salir);
- salto:
- system("cls");
- } 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
- {
- break;
- }
- } while (x>100 && x<0);
- patata = rand () % (9-5+1) + 5; // Numero aleatorio entre 5 y 9
- system("cls");
- printf("\nTienes que acertar un numero del 1 al 100. Tienes entre 5 y 9 oportunidades (es aleatorio)\n");
- do
- {
- if(patata<1)
- {
- break;
- }
- printf("\n Introduce un nuevo numero:\n ");
- fflush(stdin);
- scanf("%d", &y);
- system("cls");
- estado = rango(x);
- patata--;
- if (estado!=4)
- {
- estado = igual_(x,y);
- if (estado==0)
- {
- estado = mayor_menor(x,y);
- }
- else{ break; }
- }
- } while (estado!=1 || patata>1 );
- if(patata<1)
- {
- printf("\nO-----*");
- printf("\nO----*");
- printf("\nO---*");
- printf("\nO--*");
- printf("\nO-*");
- printf("\nO*");
- printf("\n<-<--BOOOM!!-->->");
- printf("\nOhh! Te ha explotado la patata! Quieres volver a intentarlo? (s/n): ");
- fflush(stdin);
- scanf("%c", &salir);
- if (salir!='n')
- {
- goto salto2;
- }
- else{goto salto_fin2;}
- }
- printf("\n\nENHORABUENA, has acertado!\n");
- getch();
- printf("\nDeseas continuar con un nuevo numero? (s/n)\n");
- fflush(stdin);
- scanf("%c", &salir);
- salto2:
- system("cls");
- } while(salir!='n');
- salto_fin2:
- return 0;
- default : printf("Solo hay para dos jugadores. Introduce un 1 o un 2.");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement