Upload
alexis-hurtado
View
213
Download
0
Embed Size (px)
Citation preview
Colegio De Educación Profesional Técnica Del Estado De Veracruz
Unidad de Aprendizaje 2:
Diseño de videojuegos Número:
Práctica 10:
Crear juego usando funciones del mouse
Propósito de la práctica:
Elabora una aplicación de videojuego que use funciones del mouse para comprobar si se ha hecho un doble clic, o cambiar la forma del puntero, o leer la posición de la rueda o limitar el movimiento a ciertas zonas de la pantalla.
Módulo: Programación De Videojuegos [POVI-02]
Grupo: 604 Informática
Alumno: Manuel Alexis Hurtado Morales
P.S.P: Ing. Miguel Ángel Ramos Grande
Fecha: 22 de mayo de 2014
Matricula: 111650246-7
Comentarios: Observaciones:
Dirección del blog:
http://programaciondevideojuegosalexis.blogspot.mx/
Práctica 10 Punteria#include <stdlib.h> /* Para "rand" */
#include <allegro.h>
//En el cuerpo del programa declaramos las variables que vamos a utilizar...
int main()
{
#define ANCHOPANTALLA 320
#define ALTOPANTALLA 200
#define MAXLADODIANA 50
int
posXraton = 160,
posYraton = 100,
posXdiana,
posYdiana,
ladoDiana,
puntos = 0,
dibujarDiana = 1;
//Inicializamos Allegro...
allegro_init();
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 botón, 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();
Este programa se trató de sumar puntos pulsando cada cuadro que aparecía en la pantalla con el mouse.
Aprendimos a inicializar el mouse, a desplegar varios cuadritos de distinto tamaño con el srand y reforzamos conocimientos como utilizar los ciclos.
Se me dificulto el uso del tiempo y asignación o acumulación de puntuación.