Vous êtes sur la page 1sur 6

COLEGIO DE EDUCACION PROFESIONAL TECNICA DEL

ESTADO DEVERACRUZ
LIC. JESUS REYES HEROLES



ALUMNO: ngel Martnez Hernndez

COMPAERA DE EQUIPO: Emma Graciela Santos Blanco

GRUPO: 604

MATRICULA: 111650026-3

CARERRA: P.T.B. en Informtica

MODULO: Manejo de Redes

DOCENTE: Miguel ngel Ramos Grande


PROPSITO: Elabora una aplicacin de videojuego genera un numero al azar con
mtodo aleatorio, para que con ese nmero se seleccione una palabra de entre las
predefinidas y sea adivinada por el usuario

CONTENIDO: Contiene una aplicacin que hace generar un numero al azar y con
ese nmero que se haya seleccionado una palabra el usuario pueda adivinarlo por
medio del ahorcado.

PRACTICA 5: Elaborar el juego del ahorcado con mtodo al aleatorio.








INTRODUCCIN

En esta prctica hablaremos sobre cmo realizar una palaba o numero al azar por
medio del mtodo aleatorio, como nombre de la prctica el ahorcado as mismo
el usuario va a teclear la palabra que crea que lleva en el juego.

DESARROLLO:

El cdigo lo sacamos de la gua pedaggica nos manda un link en donde
copiamos el cdigo y lo modificamos porque tena unos pequeos errores, aparte
nosotros le cambiamos las frases del printf que mostraba los colores e hicimos la
pantalla de ejecucin un poco ms grande, aadimos lneas donde nos muestra
pista de que palabras tenemos que adivinar.
As quedo nuestro cdigo:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
#include <ctype.h>
#include <allegro.h>
#define NUMPALABRAS 10
#define MAXINTENTOS 5

char palabra[80], intento[80], letras[80];

int oportunidades;
char letra;
int i;
int acertado;
char ficticia[2];

char mensaje[80];

char datosPalabras [NUMPALABRAS][80]=
{
"Switch","Router","Computadora","Mouse",
"Teclado","Monitor","Laptop","Programas",
"Internet","Redes"
};


void PrimerFallo()
{
line(screen,20,180,120,180, palette_color[3]);
}


void SegundoFallo()
{
line(screen,100,180,100,125, palette_color[3]);
}


void TercerFallo()
{
line(screen,100,125,70,125, palette_color[3]);
}

void CuartoFallo()
{ /* Dibujamos la "cuerda" */
line(screen,70,125,70,130, palette_color[3]);
}


void QuintoFallo() /* Quinto fallo: */
{
int j; /* Dibujamos la "persona" */

/* Cabeza */
circle(screen,70,138,8, palette_color[14]);
/* Tronco */
line(screen,70,146,70,160, palette_color[14]);
/* Brazos */
line(screen,50,150,90,150, palette_color[14]);
/* Piernas */
line(screen,70,160,60,175, palette_color[14]);
line(screen,70,160,80,175, palette_color[14]);
}



int main()
{

allegro_init(); /* Inicializamos Allegro */
install_keyboard();


/* Intentamos entrar a modo grafico */
if (set_gfx_mode(GFX_SAFE,650,400,0,0)!=0){
set_gfx_mode(GFX_TEXT,0,0,0,0);
allegro_message(
"Incapaz de entrar a modo grafico\n%s\n",
allegro_error);
return 1;
}

/* Si todo ha ido bien: empezamos */
srand(time(0)); /* Valores iniciales */
strcpy(palabra, datosPalabras[ rand()%(NUMPALABRAS+1)]);
oportunidades = MAXINTENTOS;

strcpy(letras,"");

/* Relleno con _ y " " lo que ve Jug. 2 */
for (i=1; i<=strlen(palabra); i++)
if (palabra[i-1]==' ' )
intento[i-1]=' ';
else
intento[i-1]='_';
intento[i]='\0'; /* Y aseguro que termine correctamente */


/* Parte repetitiva: */
do {
clear_bitmap(screen);


/* Dibujo lo que corresponde del "patibulo" */
if (oportunidades <=4) PrimerFallo();
if (oportunidades <=3) SegundoFallo();
if (oportunidades <=2) TercerFallo();
if (oportunidades <=1) CuartoFallo();

/* Digo cuantos intentos le quedan */
textprintf(screen, font, 80,18, palette_color[10],
"Te quedan %d intentos", oportunidades);


/* Le muestro como va */
textprintf(screen, font, 80,32, palette_color[1],
intento, oportunidades);

/* Las letras intentadas */
textprintf(screen, font, 20,72, palette_color[13],
"Letras intentadas: %s", letras);

/* Y le pido otra letra */
textprintf(screen, font, 20,60, palette_color[13],
"Escribe la letra:");

letra = readkey()&0xff;

/* Anado esa letra a las tecleadas*/
strcpy (ficticia,"a"); /* Usando una cadena de texto aux */
ficticia[0]= letra;
strcat (letras, ficticia);

acertado = 0; /* Miro a ver si ha acertado */
for (i=1; i<=strlen(palabra); i++)
if(tolower(letra)== tolower(palabra[i-1]))
{
intento[i-1]= palabra[i-1];
acertado = 1;
}


if (! acertado ) /* Si fallo, le queda un intento menos */
oportunidades --;

}
while ( strcmp (intento,palabra) /* Hasta que acierte */
&& (oportunidades>0)); /* o gaste sus oportunidades */




if ( strcmp (intento,palabra)==0)
textprintf(screen, font, 20,100, palette_color[15],
"Felicidades, Has acertado!");
else
{
textprintf(screen, font, 20,100, palette_color[15],
"BUEN INTENTO LA PALABRA ERA: %s", palabra);
QuintoFallo();
}


readkey();
return 0;

}

/* Termino con la "macro" que me pide Allegro */
END_OF_MAIN();

Ejecutamos con F9 y nos mandara la ventana de ejecucin porque es una
tecla rpida, ya que si lo hacemos por medio del men es algo ms de
tiempo y queramos evitar l tiempo porque estaba en nuestra contra.

Aqu se muestra como el usuario pierde y el monito se ahorca



Aqu mostramos como el usuario gana y nos felicita





CONCLUSIN:
Esta prctica contena uno que otro error y fue un poco ms complicada de
resolver porque marcaba error en las libreras pero con ayuda de mi compaera
terminamos y aadimos una que otra cosa. Copiamos el cdigo d la gua
pedaggica y tenamos que interpretarlo para poder saber cul era el error y
aprendimos a usar nmeros aleatorios y a dibujar en Dev C+++.

Vous aimerez peut-être aussi