Descargar

El ahorcado en lenguaje c++ simple

Enviado por Ismael Santos


  1. Introducción
  2. Marco teórico

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.

Marco teórico

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.

edu.red

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.

edu.red

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.

edu.red

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:

edu.red

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

edu.red