In questo articolo viene illustrata la creazione di un gioco fase per fase, dall’idea iniziale alle successive fasi realizzative.
Compatibilità sia con la versione 2.0 che con la nuova versione 3.0
Il gatto Scratch è un supergatto: è in grado di volare e ama il baseball. Noto tra i suoi amici come BATCAT, Scratch ha un solo punto debole: la paura dei pipistrelli che da tempo hanno invaso il suo paese. Al solo contatto con i pipistrelli Scratch perde ogni potere e cade in un sonno profondo. Solo chi pronuncia la lettera iniziale del suo nome di battaglia (lettera B) può risvegliarlo.
Aiutare BATCAT a liberarsi dal maggior numero possibile di pipistrelli che compaiono alla sua destra e alla sua sinistra; non si tratta di un’impresa facile: dopo ogni notte i pipistrelli diventano sempre più veloci.
In questa fase iniziale il personaggio viene programmato per essere mosso con le frecce della tastiera: premendo la freccia destra Scratch si volta verso destra e avanza, premendo la freccia sinistra si volta verso sinistra e avanza, premendo la freccia su si dirige in alto, premendo la freccia giù si dirige in basso.
Siccome le frecce per muovere lo sprite sono quattro, con il tasto destro del mouse bisogna duplicare il blocco per quattro volte.
Cliccare sulla bandierina per verificare che il programma venga eseguito correttamente.
Fase successiva: fare in modo che Scratch lanci palle da baseball alla pressione di un tasto (barra spaziatrice).
In questa fase si programma il gioco in modo che Scratch lanci delle palle da baseball (nuovo sprite) ad ogni pressione della barra spaziatrice; le palle da baseball dovranno quando arrivano sul bordo dello stage.
Si sceglie il nuovo sprite dalla libreria:
Cliccare sulla bandierina per verificare che il programma venga eseguito correttamente.
Fase successiva: programmare i pipistrelli.
In questa fase i pipistrelli devono comparire continuamente dal bordo destro dello stage; i pipistrelli devono scomparire quando vengono colpiti dalle palle lanciate da Scratch (da qui in poi denominato BATCAT).
Cliccare sulla bandiera verde per osservare l’esecuzione del programma.
Osservare che il pipistrello scompare quando viene colpito dalla palla ma la palla invece no: la palla colpisce il pipistrello ma scompare solo quando tocca il bordo dello stage.
Cliccare sulla bandiera verde per verificare che i comandi vengano eseguiti correttamente.
Fase successiva: far sì che i pipistrelli non vengano eliminati subito al primo colpo ma almeno al terzo, in modo da rendere il gioco più avvincente.
In questa fase i pipistrelli vengono programmati in modo da sparire dallo stage solo dopo essere stati colpiti tre volte. Per raggiungere questo scopo occorre inserire un elemento che conti quante volte il pipistrello è stato colpito: occorre introdurre una VARIABILE.
Cliccare sulla bandiera verde e osservare: ogni pipistrello scompare solo dopo essere stato colpito tre volte; per rendere il gioco graficamente più interessante è possibile far cambiare colore al pipistrello dopo ogni colpo.
Cliccare ora sulla bandiera verde per verificare che i comandi vengano eseguiti correttamente.
Fase successiva: inserire un contatore che tenga conto dei punti ottenuti ogni qual volta viene colpito un pipistrello.
In questa fase si rende visibile il punteggio nella parte superiore dello schermo; come nella fase precedente occorre introdurre una VARIABILE che conti il numero dei pipistrelli eliminati da BATCAT.
Cliccare sulla bandiera verde per verificare che il programma venga eseguito correttamente.
Fase successiva: programmare l’ingresso dei pipistrelli anche da sinistra.
In questa fase si programma sia l’ingresso di altri pipistrelli dalla parte sinistra dello stage sia la loro scomparsa a seguito del tocco della palla da baseball sia il comportamento di BATCAT durante il contatto; si crea un nuovo sprite e si danno nuove istruzioni alla palla da baseball.
Cliccando sulla bandierina verde ora i pipistrelli entrano sia da destra che da sinistra ma si comportano nello stesso e identico modo; per rendere il gioco meno monotono si possono cambiare alcune caratteristiche dello sprite Bat3.
Tenendo presente che ora la palla da baseball deve scomparire anche quando colpisce lo sprite Bat3, bisogna assegnare nuove istruzioni alla palla da baseball:
Verificato il corretto funzionamento del programma si nota che al supergatto BATCAT non succede nulla quando viene toccato dai pipistrelli: il gioco va avanti all’infinito. Per far sì che il gioco finisca quando BATCAT viene toccato da un pipistrello occorre assegnare a BATCAT nuove istruzioni.
Cliccare sulla bandiera verde per verificare che il programma venga eseguito correttamente.
Fase successiva: aggiungere una schermata “GAME OVER” al termine del gioco.
In questa fase si vuole creare una schermata Game Over e si vogliono realizzare vari sfondi che compaiono durante il gioco; per raggiungere entrambi gli obiettivi è possibile trattare la schermata Game Over come uno sprite e inserire diverse immagini di sfondo nello stage.
Ecco come creare un nuovo sprite costituito dal testo “Game Over” che compare man mano sullo sfondo nel momento in cui BATCAT viene toccato da un pipistrello:
A questo punto occorre programmare il comportamento di questo nuovo sprite che deve comparire solo dopo che BATCAT viene toccato da un pipistrello.
Occorre programmare questo sprite in modo che compaia solo dopo che BATCAT viene toccato da un pipistrello; questi sprite devono quindi essere messi in comunicazione tra di loro in modo che uno si comporti in un certo modo solo dopo aver ricevuto un messaggio dall’altro. Si ricorre al blocco “invia a tutti messaggio 1” nella paletta ocra delle Situazioni:
Occorre ora ricordarsi di andare nello script di BATCAT e fargli lanciare il messaggio “game_over”.
Cliccare sulla bandiera verde per verificare che i comandi vengano eseguiti correttamente.
Per selezionare e inserire nuovi sfondi:
Occorre ora assegnare istruzioni ai diversi sfondi dello Stage.
Cliccare sulla bandiera verde per verificare che il programma venga eseguito correttamente.
Fase successiva: aggiungere una musica di sottofondo ed effetti sonori.
In questa fase si decide di inserire un sottofondo musicale tutto lo svolgimento del gioco ed un effetto sonoro che si sovrapponga alla musica di sottofondo durante la creazione della schermata di game over.
Per inserire una musica di sottofondo:
Cliccare sulla bandiera verde per verificare la corretta esecuzione del programma.
Inserire il suono di una porta cigolante durante la schermata Game Over:
Cliccare sulla bandierina per verificare la corretta esecuzione del programma.
Fase successiva: passare da uno sfondo all’altro solo dopo aver raggiunto determinati punteggi.
In questa fase si vuole programmare il gioco in modo che il variare degli sfondi non dipenda dallo scorrere del tempo ma dal punteggio ottenuto; si sceglie di passare da uno sfondo all’altro ogni due punti.
Ottenuta una configurazione accettabile è consigliabile fare ordine cancellando gli sfondi non più utili ai fini della programmazione. In questo caso si elimina lo sfondo “xy-grid”.
Per raggiungere questo obiettivo è fondamentale ricordarsi che il punteggio è stato programmato nella fase 5 negli sprite dei pipistrelli con l’introduzione della variabile PUNTI: quando un pipistrello tocca per tre volte la palla, il punteggio aumenta di una unità; occorre pertanto far sì che dopo l’aumento del punteggio gli sfondi dello stage cambino in sequenza. Per mettere in comunicazione lo sprite dei pipistrelli con lo stage si ricorrerà ancora una volta al blocco dei MESSAGGI presente nella paletta delle Situazioni.
Si parte programmando lo Stage:
Cliccare sulla bandierina per verificare che i comandi vengano eseguiti correttamente.
Fase successiva: creare livelli di gioco.
In questa fase si vogliono inserire dei livelli di gioco: se BATCAT riesce a superare tutti e sette gli sfondi (cioè riesce ad ottenere 14 punti) allora può passare al livello successivo che partirà nuovamente dallo sfondo n.1.
Cliccare sulla bandierina per verificare che il programma venga eseguito correttamente.
Fase successiva: aumentare la velocità dei pipistrelli ad ogni livello.
In questa fase si vuole aumentare la velocità dei pipistrelli dopo ogni livello; si mettono in relazione la velocità dei pipistrelli con il numero del livello raggiunto.
Cliccare sulla bandierina per verificare che il programma venga eseguito correttamente.
Fase successiva: creare una schermata introduttiva al gioco (una intro).
In questa fase si intende creare una schermata iniziale con la quale si informa il giocatore che per iniziare bisogna premere un tasto; tale schermata comparirà anche dopo la scritta gameover.
Si comincia creando un nuovo sprite denominato “intro” e progettando la sua veste grafica; in tale sprite si inserisce il messaggio “GO” con il quale far partire tutto il gioco: per questo motivo negli script di tutti gli altri sprite occorre sostituire il cappello “quando si clicca sulla bandiera verde” con il cappello “quando ricevo GO”.
Per far sì che la intro appena creata compaia anche dopo la scritta gameover, occorre che lo sprite “gamover” invii al termine del gioco un messaggio (messaggio denominato in questo caso “intro”); lo sprite “intro”, dopo aver ricevuto questo messaggio, si mostrerà e fermerà il gioco. Per ricominciare a giocare si dovrà premere la lettera B.
La comprensione di questa fase è affidata all’osservazione delle immagini.