ahorcado - el juego
hace un tiempo habian muchos usuarios que querian el juego de ahorcado.
bueno. como soy nuevo en el foro.
lo resolvi..con la intension de prueba..
aca les mando el codigo.
mi intension es aprender. y si pueden optimizar algunas funciones que a mi no me salieron..les agradeceria que me reenvien la funcion..gracias..
/*
correo : [email protected]
*/
#include
#include
#include
#include
#include
#define ARCHIVO "data.log"
#define TAMANO_MAXIMO 255
#define TOTAL_INICIAL 10
enum oOpcion{ eERROR=-1, eCARGARDATA, eMOSTRAR, eAGREGAR, eJUGAR, eSALIR, eMENU };
//variables
char iniMatriz[TOTAL_INICIAL][TAMANO_MAXIMO] = {
"pueblo", "torta", "zapato", "peruano", "tomate", "computadora",
"fluorescente", "refrigerador", "camino", "planeta" };
int TotalDinamico = 0;
char opt[TAMANO_MAXIMO];
char **dataPrincipal;
int opcion = eCARGARDATA;
//funciones
void LlenarMatriz();
void CrearArchivo( bool vacio, int total = TOTAL_INICIAL );
bool conError( char *palabra );
void MostrarPalabras();
void irA( int x, int y );
void Menu();
void Agregar();
void Jugar();
void DibujarAhorcado( int index, int xini, int yini );
void MarcarLetrasUsadas( char *letra );
int main()
{
opcion = eCARGARDATA;
do
{
switch ( opcion )
{
case eCARGARDATA :
LlenarMatriz();
opcion = eMENU;
break;
case eMENU :
Menu();
break;
case eMOSTRAR :
MostrarPalabras();
break;
case eAGREGAR :
Agregar();
break;
case eJUGAR:
Jugar();
break;
default :
opcion = eMENU;
break;
}
}
while( opcion != eSALIR );
return 0;
}
/*
llena el total de palabras disponibles.
inicialmente seran 10;
*/
void LlenarMatriz()
{
FILE *f;
char palabra[TAMANO_MAXIMO];
f = fopen( ARCHIVO, "r" );
if ( f == NULL )
CrearArchivo( true );
else
fclose( f );
//comprobando el archivo de datos
f = fopen( ARCHIVO, "r" );
for ( TotalDinamico=0; ; TotalDinamico++)
{
fscanf( f,"%s", &palabra );
if ( strcmp( palabra, ARCHIVO ) == 0 || conError( palabra ) )
break;
}
fclose( f );
if ( TotalDinamico < TOTAL_INICIAL ) //no debe haber menos de 10
{
CrearArchivo( true );
TotalDinamico = TOTAL_INICIAL;
}
//llenando matriz de palabras
dataPrincipal = new char *[TotalDinamico+1];
f = fopen( ARCHIVO, "r" );
for ( int i=0; i TotalDinamico );
opcion--;
system( "cls" );
printf( "========== AHORCADO ==========nn" );
printf( "La palabra escogida tiene %d letras.nn", strlen( dataPrincipal[opcion]) );
printf( "Letras ya usadas.." );
//65 is ascci init from abc
int myinicioMayuscula = 65, myinicioMinuscula = 97;
int mytotal = 25;
for ( int i=0; i
sorry sorry..
nunca me sale ponerlo en un buen formato..
bueno.
si gustan..aca les mando la direccion de mi site..
recien lo abri..asi q ..facil alli pondre todo lo que pueda responder de los distintos foros..
suerte..
http://josealtamirano.ucoz.com/publ/ahorcado_el_juego/1-1-0-1