Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - bitconrad

#1
Señor@s soy nuevo por aqui, pero desde hace unos meses vi que aca estan los duros de la programacion ;D ;D

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 :silbar: :silbar: pero si alguien lo descubre estaria agradecido!!  :xD :xD :xD

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!!  :laugh: :laugh:

Código (cpp) [Seleccionar]
#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);
}