Introducción
El siguiente informe sobre el estudio y el uso del lenguaje computacional mas exacto en el programa dev-cpp y la aplicación en la creación del juego el ahorcado.
Para el siguiente trabajo se usaron los siguientes comandos y sentencias
Las cuales iremos explicando las menos conocidas para su buena comprensión y entendimiento.
#include
#include
#include
#include
#include
#include
#include
#include
//stdio.h, que significa "standard input-output header" (cabecera estandar E/S), es la biblioteca estándar del lenguaje de programación C, el archivo de cabecera que contiene las definiciones de macros, las constantes, las declaraciones de funciones y la definición de tipos usados por varias operaciones estándar de entrada y salida.
stdlib.h (std-lib: standard library o biblioteca estándar)es el archivo de cabecera de la biblioteca estándar de propósito general del lenguaje de programación C.
string.h es un archivo de la Biblioteca estándar del lenguaje de programación C que contiene la definición de macros, constantes, funciones y tipos de utilidad para trabajar con cadenas de caracteres y algunas operaciones de manipulación de memoria
time.h es un archivo de cabecera de la biblioteca estándar del lenguaje de programación C que contiene funciones para manipular y formatear la fecha y hora del sistema.
ctype.h es un archivo de cabecera de la biblioteca estándar del lenguaje de programación C diseñado para operaciones básicas con caracteres. Contiene los prototipos de las funciones y macros para clasificar caracteres.
conio.h es un archivo de encabezado C usado en los antiguos compiladores MS-DOS para crear interfaces de usuario de texto. No se describe en el libro Lenguaje de programación C, y no es parte de la biblioteca estándar de C, ISO C ni es definido por POSIX.
#define TRUE 1
#define FALSE 0
//En C las constantes se declaran con la directiva #define, esto significa que esa constante tendrá el mismo valor a lo largo de todo el programa
void imprimir(int oport, char *wordserr,char *word);
int found_word(char letra);
int menu(void);
int exist_word(char letra);
char *adivina(void)
{
//La palabra reservada void define en C++ el concepto de no existencia o no atribución de un tipo en una variable o declaración. Como tal, puede ser usada para destacar que una función no recibe parámetros.
Enteros: short, int, long, long long
char (también es un entero), wchar_t
char *diccionario[]={"LEON","MANAGUA","CORINTO","PARIS","CANADA",
"PERRO","GATO","CONEJO","ZORRO","CABALLO","PEZ",
"MARTILLO","CLAVO","LAPIZ","MADERA","PEGA","CASA",
"SILLA","MESA","COMEDOR","TABLA","PESAS","BARCO",
"LANCHA","PESCA","ZAPATO","BICICLETA","AUTOBUS",
"TRICICLO","MEXICO","LICENCIA","BEISBOL","FUTBOL",
"BASKET","TENNIS","NATACION","MARATON","ASTEROIDE",
"COMPUTADORA","POLO","HARDWARE","SOFTWARE","IMPRIMIR",
"DISCO","FOTO","MARCO","GRANDEZA","TELEVISION","MOVIMIENTO",
"CAZADOR","BALLENATO","NOCHE","DIA"};
int num;
srand( (unsigned)time( NULL ) );
num=rand()%50;
return(diccionario[num]);
}
char *cadena, palabra[10], letraserror[10],leer[100];
main(){
int i, cont=0,game_over=FALSE, oportunidades, acierto=FALSE, existe;
int opc=0;
char letra;
system("cls");
opc=menu();
do{
system("cls");
switch(opc){
//El switch es solo para hacer una pausa hasta q el usuario ingrese una opción.
case 1:
//El juego se realizara con un amigo el cual tendrá que escribir la palabra a adivinar.
printf("nnt ESCRIBE LA PALABRA EN MAYUSCULAS : ");
cin>>leer;
cadena=leer;
strcpy(palabra,cadena);
//Función incluida dentro del archivo de cabecera de constantes string.h del lenguaje de programación C.
DescripciónCopia la cadena apuntada por origen en la cadena apuntada por destino.
oportunidades=6;
for(i=0;i/font>
for(i=cont;i>=0;i–) letraserror[i]='';
cont=0;
do{
do{
fflush(stdin);
system("cls");
existe=acierto=FALSE;
imprimir(oportunidades,letraserror,palabra);
printf("nnt Letra?: ");scanf("%c",&letra);
existe=exist_word(letra);
}while(existe);//fin do while
acierto=found_word(letra);
if(acierto){
if(strcmp(palabra,cadena)!=0){game_over=FALSE; continue;}
else game_over=TRUE;
}//fin if.
else {
letraserror[cont++]=letra;
–oportunidades;
}//fin else.
}while(oportunidades>0&&game_over==FALSE);//fin do while.
system("cls");
if(game_over&&oportunidades>4){
imprimir(oportunidades,letraserror,palabra);
printf("ntEXCELENTE TRABAJO!");}//fin if.
else if(game_over&&oportunidades>2){
imprimir(oportunidades,letraserror,palabra);
printf("ntMUY BUEN TRABAJO!");}//fin else if.
else if(game_over){
imprimir(oportunidades,letraserror,palabra);
printf("ntHas ganado!!");}//fin else if.
else { printf("ntAHORCADO, JEJEJE!nnt");
printf("La palabra era…nnt");
for(i=0;i/font>
}//fin else.
game_over=FALSE;
break;
case 2:
//El juego se realizara contra la computadora la cual pondrá la palabra a adivinar que ya se pre programaron.
cadena=adivina();
strcpy(palabra,cadena);
oportunidades=6;
for(i=0;i/font>
for(i=cont;i>=0;i–) letraserror[i]='';
cont=0;
do{
do{
fflush(stdin);
system("cls");
existe=acierto=FALSE;
imprimir(oportunidades,letraserror,palabra);
printf("nnt Letra?: ");scanf("%c",&letra);
existe=exist_word(letra);
}while(existe);//fin do while
acierto=found_word(letra);
if(acierto){
if(strcmp(palabra, cadena)!=0){game_over=FALSE; continue;}
else game_over=TRUE;
}//fin if
else {
letraserror[cont++]=letra;
–oportunidades;
}//fin else.
}while(oportunidades>0&&game_over==FALSE);//fin do while.
system("cls");
if(game_over&&oportunidades>4){
imprimir(oportunidades,letraserror,palabra);
printf("ntEXCELENTE TRABAJO!");}//fin if.
else if(game_over&&oportunidades>2){
imprimir(oportunidades,letraserror,palabra);
printf("ntMUY BUEN TRABAJO!");}//fin else if.
else if(game_over){
imprimir(oportunidades,letraserror,palabra);
printf("ntHas ganado!!");}//fin else if.
else { printf("ntAHORCADO, JEJEJE!nnt");
printf("FUCK");
printf("La palabra era…nnt");
for(i=0;i/font>
}//fin else.
game_over=FALSE;
break;//fin case 1.
case 3: exit(0);break;//fin case 3.
Exit;Salida del programa
}//fin switch.
fflush(stdin);
opc=menu();
}while(opc==1);
}
void imprimir(int oport, char *wordserr,char *word)
{ int i;
printf("nntJuego del Ahorcadonnnt");
//Numerosos lenguajes de programación implementan una función printf (print formatted), para mostrar una cadena con formato. Esta, originaria del lenguaje de programación C, tiene un prototipo similar al siguiente:
if(oport==5)
printf("nnnn BASE");
if(oport==4)
printf("nnnn COLUMNA");
if(oport==3)
printf("nnnn TORSO");
if(oport==2)
printf("nnnn HORCA");
if(oport==1)
printf("nnnn HOMBRE");
if(oport
}
printf("nnt");
for(i=0;i/font>
printf("nntOportunidades= %dn",oport);
}
int menu(void)
{ int opcion;
printf("nntJuego del Ahorcadonnnt/
nt ELT 230n/
nt1. Jugar con un amigon/
nt2. Jugar con la PCn/
nt3. Salirn/
nt Elegir la opci¢n: ");
scanf("%d",&opcion);
return(opcion);
}
int found_word(char letra)
{
int acierto=FALSE,i;
letra=toupper(letra);
for(i=0;i/font>
if(letra==cadena[i]){
palabra[i]=letra;
acierto=TRUE;}
}
return(acierto);
}
int exist_word(char letra)
{
int existe=FALSE,i;
for(i=0;i/font>
if(letra==letraserror[i]) {
printf("nYa la escribistes!.n");
existe=TRUE;
system("pause");
}
}
return(existe);
}
Autor:
Univ. David Chocanapi
Univ. Fernando Licoña
Univ. Ismael Santos