En el primer trabajo práctico de la materia, ya sabíamos dibujar en Processing distintas figuras geométricas y posicionarlas
en el lugar que desearamos, ya que podíamos disponer de la posición en X y en Y del canva. La cátedra nos solicitó diseñar y dibujar
un círculo cromático, sin más requisitos. Este fue mi resultado.
Con la utilización de variables, la incorporación de imágenes, librerías de audio y animación, la cátedra nos solicitó
la creación de un sketch típico de créditos, como los de películas o juegos... en mi caso emulé los créditos del famoso
juego de PlayStation Grand Theft Auto V.
En este tercer trabajo, nos acercamos a la creación de una aventura gráfica mediante la utilización de variables, condicionales y funciones. Elegimos una historia, y con ella creamos distintos caminos que el espectador debe elegir para continuar. En mi caso elegí la historia de los Hermanos Hänsel & Gretel, autoría de los hermanos Grimm.
En el cuarto trabajo se le dio más importancia a la reutilización de funciones, o sea, encapsular código que sería de utilidad en distintos lugares de nuestro programa. Reescribimos la aventura gráfica del trabajo práctico anterior, lo modularizamos, utilizamos funciones, incorporamos arreglos y las funciones map() y round() para reescalar nuestro programa a cualquier resolución deseada y que cada componente siga siendo responsivo.
Para este trabajo nos amigamos con la Programación Orientada a Objetos. Se nos solicitó crear un juego que funcione de reemplazo para una de las pantallas de nuestra aventura gráfica. Recreé el momento de crisis en el que los hermanos terminan tirando a la bruja malvada dentro del horno, y para cerrar la puerta del mismo, debían embocar la llave dentro de la cerradura, disponiendo solamente de 3 intentos.
Para este trabajo final tuvimos que pasar nuestro tp4 a Objetos e incorporar el juego que creamos en el trabajo anterior a este.
A continuación dejo los métodos que considero más importante para la lógica de mi programa final.
Aventura
void dibujate(){
background(255);
if(this.juego.activo){
aventura.juego.jugar();
}else{
if(this.mostrarCreditos){
this.creditos.dibujate();
}else{
this.pantallaActual.dibujate();
}
}
}
Botón
int mouseClicked(){
if(this.presionado()){
switch(this.num){
case 1:
aventura.mostrarCreditos = true;
break;
case 17:
aventura.juego.activo = true;
case 26:
aventura.mostrarCreditos = false;
aventura.creditos.texto.reposicionarse();
break;
}
return this.pantallaAIr;
}else{
return -1;
}
}
}
Juego
void jugar(){
if(!fin){
this.dibujate();
this.cerradura.mover();
if(!this.jugador.disparo){
this.jugador.mover();
}else{
this.jugador.lanzarLlave();
if(this.victoria()){
this.fin = true;
}else if(this.jugador.llave.posY + this.jugador.llave.alto/2 <= 0){
this.contador.decrementar();
this.jugador.reubicar();
}
if(this.contador.intentosRestantes == 0){
this.fin = true;
}
}
}else{
this.finalizar();
}
}