Sunteți pe pagina 1din 9

COLEGIO DE EDUCACION PROFESIONAL TECNICA DEL ESTADO DE

VERACRUZ
LIC. JESUS REYES HEROLES


ALUMNO: Emma Graciela Santos Blanco
COMPAERO DE EQUIPO: ngel Martnez Hernndez
GRUPO: 604
MATRICULA: 111650076-8
CARERRA: P.T.B. en Informtica

MODULO: Programacin De Videojuegos

DOCENTE: Miguel ngel Ramos Grande
CONTENIDO: La prctica contiene archivos de imgenes con un lenguaje
de programacin en Dev c++.

PRACTICA 13: Uso de formatos de archivos de imgenes usando lenguaje
de programacin.

PROPOSITO DE LA PRCTICA: Elabora una aplicacin de videojuego
donde use formato de archivos para hacer manipulacin de imgenes
mediante lectura de imgenes desde archivos.


INTRODUCCION
Mostraremos como elaboramos la prctica nmero 13, que trato de el uso de formatos
de archivos de imgenes usando lenguajes de programacin.

Realizamos un videojuego en programacin de Dev c++ usando formatos de imgenes
con extensin bmp.
DESARROLLO
Lo primero que hicimos fue crear un archivo en Dev-cpp
Abrimos Dev-Cpp>Clic en Archivo>Seleccionamos el men Nuevo>Proyecto, como
aparece en la imagen siguiente.







2. - Se abrir la siguiente ventana y seleccionamos el men Multimedia>Allegro
Application (Static), y escribimos el nombre de nuestro proyecto que es
Miniserpiente3.Como se muestra en la imagen de abajo.







Despus tendremos que indicar donde se guardaran los archivos del programa,
podemos crear una carpeta para cada juego.








Copiamos el cdigo del link, que nos da la gua pedaggica, lo que hicimos fue cambiar
la direccin de donde se encuentra nuestra imagen colocndola en la sentencia imagen
= load_bitmap
El cdigo que se utilizo es el siguiente
#include <allegro.h>

/* -------------- Constantes globales ------------- */
#define ANCHOPANTALLA 320
#define ALTOPANTALLA 200
#define RETARDO 250

#define MARGENSUP 40
#define MARGENDCHO 30
#define MARGENIZQDO 30
#define MARGENINF 50
#define INCREMX 5
#define INCREMY 15


/* -------------- Variables globales -------------- */
PALETTE pal;
BITMAP *imagen;
BITMAP *nave;
BITMAP *marciano1;
BITMAP *marciano2;


/* -------------- Rutina de inicializaci?n -------- */
int inicializa()
{
allegro_init(); // Inicializamos Allegro
install_keyboard();
install_timer();

// Intentamos entrar a modo grafico
if (set_gfx_mode(GFX_SAFE, ANCHOPANTALLA, ALTOPANTALLA, 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;
}

// abrimos imagenes
imagen = load_bitmap("C:\\Users\\Emma\\Desktop\\imagen.bmp", pal);
marciano1 = load_bitmap("C:\\Users\\Emma\\Desktop\\marciano1.bmp", pal);
nave = load_bitmap("C:\\Users\\Emma\\Desktop\\nave.bmp", pal);
marciano2 = load_bitmap("C:\\Users\\Emma\\Desktop\\marciano2.bmp", pal);
if (!imagen) {
set_gfx_mode(GFX_TEXT, 0, 0, 0, 0);
allegro_message("No se ha podido abrir la imagen\n");
return 1;
}
set_palette(pal);

// Ahora reservo espacio para los otros sprites
nave = create_bitmap(16, 16);
marciano1 = create_bitmap(16, 16);
marciano2 = create_bitmap(16, 16);

// Y los extraigo de la imagen "grande"
blit(imagen, nave // bitmaps de origen y destino
, 32, 32 // coordenadas de origen
, 0, 0 // posici?n de destino
, 16, 16); // anchura y altura

blit(imagen, marciano1, 0, 32, 0, 0, 16, 16);
blit(imagen, marciano2, 16, 32, 0, 0, 16, 16);


// Y termino indicando que no ha habido errores
return 0;
}
/* ------------------------------------------------ */
/* */
/* -------------- Cuerpo del programa ------------- */

int main()
{
int fotograma = 1;

int xMarciano = MARGENIZQDO;
int yMarciano = MARGENSUP;
int desplMarciano = INCREMX;

int salir = 0;

// Intento inicializar
if (inicializa() != 0)
exit(1);



do { // Parte que se repite hasta pulsar tecla

clear_bitmap(screen);

// Dibujo un marciano u otro, alternando
if (fotograma==1)
{
draw_sprite(screen, marciano1, xMarciano, yMarciano);
fotograma = 2;
} else {
draw_sprite(screen, marciano2, xMarciano, yMarciano);
fotograma = 1;
}
// Y espero un poco
rest(RETARDO);

// Finalmente, calculo nueva posici?n
xMarciano += desplMarciano;
// Compruebo si debe bajar
if ((xMarciano > ANCHOPANTALLA-16-MARGENDCHO)
|| (xMarciano < MARGENIZQDO))
{
desplMarciano = -desplMarciano; // Direcci?n contraria
yMarciano += INCREMY; // Y bajo una l?nea
}
// O si debe volver arriba
if (yMarciano > ALTOPANTALLA-16-MARGENINF) {
xMarciano = MARGENIZQDO;
yMarciano = MARGENSUP;
desplMarciano = INCREMX;
}
if (keypressed())
if (readkey() >> 8 == KEY_ESC)
salir = 1;

} while (!salir);

destroy_bitmap(imagen);
readkey();
return 0;

}

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


Para ejecutar el programa nos vamos a la pestaa Ejecutar>Compilar y Ejecutar o
tambin con la tecla (F9), como
se muestra en la imagen de
abajo.







Al principio nos mandaba el error de que la imagen no pudo ser cargada ya que en el
programa utilizamos una condicin de que nos mandara una ventana con un mensaje
en dado caso de que ocurriera un error.



Despus con ayuda del profesor corregimos el error, era que no colocbamos bien la
direccin de nuestra imagen
Volvimos a ejecutar con F9

Y el programa ejecuto correctamente




CONCLUSION
Esta prctica se nos dificulto un poco para comprenderla tuvimos algunas dudas, pero
el profesor nos orient para resolvers, no sabamos cmo cargar la imagen ya que nos
mandaba un error, de que la imagen no poda ser cargada, pero la terminamos con
ayuda del profesor, la realizamos en equipo yo trabaje con mi compaero ngel
Martnez.

S-ar putea să vă placă și