En aquesta lliçó anem a utilitzar el el joystick per a fer un videojoc. Aprofundirem en les interaccions entre objectes i a conéixer alguns blocs de “Aparença” nous.
Imatge | Descripció |
---|---|
Arduino Uno o compatible amb S4A i amb el firmware per S4A carregat. | |
Una protoboard | |
Cables de connexió | |
Un Joystick | |
Una resistència de 330 Ohms |
Utilitzarem el muntatge de la lliçó 19 per a fer un videojoc en el qual usarem el joystick per a apuntar i disparar els dimonis que apareguen en l’escenari. Comptarem quants dimonis anem caçant i els mostrarem en acabar la partida. I és que encara que us semble mentida, fa no gaire temps, hi havia molts videojocs que no eren molt més que això.
Començarem creant els objectes que necessitarem i incorporant les seues disfresses i sons.
El primer que farem és dibuixar una disfressa per a l’objecte principal que contindrà la programació per al moviment del joystick. Com serà la nostra mira, li farem una disfressa concorde.
També importarem un so perquè sone cada vegada que disparem. Jo he importat un anomenat “Laser1” dels quals venen per defecte.
Crearem un nou objecte Dimoni, i li farem dues disfresses. Un per al dimoni (jo l’he importat dels que venen per defecte en S4A) i dibuixarem o importarem una disfressa que simula una explosió per a quan els disparem.
Li posarem també un so que usarem cada vegada que aparega un.
Ara crearem dos fons per a l’escenari. Un serà l’escenari que usarem normalment. Jo he triat un desert.
L’altre fons serà el mateix però escriurem en ell “Dimonis Caçats”, per a utilitzar-lo per a posar el resultat amb el nombre de dimonis que hàgem caçat quan acabe el joc.
Començarem programant l’objecte “Mira”. Incorporem la part de la programació del moviment del joystick, a la qual llevarem la part final en la qual segellàvem la disfressa de l’objecte. A més utilitzarem el bloc de “Aparença” “enviar al capdavant” en les condicions inicials.
Aquest bloc el que fa és que aquest objecte sempre es veja per damunt dels altres si estan en la mateixa posició. Ho utilitzarem perquè la mira sempre es veja quan estiguem apuntant als dimonis als quals donarem caça.
Creem una funció nova en la qual farem que si la mira està tocant un dimoni i premem el joystick, envie un senyal als altres objectes. Utilitzarem un bloc de tipus “Sensors” “tocant …?”, en el qual seleccionarem l’objecte “Dimoni”.
També necessitem una funció per a comptar el temps que va passant i poder posar un límit de temps al joc. Ja coneixem l’estructura i els blocs d’altres sessions.
Per a acabar inclourem dos nous blocs de “Aparença”:
En aquest objecte el que volem programar és que vagen apareixent dimonis en una posició i grandària aleatoris a mesura que els anem disparant. Començarem fent que en començar a executar-se el programa aparega un dimoni en l’escenari.
Hem usat un nou bloc de “Aparença” “fixar grandària a …“, que serveix perquè la disfressa de l’objecte que es mostre en l’escenari siga un percentatge major o menor que la disfressa original. Li donem un valor aleatori entre el 30% i el 100%, perquè vaja variant.
També li donem una posició aleatòria en l’escenari (que no siga massa prop de les vores), li posem la disfressa “Dimoni” i li incorporem el so.
En una altra funció fem que si arriba el senyal de “disparo”, que significa que hem donat a un dimoni, canvie a la disfressa de “Explosió” durant mig segon i aparega un nou dimoni en una altra posició i amb una altra grandària.
En l’última funció fem que si arriba el senyal “Final” que s’ha acabat el temps, el dimoni es posicione en el centre de l’escenari i mostre el nombre de dimonis que hem caçat. Tractarem que no es munte amb el text que hem posat en el fons “Resultat” de l’escenari.
Per a acabar programarem l’escenari per primera vegada. Simplement farem que en executar el programa tinga el fons “Desert”, i en acabar-se el temps el fons “Resultat”.
Us recomane trastejar una mica amb aquest programa i tractar de fer-li alguns canvis, com per exemple, fer que es moguen els dimonis, que apareguen varis alhora o que si no els disparem en un temps concret siguen ells els que acaben amb nosaltres. Així anirem millorant la nostra capacitat de crear nous algorismes i plasmar-los en els nostres programes.