queria saber si alguien me puede ayudar reemplazando el cout y demas cositas que tiene el codigo que les mostrare en breve, soy novato en esto, es mi 2 semestre, estoy familiarizado apenas con las funciones, pero me cuesta reemplazar "cout" de la funcion void imprimir por el tipico printf y un ciclo for, para evitar tantas lineas innecesarias, otro problema es que no llega al fin del juego, no se que ocurre con las triadas, no le he preguntado a mi profesor gracias al cese de actividades de la u pero si alguien lo descubre estaria agradecido!!
Hay forma de eliminar la parte de las clases? es para basarme de aqui y hacer un proyecto del curso, pero claro esta, que aqui se manejan conceptos mas avanzados de los que me evaluaran, de antemano gracias!!
Código
#include <stdio.h> #include <stdlib.h> #include <iostream> #include <time.h> int i,j,b; using namespace std;//plantilla class jugador//va a tener 2 tipos de variables { private: int puntaje;//guarda el puntaje de cada jugador char a[20];//almacena nombre jugador public: void numpun(int a);//recibe el puntaje de cada jugador int enpun (void);//muestra el puntaje void innombre();//ingresa nombre de jugador char nombre (void);//muestra el nombre del jugador ~ jugador() {cout<<"ADIOS" <<endl;} }; void jugador::numpun(int a) { a=puntaje;//numpun va a tener un entero a que va a almacenar el puntjae } int jugador::enpun() { return(puntaje);//regresa ese puntaje almacenado para que pueda mostrarlo } void jugador::innombre() { cin>>a;//almacena nombre } char jugador::nombre() { cout<<a<<":";//regresa ese nombre } void imprimir (string tablero[])//cadena llamada tablero para imprimirlo { system ("pause"); system ("cls");//refrescar la pantalla en cada turno cout<<"\t\t CONCENTRECE\n"; cout<<"\t********\n"; cout<<"\t********\n"; cout<<"\t**"<<tablero[0]<<"**"<<tablero[1]<<"**"<<tablero[2]<<"**"<<tablero[3]<<"**"<<tablero[4]<<"**"<<tablero[5]<<"**\n";//apareceran los valores aleatoreos dentro de tablero[] cout<<"\t**"<<tablero[6]<<"**"<<tablero[7]<<"**"<<tablero[8]<<"**"<<tablero[9]<<"**"<<tablero[10]<<"**"<<tablero[11]<<"**\n"; cout<<"\t**"<<tablero[12]<<"**"<<tablero[13]<<"**"<<tablero[14]<<"**"<<tablero[15]<<"**"<<tablero[16]<<"**"<<tablero[17]<<"**\n"; cout<<"\t**"<<tablero[18]<<"**"<<tablero[19]<<"**"<<tablero[20]<<"**"<<tablero[21]<<"**"<<tablero[22]<<"**"<<tablero[23]<<"**\n"; cout<<"\t**"<<tablero[24]<<"**"<<tablero[25]<<"**"<<tablero[26]<<"**"<<tablero[27]<<"**"<<tablero[28]<<"**"<<tablero[29]<<"**\n"; cout<<"\t********\n"; cout<<"\t********\n"; } int main() { jugador j1,j2; int turn1=1, turn2=2, tot1=0, tot2=0,i,z=0, total=0,x,a[4]; int o=1,n,k,j; int num[30]; string fichas [30]; string hola[]={"a","b","c","d","e","f","g","h","i","j","a","b","c","d","e","f","g","h","i","j","a","b","c","d","e","f","g","h","i","j"};//opciones de las letras ocultas string table []={"00","01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29"};//posiciones string auxi[]={"00","01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29"}; system("color 18"); cout<<"\t CONCENTRECE\n";//presentacion del juego num[0]=0; srand (time (NULL));//inicializamos el proceso de asignacion de fichas aleatorias del tablero while(o<30) { n=rand()%30;//asigna un numero al azar no mayor a 30 k=0; j=1; while(j<=30) { if(n==num[j])//compara si n sigue el patron de orden de j { k=1; } j=j+1; } if(k!=1)//si k no es 1 es porque n es un numero que no sigue el orden { num[o]=n;//llena la matriz con numeros aleatorios o=o+1; } } for(o=0;o<30;o=o+1)//llena el arreglo de las fichas con letras, en orden aleatorio, usando el arreglo de numeros aleatorios para asignar posiciones aleatorias de las letras ocultas { fichas[o]=hola[num[o]];//asigna letras en orden aleatorio, de acuerdo a la matriz num[] que tiene valores aleatorios los cuales corresponden al orden del arreglo de caracteres } x=turn1; do { if(x==turn1)//empieza jug 1 y empieza ciclo hasta q las 10 tercias sean encontradas { imprimir(table);//imprime tablero cout<<"\n turno del jugador 1";//menciona turno for(i=z;i<=3;i=i+1) { cout<<"\n Escoge una casilla:"; cin>>a[i];//muestra la letra que se oculta en esa ficha(posicion elegida) if(a[i]>=30) { cout<<"\n Opcion invalida"; a[i]=29; } table[a[i]]=fichas[a[i]]; imprimir(table); } if((fichas[a[0]]==fichas[a[1]])&&(fichas[a[0]]==fichas[a[2]]))//verifica que las letras sean iguales { x=turn1; tot1=tot1+1; z=0; table[a[0]]=fichas[a[0]]; table[a[1]]=fichas[a[1]]; table[a[2]]=fichas[a[2]]; cout<<"\n Has encontrado una terna!!\n"; } else if((fichas[a[0]]==fichas[a[1]])&&(fichas[a[2]]!=fichas[a[0]]))//2 fichas iguales y una distinta { x=turn2;//cambia el turno al jugador 2 z=1;//inicia contador para que vuelta a contar las fichas table[a[0]]=auxi[a[0]]; table[a[1]]=auxi[a[1]]; a[0]=a[2];//guarda la posicion de la ficha diferente con la 2 table[a[0]]=fichas[a[0]];//deja visible la ficha que es distinta cout<<"\nFallaste en una casilla: C\n"; cout<<"\nTermina turno de"; cout<<"j1.nombre()"<<endl; } else if((fichas[a[0]]==fichas[a[2]])&&(fichas[a[1]]!=fichas[a[0]])) { x=turn2; z=1; table[a[0]]=auxi[a[0]]; table[a[2]]=auxi[a[2]]; a[0]=a[1]; table[a[0]]=fichas[a[0]]; cout<<"\nFallaste en una casilla: C"; cout<<"\nTermina turno de"; cout<<"j1.nombre()"<<endl; } else if((fichas[a[1]]==fichas[a[2]])&&(fichas[a[0]]!=fichas[a[1]])) { x=turn2; z=1; table[a[2]]=auxi[a[2]]; table[a[1]]=auxi[a[1]]; a[1]=a[0]; table[a[0]]=fichas[a[0]]; cout<<"\nFallaste en una casilla: C"; cout<<"\nTermina turno de"; cout<<"j1.nombre()"<<endl; } else { x=turn2; z=0; table[a[0]]=auxi[a[0]]; table[a[1]]=auxi[a[1]]; table[a[2]]=auxi[a[2]]; cout<<"\nFallaste : C"; cout<<"\nTermina turno de"; cout<<"j1.nombre()"<<endl; } } else if(x==turn2) { imprimir(table); cout<<"\nTurno de "; cout<<j2.nombre()<<endl; for(i=z;i<3;i=i+1) { cout<<"\nEscoge una casilla :"; cin>>a[i]; table[a[i]]=fichas[a[i]]; imprimir(table); } if((fichas[a[0]]==fichas[a[1]])&&(fichas[a[1]]==fichas[a[2]])) { x=turn2; tot2=tot2+1; z=0; table[a[0]]=fichas[a[0]]; table[a[1]]=fichas[a[1]]; table[a[2]]=fichas[a[2]]; cout<<"\nHas encontrado una tercia!!\n"; } else if((fichas[a[0]]==fichas[a[1]])&&(fichas[a[2]]!=fichas[a[0]])) { x=turn1; z=1; table[a[0]]=auxi[a[0]]; table[a[1]]=auxi[a[1]]; a[0]=a[2]; table[a[0]]=fichas[a[0]]; cout<<"\nFallaste en una casilla: C\n"; cout<<"\nTermina turno de"; cout<<"j2.nombre()"<<endl; } else if((fichas[a[0]]==fichas[a[2]])&&(fichas[a[1]]!=fichas[a[0]])) { x=turn1; z=1; table[a[0]]=auxi[a[0]]; table[a[2]]=auxi[a[2]]; a[0]=a[1]; table[a[0]]=fichas[a[0]]; cout<<"\nFallaste en una casilla: C"; cout<<"\nTermina turno de"; cout<<"j2.nombre()"<<endl; } else if((fichas[a[1]]==fichas[a[2]])&&(fichas[a[0]]!=fichas[a[1]])) { x=turn1; z=1; table[a[2]]=auxi[a[2]]; table[a[1]]=auxi[a[1]]; a[1]=a[0]; table[a[0]]=fichas[a[0]]; cout<<"\nFallaste en una casilla: C"; cout<<"\nTermina turno de"; cout<<"j1.nombre()"<<endl; } else { x=turn1; z=0; table[a[0]]=auxi[a[0]]; table[a[1]]=auxi[a[1]]; table[a[2]]=auxi[a[2]]; cout<<"\nFallaste : C"; cout<<"\nTermina turno de"; cout<<"j1.nombre()"<<endl; } } total=tot1+tot2;//suma puntajes de cada jugador } while(total<10);//se sale cuando sea =10 y termina la partida j1.numpun(tot1); j2.numpun(tot2); if(tot1>tot2) { system("color 18"); cout<<"\n¡El ganador es el jugador 1!"; } else if(tot2>tot1) { system("color 81"); cout<<"\n¡El ganador es el jugador 2!"; } else if(tot1==tot2) { cout<<"No hay ganador:p\n"; cout<<"\nPuntos del jugador 1:"<<j1.enpun(); cout<<"\nPuntos del jugador 2:"<<j2.enpun(); cout<<"\nGracias por jugar:D"; } return(0); }