Colegio de Educacin Profesional Tcnica del Estado de Veracruz
"Lic. Jess Reyes Heroles"
Alumna: Sugey Guadalupe Loya Hererra
Grupo: 604 Carrera: Informtica
Modulo:
"Manejo de Redes"
Psp: Miguel ngel Ramos Grande
Prctica 13: Uso de formatos de archivos de imgenes usando lenguaje de programacin. Propsito de la prctica: Elabora una aplicacin de videojuego donde use formato de archivos para hacer manipulacin de imgenes mediante lectura de imgenes desde archivos.
Mi compaera y yo Victor, vamos a mostrar 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. El cdigo que se utilizo es el siguiente #include <allegro.h>
/* -------------- 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
// 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();
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.
Una ves detectado el error corregimos el error, era que no colocbamos bien la direccin de nuestra imagen Volvimos a ejecutar con F9
Y el programa ejecuto correctamente
Esta prctica fue un poco difcil comprenderla tuvimos algunas dudas.