Quando eravamo nella classe prima nel mese di marzo 2020 a causa della pandemia è arrivato il primo lockdown, che per noi ha voluto dire ...
"fare lezione di fronte a un computer"
I nostri prof. comunque sono partiti subito con la didattica a distanza e in un modo o nell'altro abbiamo continuato a fare scuola. Certo, non è la stessa cosa stare in classe o stare di fronte a un PC, ma abbiamo avuto modo di fare anche dei laboratori di Coding con il prof. Pino.
In uno di questi laboratori abbiamo provato a creare il nostro primo videogioco con Scratch.
(per giocare clicca sulla bandierina. Per aiutare il gattino a trovare l'uscita utilizza i tasti WASD)
Scratch non è un vero e proprio linguaggio di programmazione, ma un ambiente, online e totalmente gratuito, dove si utilizza il linguaggio a blocchi.
Per poter programmare infatti, si devono incastrare l'uno sull'altro dei mattoncini, che hanno forma, colore e funzioni diverse.
Con Scratch si può programmare anche senza conoscere una riga di codice e tutti si possono cimentare per creare storie interattive, videogiochi, animazioni, ecc.
Il nostro obiettivo era creare un labirinto con all'interno dei mostri che avrebbero ostacolato il gattino nel trovare la via d'uscita. Non era semplice, ma alla fine abbiamo provato diverse soluzioni fino a quando non abbiamo trovato quello che faceva per noi.
Le istruzioni vengono eseguite sempre dall'alto verso il basso, in maniera sequenziale.
Per creare il labirinto abbiamo utilizzato una webapp gratuita, Maze Generator.
Con quest'App, molto semplice e intuitiva, si possono creare labirinti di vario tipo, dai più semplici ai più complessi.
Finestra di avvio dell'App Maze Generator
Labirinto generato con le opzioni di default.
Stage
Lo Stage (palco) di Scratch, cioè dove interagiscono gli Sprites (personaggi) è un piano cartesiano a tutti gli effetti, con le ascisse e le ordinate.
Sull'asse delle x i valori oscillano da -240 a +240
Sull'asse delle y i valori oscillano da -180 a +180.
Ci avevano detto che non c'era la matematica, e invece questa si trova dappertutto, anche in Scratch !!
Ha ragione la prof. Moretti allora ...
Per il nostro videogioco abbiamo utilizzato cinque Sprites:
un gattino, quello di default di colore arancione
quattro granchi, i "mostri cattivi"
Per muovere il gattino nelle varie direzioni, alto-basso-sinistra-destra, ci siamo serviti dei tasti che utilizzano i gamers sulla tastiera, ovvero WASD:
W = alto
A = sinistra
S = basso
D = destra
Come si vede nella figura, nei blocchi è inserita la funzione "If ... then", ovvero "Se... allora". Questa funzione è importantissima in quanto ci pone davanti a una condizione, ovvero: se si preme il tasto "w" allora si sposta il gattino di 2 unità sull'asse delle Y. Detto in soldoni, il gattino fa due passi in direzione Nord, in alto. I programmatori chiamano questa funzione "istruzione condizionale"
Dovendo muovere in continuazione il gattino e non solo una volta, abbiamo inserito la funzione "forever", ovvero "per sempre".
Per dare la sensazione che il gattino muovesse le gambe abbiamo inserito il blocco "passa al costume seguente". Di solito uno stesso sprites ha diversi costumi, cioè diverse posizioni.
Con le stesse impostazioni abbiamo programmato le altre direzioni.
Blocco dei "mostri"
La programmazione dei mostri è stata abbastanza semplice.
Abbiamo inserito il solito blocco iniziale, dopodiché abbiamo posizionato il granchio (coordinate x e y) in alto e abbiamo ridotto la sua dimensione, con percentuali diverse (55%, 40%, 33%, ecc.) visto che i granchi sono quattro.
Il granchio non ha un bell'aspetto: effettivamente fa un po' paura.
Finestra di avvio del videogioco: il gattino per uscire non deve toccare i bordi delle pareti del labirinto altrimenti il gioco si arresta e bisogna iniziare da capo. Facile no?!?
Il movimento del granchio ovviamente deve essere casuale, per rendere il gioco più affascinante e difficile: per questo abbiamo utilizzato i numeri a caso (da -180 a +180)
Il granchio quando tocca il bordo del labirinto deve rimbalzare e continuare i suoi movimenti casuali.
Buon divertimento