Juego Completo II

Siguiendo con las entregas sobre la utilización de la librería processing.js, vamos a utilizar los conocimientos adquiridos hasta el momento para implementar un juego completo que incorpora elementos multimedia y usa arrays para facilitar el incremento de dificultad. El objetivo de este juego será teclear los caracteres que van apareciendo en pantalla antes de que lleguen a la parte inferior.

La inicialización del array, será análoga al ejemplo de juego anteriormente publicado, y solo comentaremos los aspectos más relevantes del código. Sin embargo, como en todos los ejemplos tenéis disponible el acceso al código completo para ver cómo se ha implementado cada cosa.

int[][][] letras = {{"R", 100 , 120}};

El incremento de dificultad se realiza con la adición de nuevos elementos al array, de manera que cada acierto lanza dos nuevos elementos desde la parte superior. Evidentemente es sencillo ajustar este incremento para moderar la dificultad, e incluso se puede acotar el conjunto de caracteres generados.

void sumar_target(){    
  letras = append(letras, {100,0,0});    
  inicializa(letras.length - 1);    
}

Para la generación de los caracteres utilizamos la instrucción char que controla la generación mediante su código asociado y le asignamos una posición aleatoria en el borde superior de la pantalla para que inicie su descenso.

void inicializa(pos){
  letras[pos][0]=char(random(48,122));
  letras[pos][1]=random(0,tamx);
  letras[pos][2]=lim_sup;    
}

Es importante comentar que el foco debe estar dentro del canvas para que la función keypressed actúe de forma correcta. Para ello debemos hacer clic con el ratón dentro del espacio del canvas y a partir de ese momento el programa será capaz de capturar las impresiones de teclado realizadas.

void keyPressed(){
  var i = 0;
  while(i < letras.length){
    if (key == int(letras[i][0])) {
     //println(letras[i][0]);
      var sound = new Howl({urls: ['pop.wav']}).play();
      puntos+=1; 
      inicializa(i);
      sumar_target();
    }
    i+=1;
  }
}

En conclusión, mediante el uso de los elementos de interacción con el teclado, los arrays y un conjunto relativamente sencillo de instrucciones, hemos sido capaces de realizar un juego en javascript que va adaptando su dificultad de forma progresiva.