💾 Archived View for gamifi.cat › blog › 2016-08-23_clons captured on 2024-02-05 at 09:59:28. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-03-20)
-=-=-=-=-=-=-
En aquestes últimes entrades d’extensions:
Ara, recuperarem el projecte del marcianitu i el cometa que vam posar d’exemple a la prà ctica de les coordenades de l’escenari. El projecte no era realment cap joc però en podem reciclar el codi per crear-ne un: crearem un joc senzill d’un marcianitu que esquiva cometes. El marcianitu tindrà 3 vides i, cada cop que un cometa toqui el marcianitu, explotarà i li restarà una vida. S’acabarà el joc quan les vides siguin 0.
Tal com està programat el projecte del marcianitu i el cometa, només surt un sol cometa en tot el projecte. La modificació que farem és que, ara, en sortiran molts de cometes, però serà el mateix objecte: el que realment farem és clonar l’objecte “Cometa”. Això sà que serà una “amenaza de los clones”, hehe, “de los clones-cometa”.
En aquest nou projecte reciclat del marcianitu i el cometa, trobem que l’escenari ha canviat i molt: no en el seu disseny, que segueix sent negre; sinó en la seva programació. Ara, l’escenari, conté tres valuoses variables que haurem de crear.
Per molt rà pid que vagin, si només en surt un de tant en tant, és massa fà cil i no té cap grà cia. La cosa és fer-los sortir, cada cop més rà pid i cap cop en major nombre, és a dir:
blocs-marcianitu-escenari [IMG]
L’script de la bandera verda que controla la variable velocitat de l’objecte cometa i dels seus clons: veiem que atura el joc un cop les vides són més petites que 1, és a dir, quan les vides són 0.
L’script de la bandera verda que controla la variable freqüència, veiem que es repeteix fins que té un valor de 0.3. La programació de l’escenari determina què farà la variable programada però per veure l’efecte de la variable hem d’anar a la programació del cometa. La repetició, però, no la programem com la resta (fins que les vides siguin més petites que 1) perquè si el cometa espera és 0 o menys de 0, és a dir que no s’espera entre la creació d’un clon i d’un altre, se’ns omplirà la pantalla de clons i ja no podrem jugar més.
Per cert, a mi em va molt lent el joc, suposo que perquè hi ha molts clons… I com faig servir Iceweasel (Firefox de Debian) i no pas Chrome com es recomana, doncs deu ser per això que se’m clava el joc sovint fins al punt de tenir que aturar scripts del navegador…
El nostre marcianitu no ha canviat tant com l’escenari en qüestió de blocs de programació. Segueix movent-se en el seu eix x controlat pel ratolà (d’esquerra a dreta) i té fixe el seu eix y per situar-lo a la part inferior de l’escenari.
Ara, però, el nostre marcianitu té programada una interacció amb el cometa.
Com vèiem en altres prĂ ctiques, no es pot restar amb els blocs de les variables: s’ha de restar sumant en negatiu i em sembla divertidĂssim! :) Per cert, s’espera una mica per si comença a restar mĂ©s vides de les que toca: prova de treure el bloc d’espera aviam què passa, Ă©s probable que perdis a l’instant totes les vides i s’aturi el joc.
El nostre cometa també ha canviat molt des de l’últim projecte: abans només en queia un de sol per exemplificar les coordenades y de l’escenari. Ara, en sortiran una pila! I aniran sortint fins que el marcianitu no perdi totes les vides. Ho vèiem a la programació de l’escenari, on s’atura el joc. El nostre cometa es clona a si mateix quan es prem la bandera verda.
Tot seguit, l’script que manega què fan els clons:
Ara, m’ha picat per posar-li una variable més que es digui “Punts” i programar el marcianitu perquè ens digui la puntuació al finalitzar cada partida.
Primer haurem d’anar a l’escenari i crear una nova variable “Punts”.
Ara, cada vegada que comenci el joc, els punts es posaran a zero i augmentaran a cada segon. Ho hem convertit en un joc de supervivència, hehe. Quants segons aguantaràs abans de ser colpejat per tres clon-cometes?
Snap-Practica-Extensions4-Digues-punts2-marcianitu-tall
Doncs la puntuació ens la donarà el marcianitu un cop hagi perdut les seves tres vides. Descobrim un nou bloc d’operadors que pot anar dins un bloc d’aparença “digues” per fer que el marcianitu ens digui la nostra puntuació final. Un cop ens ha dit la puntuació, s’atura el joc. Fi de la partida.
Atenció: si implementem que el marcianitu ens digui la puntuació, hem de procurar treure el bloc d’atura tot que tenim a l’escenari. Si el deixem, aturà el joc just quan les vides siguin menys que 1 i no veurem el que ens diu el marcianitu!
Per cert, m’agrada molt aquesta combinació de blocs aparença, operadors i variable: és molt diversa i colorida ;) Aquà el resultat a la pantalla:
Si cada punt Ă©s un segon… quants minuts i segons he durat sota la pluja de cometes? Mates creatives :) De fet, li podrĂem programar al marcianitu que ens ho diguĂ©s en minuts i segons. I podrĂem canviar en nom de la variable per “Temps”. El marcianitu, però, ens hauria de dir alguna cosa com: “Has aguantat X segons!” o en cas de depassar un minut: “Has aguantat X minuts i X segons!”.
<a href="https://snap.berkeley.edu/snap/snap.html#present:Username=gamificat&ProjectName=Practica-10-digues-punts">Juga al marcianitu!</a>
I per la propera, afegirem un menĂş al joc del marcianitu i l'atac dels clon-cometes!