Вы находитесь на странице: 1из 7

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>

/* -------------- 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();

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.

Вам также может понравиться