Heroles Modulo: Programacin De Videojuegos Docente: Miguel ngel Ramos Grande Alumno: Manuel Alexis Hurtado Morales. Karen Lizbeth Nolasco Garca Carrera: Informtica Grupo: 604 info Matrcula: 111650246-7 Prctica 12: Reproducir sonidos. Juego Simn Dice Propsito de la prctica: Crear un programa para el juego Simn Dice, juego clsico de memoria auditiva donde se hacen reproducciones de Sonido. Direccin del blog: http://programaciondevideojuegosalexis.blogspot.mx/ Pr ctic 12 Sim n dice 1.- Para la elaboracin de esta prctica lo primero que realice es: Abrir Dev-Cpp Damos clic en ARCHIVO Seleccionamos el men NUEVO Enseguida damos clic en PROYECTO
2. - Se abrira la siguiente ventana y seleccionamos el men siguiente:
//Rutina de inicializacion, aqu iniciamos en allegro, intentamos entrar a modo grfico e intentamos usar el midi
int inicializa() { allegro_init(); install_keyboard(); install_timer();
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; }
if (install_sound(DIGI_AUTODETECT, MIDI_AUTODETECT, "") != 0) { allegro_message("Error inicializando el sistema de sonido\n%s\n", allegro_error); return 2; }
sonido1 = load_midi(FICHEROSONIDO1); Comentario [A3]: Definimos las teclas a utilizar Comentario [A4]: Definimos los ficheros de sonido a utilizar Comentario [A5]: Instalamos el teclado if (!sonido1) { allegro_message("Error leyendo el fichero MID '%s'\n", FICHEROSONIDO1); return 3; }
sonido2 = load_midi(FICHEROSONIDO2); if (!sonido2) { allegro_message("Error leyendo el fichero MID '%s'\n", FICHEROSONIDO2); return 3; }
sonido3 = load_midi(FICHEROSONIDO3); if (!sonido3) { allegro_message("Error leyendo el fichero MID '%s'\n", FICHEROSONIDO3); return 3; }
sonido4 = load_midi(FICHEROSONIDO4); if (!sonido4) { allegro_message("Error leyendo el fichero MID '%s'\n", FICHEROSONIDO4); return 3; }
// Preparo nmeros aleatorios srand(time(0));
// Volumen al mximo, por si acaso set_volume(255,255);
// Y termino indicando que no ha habido errores return 0; }
//Rutina de dibujar pantalla, aqu se dibuja el ambiente grfico, nuestra pantalla contar con cuatro rectngulos de colores..
void dibujaPantalla() {
// Borro pantalla clear_bitmap(screen);
// Primer sector: SupIzq -> verde rectfill(screen, 10,10, ANCHOPANTALLA/2-10,ALTOPANTALLA/2-30, makecol(0, 150, 0)); textprintf(screen, font, ANCHOPANTALLA/4, ALTOPANTALLA/2-28, Comentario [A6]: Mensajes a mostrar en caso de error de algn sonido makecol(0, 150, 0), "%c", TECLA1);
if ( (tecla == TECLA2) && (notas[notaActual] == 1) ){ play_midi(sonido2, FALSE); rectfill(screen, ANCHOPANTALLA/2+10,10, ANCHOPANTALLA-10,ALTOPANTALLA/2-30, Comentario [A11]: Uso de los if para activar el sonido segn el cuadro que presiones makecol(150, 0, 0)); seHaAcertado = 1; }
// Intento inicializar if (inicializa() != 0) exit(1);
dibujaPantalla(); textprintf(screen, font, ANCHOPANTALLA/4, ALTOPANTALLA/2 - 40, makecol(255, 255, 255), " S I M E O N D I C E "); textprintf(screen, font, ANCHOPANTALLA/4, ALTOPANTALLA/2, makecol(255, 255, 255), "Pulsa una tecla para jugar"); readkey();
do { // Parte que se repite hasta que falle
dibujaPantalla(); // Dibujo la pantalla de juego
// Genero nueva nota y reproduzco todas Comentario [A12]: Comprobamos con los if si el cuadro presionado fue igual al sonido mostrado notas[notaActual] = rand() % 4; reproduceNotas();
acertado = 1; // Presupongo que acertar
// Ahora el jugador intenta repetir i = 0; do { tecla = tolower(readkey()); // Leo la tecla if (tecla == 27) break; // Salgo si es ESC acertado = comparaNota(tecla, i); // Comparo i ++; // Y paso a la siguiente } while ((i<=notaActual) && (acertado == 1));
// Una nota ms if (acertado == 1) { textprintf(screen, font, ANCHOPANTALLA/4, ALTOPANTALLA/2, makecol(255, 255, 255), "Correcto!"); notaActual ++; } else { textprintf(screen, font, ANCHOPANTALLA/4, ALTOPANTALLA/2, makecol(255, 255, 255), "Fallaste!"); }
rest (RETARDOETAPA);
} while ((acertado == 1) && (notaActual < MAXNOTAS));
Esta prctica es diferente a las que hemos hecho utilizamos sonidos .mid y los mandamos a llamar en nuestro cdigo del programa, tambin utilizamos varios mensajes a desplegar en caso de error en algn sonido. Utilizamos varios ciclos if, do- while, y reforzamos conocimientos, ya que estos ciclos los hemos utilizado en todas las programaciones que hemos utilizado en los ltimos 5 semestres de la carrera.
Excel para principiantes: Aprenda a utilizar Excel 2016, incluyendo una introducción a fórmulas, funciones, gráficos, cuadros, macros, modelado, informes, estadísticas, Excel Power Query y más
ChatGPT Ganar Dinero Desde Casa Nunca fue tan Fácil Las 7 mejores fuentes de ingresos pasivos con Inteligencia Artificial (IA): libros, redes sociales, marketing digital, programación...
Ciberseguridad: Una Simple Guía para Principiantes sobre Ciberseguridad, Redes Informáticas y Cómo Protegerse del Hacking en Forma de Phishing, Malware, Ransomware e Ingeniería Social