InicioCiencia EducacionJuego "Código oculto" hecho en C
Algunos abran jugado al "Código Oculto", y si no lo jugaron es un juego de mesa que consiste en adivinar un código secreto (u oculto) que el jugador contrario arme con clavos de colores. Tenes una cantidad determinada de oportunidades, una vez pasadas dichas oportunidades sin haber acertado el código, perdiste. Obviamente hay que buscar acertar el código en la menor cantidad de oportunidades posibles.

Acá les pongo una foto del juego de mesa

Juego "Código oculto" hecho en C


En fin, yo lo que quise hacer fue hacer un programa en C para recrear este juego, en vez de utilizar clavos, utilizo números de cuatro cifras.
Para programar use el compilador QTcreator.

A continuación les dejo el código:



#include <stdlib.h>
#include <stdio.h>
#include <time.h>

void verificar(int secreto, int *buenos, int *regulares);
int generadorSecreto();
int ingresoNumero();


int main(void)
{
int nBuenos=0;
int nRegulares=0;
//srand(time(NULL));
int numeroSecreto=generadorSecreto();

verificar(numeroSecreto,&nBuenos,&nRegulares);
printf("/n/n" );


return 0;
}

int generadorSecreto()
{
int nro;
nro=rand()%1000;
if(nro<1000)
nro=nro+1000;

return nro;
}

int ingresoNumero()
{
int numeroIngresado;
printf("Ingrese un N entre 1000 y 9999 " );
scanf("%d",&numeroIngresado);
return numeroIngresado;
}

void verificar( int secreto,int *buenos, int *regulares)
{
int uniMilSec,centenaSec,decenaSec,unidadSec,restoSec;
int uniMilIng,centenaIng,decenaIng,unidadIng,restoIng;
int i=0;
int intento;


while((intento=ingresoNumero())!=secreto && i<19)
{
restoIng=intento%1000;
uniMilIng=intento/1000;
centenaIng=restoIng/100;
decenaIng=(restoIng/10)%10;
unidadIng=restoIng%10;

restoSec=secreto%1000;
uniMilSec=secreto/1000;
centenaSec=restoSec/100;
decenaSec=(restoSec/10)%10;
unidadSec=restoSec%10;

if(uniMilIng==uniMilSec)
*buenos=*buenos+1;
if(uniMilIng==centenaSec)
*regulares=*regulares+1;
if(uniMilIng==decenaSec)
*regulares=*regulares+1;
if(uniMilIng==unidadSec)
*regulares=*regulares+1;

if(centenaIng==uniMilSec)
*regulares=*regulares+1;
if(centenaIng==centenaSec)
*buenos=*buenos+1;
if(centenaIng==decenaSec)
*regulares=*regulares+1;
if(centenaIng==unidadSec)
*regulares=*regulares+1;

if(decenaIng==uniMilSec)
*regulares=*regulares+1;
if(decenaIng==centenaSec)
*regulares=*regulares+1;
if(decenaIng==decenaSec)
*buenos=*buenos+1;
if(decenaIng==unidadSec)
*regulares=*regulares+1;

if(unidadIng==uniMilSec)
*regulares=*regulares+1;
if(unidadIng==centenaSec)
*regulares=*regulares+1;
if(unidadIng==decenaSec)
*regulares=*regulares+1;
if(unidadIng==unidadSec)
*buenos=*buenos+1;

printf("/n/tBuenos: %d/n",*buenos);
printf("/n/tRegulares: %d/n",*regulares);
*buenos=0;
*regulares=0;

printf("/n" );
printf("/n/t INTENTO %d/n",i+2);
i++;
}
if(intento==secreto)
{
printf("/n/t++++++++++++++++++++++++++++++/n" );
printf("/n/t FELICITACIONES!!/n" );
if(i==0)
{
printf("/t acertase en el %d intento/n/n",i+1);
printf("/n/t++++++++++++++++++++++++++++++/n" );
}
else
{
printf("/t acertase en %d intentos/n/n",i+1);
printf("/t++++++++++++++++++++++++++++++/n" );
}
}
else
{
printf("/n/t---------------------------/n" );
printf("/n/t PERDISTE!!/n " );
printf("/t intenta de nuevo!!/n " );
printf("/n/t---------------------------/n/n" );
}


}



Bueno, nada más que eso, un pequeño aporte para aquel que le guste o quiera aprender a programar, usar C es un buen comienzo.

El que quiera le paso el archivo en .pro y también la página donde pueden descargar el QTcreator sin inconvenientes.

Saludos!!
Datos archivados del Taringa! original
0puntos
34visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
3visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

C
Cabezon123🇦🇷
Usuario
Puntos0
Posts5
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.