práctica 10 punteria

5
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:

Upload: alexis-hurtado

Post on 15-Apr-2017

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Práctica 10 Punteria

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/

Page 2: Práctica 10 Punteria

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);

Page 3: Práctica 10 Punteria

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

Page 4: Práctica 10 Punteria

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

Page 5: Práctica 10 Punteria

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.