Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <time.h>
- #include <cstdlib>
- #include"toqueYFama.h"
- void bienvenida_tf();
- int selectorDificultad_tf();
- void generadorNumeroPC_tf(int a[5], int b);
- void seleccionNumero_tf(int a[5], int b);
- int adivinarNumero_tf();
- int adivinarPosicion_tf(int a);
- int pcNumberGuess_tf();
- int pcPossitionGuess_tf(int a);
- void scanToqueFama_tf(int a[5], int b[5], int c, int d, int e, int f, int g);
- int scanVictoria_tf(int a, int b, int c, int d[5]);
- int dificultad = 0;
- int toqueUsuario, famaUsuario, toquePC, famaPC;
- int numeroPC, posicionPC, numeroUsuario, posicionUsuario;
- int memoriaPC1 = 0;
- int memoriaPC2 = 0;
- int vectorPC[5] = {10,10,10,10,10};
- int vectorUsuario[5] = {30,30,30,30,30};
- void bienvenida_tf(){
- printf("Toque y Fama\n\n");
- printf("Bienvenido a Toque y Fama. En este juego deberas intentar adivinar los\n");
- printf("digitos del numero de la computadora antes de que esta adivine los tuyos.\n");
- }
- int selectorDificultad_tf(){
- char x[10];
- printf("\nSeleccione su nivel de dificultad (de 2 a 5): ");
- scanf("%s",&x);
- int k=0;
- while(k == 0){ //En caso de que el usuario ingrese un número incorrecto (o una letra) , el programa pedirá que se ingrese otro.
- int temp = (int)x[0];
- if(((temp <= 53) && (temp >= 50))){
- while(x[1]!=0){
- printf("El dato digitado no es un valor correcto. Ingrese un valor numerico entre 2 y 5.\n");
- fflush(stdin);
- scanf("%s",&x);
- }
- k=1;
- break;
- }
- else{
- printf("El dato digitado no es un valor correcto. Ingrese un valor numerico entre 2 y 5\n");
- fflush(stdin);
- scanf("%s",&x);
- }
- }
- int z = x[0];
- z = z - '0';
- printf("La dificultad seleccionada es %i.\n\n",z);
- return z;
- }
- void generadorNumeroPC_tf(int a[5],int b){
- int x;
- int y=0;
- srand(time(NULL));
- while(y<b){
- int r=rand()%10;
- for (x = 0; x < y; x++)
- {
- if(a[x] == r){
- break;
- }
- }
- if(x==y){
- a[y++]=r;
- }
- }
- }
- void seleccionNumero_tf(int a[5],int b){
- char x[6] = {0,0,0,0,0,0};
- int k = 0;
- while(k == 0){
- printf("Seleccione un numero de %i cifras distintas entre si: ",b);
- scanf("%s",&x);
- switch (b){
- case 2:
- if((x[0] >= 48) && (x[0] <= 57)){
- if((x[1] >= 48) && (x[1] <= 57)){
- if(x[2] == 0){
- if((x[0] != x[1])){
- k = 1;
- break;
- } } } }
- break;
- case 3:
- if((x[0] >= 48) && (x[0] <= 57)){
- if((x[1] >= 48) && (x[1] <= 57)){
- if((x[2] >= 48) && (x[2] <= 57)){
- if(x[3] == 0){
- if((x[0] != x[1]) && (x[1] != x[2]) && (x[0] != x[2])){
- k = 1;
- break;
- } } } } }
- break;
- case 4:
- if((x[0] >= 48) && (x[0] <= 57)){
- if((x[1] >= 48) && (x[1] <= 57)){
- if((x[2] >= 48) && (x[2] <= 57)){
- if((x[3] >= 48) && (x[3] <= 57)){
- if(x[4] == 0){
- if((x[0] != x[1]) && (x[1] != x[2]) && (x[2] != x[3]) && (x[0] != x[2]) && (x[0] != x[3])){
- k = 1;
- break;
- } } } } } }
- break;
- case 5:
- if((x[0] >= 48) && (x[0] <= 57)){
- if((x[1] >= 48) && (x[1] <= 57)){
- if((x[2] >= 48) && (x[2] <= 57)){
- if((x[3] >= 48) && (x[3] <= 57)){
- if((x[4] >= 48) && (x[4] <= 57)){
- if(x[5] == 0){
- if((x[0] != x[1]) && (x[1] != x[2]) && (x[2] != x[3]) && (x[3] != x[4]) && (x[0] != x[2]) && (x[0] != x[3]) && (x[0] != x[4])){
- k = 1;
- break;
- } } } } } } }
- break;
- }
- if(k == 0){
- printf("ERROR, el dato introducido no es valido, intente nuevamente.\n");
- }
- }
- for(int i = 0; i < b; i++){
- a[i] = x[i] - 48;
- }
- }
- int adivinarNumero_tf(){
- char x[10];
- printf("\nIntente adivinar un digito del numero del PC: ");
- scanf("%s",&x);
- int k=0;
- while(k == 0){ //En caso de que el usuario ingrese un número incorrecto (o una letra), el programa pedirá que se ingrese otro.
- int temp = (int)x[0];
- if(((temp <= 57) && (temp >= 48))){
- while(x[1]!=0){
- printf("El dato digitado no es un valor correcto. Ingrese un valor numerico entre 0 y 9.\n");
- fflush(stdin);
- scanf("%s",&x);
- }
- k=1;
- break;
- }
- else{
- printf("El dato digitado no es un valor correcto. Ingrese un valor numerico entre 0 y 9.\n");
- fflush(stdin);
- scanf("%s",&x);
- }
- }
- int y = x[0];
- y = y - '0';
- return y;
- }
- int adivinarPosicion_tf(int a){
- char x[10];
- printf("\nIntente adivinar la posicion de el digito: ");
- scanf("%s",&x);
- int k=0;
- while(k == 0){ //En caso de que el usuario ingrese un número incorrecto (o una letra), el programa pedirá que se ingrese otro.
- int y = a;
- y = y + '0';
- int temp = (int)x[0];
- if(((temp <= y) && (temp > 48))){
- while(x[1]!=0){
- printf("El dato digitado no es un valor correcto. Ingrese un valor numerico entre 1 y %i.\n",a);
- fflush(stdin);
- scanf("%s",&x);
- }
- k=1;
- break;
- }
- else{
- printf("El dato digitado no es un valor correcto. Ingrese un valor numerico entre 1 y %i.\n",a);
- fflush(stdin);
- scanf("%s",&x);
- }
- }
- int z = x[0];
- z = z - '0';
- z = z-1;
- return z;
- }
- int pcNumberGuess_tf(){
- int x;
- srand(time(NULL));
- int r=rand()%10;
- x = r;
- printf("El PC eligio el numero %i, ", x);
- memoriaPC2 = x;
- return x;
- }
- int pcPossitionGuess_tf(int a){
- int x;
- srand(time(NULL));
- int r=rand()%a;
- x = r;
- printf("y la posicion %i. \n", x + 1);
- return x;
- }
- void scanToqueFama_tf(int a[5], int b[5], int c, int d, int e, int f, int g){
- for(int i = 0; i < g; i++){
- if(a[i] == c){
- if(i == d){
- famaUsuario++;
- break;
- }
- else{
- toqueUsuario++;
- break;
- }
- }
- }
- for(int j = 0; j < g; j++){
- if(b[j] == e){
- if(j == f){
- memoriaPC1 = 30;
- famaPC++;
- break;
- }
- else{
- memoriaPC1 = 1;
- toquePC++;
- break;
- }
- }
- }
- printf("Toques del Usuario: %i. Famas del usuario: %i.\n", toqueUsuario, famaUsuario);
- printf("Toques del PC: %i. Famas del PC: %i. \n",toquePC, famaPC);
- }
- int scanVictoria_tf(int a, int b, int c, int d[5]){
- if(a == 4){
- printf("Gana el usuario! El numero del PC era: ");
- for(int i = 0; i < c; i++){
- printf("%i", d[i]);
- }
- }
- else if(b == 4){
- printf("Gana el PC, su numero era: ");
- for(int i = 0; i < c; i++){
- printf("%i", d[i]);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement