Está en la página 1de 5

Colegio de Educacin tcnica del Estado de Veracruz

CONALEP N165
Lic. Jess Reyes Heroles
Maestro:
Miguel ngel Ramos Grande
Modulo:
Programacin de Videojuegos
Alumna:
Lucia Ramirez Xochihua
402/informtica
Practica 10:
Utilizar el ratn
Propsito de prctica:
Crear un juego donde se haga uso de funciones del mouse.

Observaciones:

Blog: luciaramirezxochihua.blogspot.mx
Fecha: _______________________________











Introduccin:
El da mircoles 09 de junio del 2014 comenc a realizar la practica
nmero 10 la cual consiste en Crear un Videojuego donde se lleve a cabo
el uso del ratn.
Desarrollo:
Lo primero que hice fue abrir el programa
Dev-C++ >archivo > nuevo >proyecto.
Despus de eso nos parece una ventana en
la cual tenemos que dar clic en
Multimedia>Allegro aplication (static)
>colocamos el nombre de nuestro proyecto>y
damos enter.
Cundo se da el enter inmediatamente nos
manda a la ventana en la cual
seleccionamos la opcin de Multimedia >
Allegro application [static].
Despus de que seleccionamos
estas opciones colocamos en
nombre del proyecto, en mi caso
yo le puse Practica10, luego de
haber echo eso damos enter y
automticamente nos manda a
nuestra pgina de cdigo donde se
comienza a programar.
Despus de eso, le las instrucciones que venan en la practica y las que se
mostraban son las siguientes:

Mostrar el ratn ("showMouse").
Ocultar el ratn (hideMouse).
Leer en qu posicin se encuentra (getMouseX y getMouseY),
Mover el ratn a cierto punto (setMouseX y setMouseY). o vVr si se ha
pulsado un cierto botn del ratn (getMouseButton).
Para poder utilizar estos comandos se realiz un juego en el que se
muestras, cuadros rellenos, en diferentes posiciones y tamaos en el cual el
usuario tiene que seleccionarlos mediante el uso del mouse.
Estructura y explicacin de cdigo:
#include <stdlib.h> /* Para "rand" */
#include <allegro.h>


/* ------------------------------------------------ */
/* */
/* -------------- Cuerpo del programa ------------- */

int main()
{

#define ANCHOPANTALLA 320
#define ALTOPANTALLA 200
#define MAXLADODIANA 50

int
posXraton = 160,
posYraton = 100,
posXdiana,
posYdiana,
ladoDiana,
puntos = 0,
dibujarDiana = 1;

allegro_init(); /* Inicializamos Allegro */
install_keyboard();
install_timer();
install_mouse();
/* 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;
}
/* ----------------------- Si todo ha ido bien: empezamos */
srand(time(0));
show_mouse(screen);


/* Parte repetitiva: */
do {
rest(50); /*Pausa de 50 ms */

if (dibujarDiana) {
/*Calculo nueva posicion de la diana */
posXdiana = rand() % (ANCHOPANTALLA - ladoDiana);
posYdiana = rand() % (ALTOPANTALLA - ladoDiana);
ladoDiana = (rand() % MAXLADODIANA) + 2;

/* Oculto raton y redibujo */
scare_mouse();
clear_bitmap(screen);
rectfill(screen,
posXdiana, posYdiana, posXdiana+ladoDiana,
posYdiana+ladoDiana,
palette_color[14]);
textprintf(screen, font, 4,4, palette_color[13],
"Puntos: %d", puntos);

/*Vuelvo a mostrar raton y marco como dibujado */
unscare_mouse();
dibujarDiana = 0;
}


// Si se pulsa el botn, compruebo si es dentro del recuadro.
// Si es as, aumento puntos. En cualquier caso, dibujo nueva
diana

if (mouse_b & 1) {

if ((mouse_x >= posXdiana) && (mouse_x <=
posXdiana+ladoDiana) &&
(mouse_y >= posYdiana) && (mouse_y <=
posYdiana+ladoDiana)) {
puntos ++;
}

dibujarDiana = 1;
}

} while ( !keypressed() ); /* Repetimos hasta pulsar tecla */

return 0;
}

/* Termino con la "macro" que me pide Allegro */
END_OF_MAIN();
Despus de haber terminado el cdigo ejecutamos:


Y lo primero que nos aparece
al ejecutarlos es la primera
Diana, la cual si damos clic,
nos aparece otra, pero en
diferente posicin y tamao.

Y en la siguiente imagen nos
muestra cmo se van
acumulando los aciertos.


Y es asi como finalice mi practica nmero 10.




Conclusin:
Creo que al realizar esta prctica aprend nuevos comandos, los cuales no
haba visto, aunque si tarde ms analizando este cdigo, gracias al
comando de show_mouse(screen); se pudo realizar esta prctica, al igual
con la ayuda de mis compaeros y maestros se pudo realizar.