You are on page 1of 6

CONALEP #165

LIC. JESUS REYES HEROLES


Docente:
Miguel ngel Ramos Grande
Alumno:
Brenda Cruz Mata
Jorge Alberto Hernndez Rojas
Francisco Javier Flores Romn
Modulo:
Programacin para videojuegos
Grupo:
604 Informtica
Matricula:
111650005-7
Practica 7 Creacin de figuras multicolor que se
muevan. Juego Miniserpiente 2.

Propsito de la prctica:
Crear juego con figuras multicolor que se muevan.

Escenario: Laboratorio de Informtica Duracin: 2 horas


MATERIALES:
Windows 2000 en adelante
Compilador de lenguaje seleccionado. (C, C++ o Java)
Computadora (Pentium IV en adelante)

INTRODICCION:
En esta prctica utilizaremos sprites para crear las figuras con huecos
alrededor o interior en donde pasara la serpiente para comerse las manzanas
DESARROLLO:
#include <allegro.h>
#define POS_X_INI 16
#define POS_Y_INI 10
#define INC_X_INI 1
#define INC_Y_INI 0

#define PAUSA 350
#define TEC_ARRIBA KEY_W
#define TEC_ABAJO KEY_S
#define TEC_IZQDA KEY_A
#define TEC_DCHA KEY_D

int posX, posY;
int incX, incY;
int terminado;
int tecla;
#define ESCALA 10
#define ANCHOSPRITE 10
#define ALTOSPRITE 10

#define MAXFILAS 20
#define MAXCOLS 33

Librera a utilizar
Posicin inicial de la
culebrita
Pausa en milisegundos entre un "fotograma" y otro
Teclas para el manejo de
la culebrita
Posicin actual
Ancho y alto de los sprites
Escala: relacin entre tamao de mapa y de pantalla
La tecla pulsada
Terminado: Si ha chocado o comida todas las frutas
Incremento de la posicin
Y el mapa que representa a la pantalla Como
usaremos modo grafico de 320x200 puntos y una
escala de 10, el tablero medir 32x20

int numFrutas = 8;
BITMAP *ladrilloFondo, *comida, *jugador;
typedef
char tipoSprite[ANCHOSPRITE][ALTOSPRITE];


cmo estar la pantalla del juego
Matriz
Nuestros sprites


int main()
{
allegro_init();
install_keyboard();
install_timer();

if (set_gfx_mode(GFX_SAFE, 320, 200, 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;
}
creaSprites();
dibujaFondo();

posX = POS_X_INI;
posY = POS_Y_INI;
incX = INC_X_INI;
incY = INC_Y_INI;
Rutina de
crear los
sprites
Rutina de
dibujar el
fondo
Inicializamos Allegro
Comienzo
Intentamos entrar a modo
grafico
Valores iniciales
do {
dibujaFondo();
draw_sprite (screen, jugador, posX*ESCALA, posY*ESCALA);
terminado = FALSE;
if (mapa[posY][posX] == 'F') {
mapa[posY][posX] = ' ';
numFrutas --;
if (numFrutas == 0) {
textout(screen, font,
"Ganaste!", 100, 90, palette_color[14]);
terminado = TRUE;
}
}

if (mapa[posY][posX] == 'X') {
textout(screen, font,
"Chocaste!", 100, 90, palette_color[13]);
terminado = TRUE;
}
if (terminado) break;

if ( keypressed() ) {
tecla = readkey() >> 8;
switch (tecla) {
case TEC_ARRIBA:
incX = 0; incY = -1; break;
case TEC_ABAJO:
incX = 0; incY = 1; break;
case TEC_IZQDA:
incX = -1; incY = 0; break;
case TEC_DCHA:
incX = 1; incY = 0; break;
}
}
posX += incX;
posY += incY;

rest ( PAUSA );
}
while (TRUE);

Ciclo de
repeticin
/* Si paso
por una
fruta: el
borro y
falta una
menos */
Si choca con
la pared, se
termina el
juego.
Movimiento de
teclas
Pausa
Repetimos indefinidamente (la condicin de salida la
comprobamos "dentro")

readkey();
return 0;
}
END_OF_MAIN();
EJECUCION DEL PROGRAMA

CONCLUSION:
En esta prctica no tuvimos ningn problema ya que solamente era de tipear el
cdigo, y le entendimos a algunas partes del programa para la realizacin del
juego

Termino con la "macro" que me pide Allegro

You might also like