Programar amb SCRATCH
Manual de l’alumne
Programar amb Scratch – Manual de l’alumne
2
Índex
Índex ........................................................................................................................... 2
Scratch ........................................................................................................................ 4
Lògica de programació ....................................................................................... 5
Descarrega i instal·la ........................................................................................... 5
Entorn del programa ........................................................................................... 7
Objectes ..................................................................................................................... 8
Fons ............................................................................................................................. 9
Posicions ................................................................................................................ 10
Recepta de puré de patates ........................................................................... 11
Algoritmes ............................................................................................................. 14
Exemples: ............................................................................................................... 14 Exercici .................................................................................................................... 15
Glossari ................................................................................................................... 22
Exercicis ................................................................................................................. 23
Trepar a una plataforma ................................................................................. 24
Esquivar Balons .................................................................................................. 26
Exercici de la Serp .............................................................................................. 30
Exercici Sorteig ................................................................................................... 34
El Joc del Submarí .............................................................................................. 38
Exercici del Zombi ............................................................................................. 42
Joc del Laberint ................................................................................................... 46
Programar amb Scratch – Manual de l’alumne
3
Exercici de Pong .................................................................................................. 50
El joc del volley .................................................................................................... 54
Exercici Arkanoid ............................................................................................... 58
Exercici Space Invaders ................................................................................... 62
Exercici Joc del Comecocos ............................................................................ 66
Exercici cotxes en contra direcció .............................................................. 70
Exercici Arc i Fletxa ........................................................................................... 74
Exercici Vista Ràpida ........................................................................................ 78
El joc dels daus .................................................................................................... 82
Exercici Pedra, paper i tisores ...................................................................... 86
Exercici “Aniversari Feliç” .............................................................................. 90
Joc amb clons ........................................................................................................ 94
Exercici de 3 en ratlla ....................................................................................... 98
Videojoc pas a pas ............................................................................................ 102
El gran repte ....................................................................................................... 112
Història ................................................................................................................. 113
Videojoc ................................................................................................................ 115
Recepta de cuina ............................................................................................... 117
Programar amb Scratch – Manual de l’alumne
4
Scratch Scratch és un entorn de programació desenvolupat per un grup d'investigadors, sota la direcció del Dr. Michael *Resnick, en una de les universitats més prestigioses d'Estats Units: MIT. Aquest entorn de programacio va ser dissenyat com a mitja d'expressio per ajudar-te a
expressar les teves idees de forma creativa, al mateix temps que desenvolupes habilitats
de pensament algorıtmic i d'aprenentatge del Segle XXI. La gramàtica de *Scratch es basa en un conjunt de “blocs grafics de programacio” que
pots assemblar per crear programes com aquests: Tal com amb les fitxes de LEGO,
connectors en els blocs suggereixen de quina manera pots assemblar-los.
Crea les teves pròpies històries interactives, animacions, jocs, música i art; a més,
podràs compartir amb uns altres les seves creacions a la web. A mesura es creen i comparteixen projectes realitzats en Scratch, s'aprèn importants
idees matemàtiques, al mateix temps s'aprèn a pensar creativament, a raonar
sistemàticament i a treballar de manera col·laborativa.
Programar amb Scratch – Manual de l’alumne
5
Lògica de programació Aquest entorn aprofita els avanços en disseny d'interfícies per fer que la programació sigui més atractiva i accessible para tot aquell que s'enfronti per primera vegada a aprendre a programar. Segons els seus creadors, va ser dissenyat com a mitjà d'expressió per ajudar a nens i joves a expressar les seves idees de forma creativa.
Descarrega i instal·la Per començar, si no tens un usuari a la web de Scratch hauries de crear-te un, de manera que puguis guardar els teus jocs i creacions per editar-los en el futur, compartir-los amb la comunitat, rebre comentaris i valoracions, etc. Web: http://scratch.mit.edu/ També pots instal·lar l'editor de Scratch per treballar en projectes sense connexió a internet. Aquesta versió funciona en *Mac, Windows, i en algunes versions de Linux (32 bits). Web: https://scratch.mit.edu/scratch2download/
Programar amb Scratch – Manual de l’alumne
6
Programar amb Scratch – Manual de l’alumne
7
Entorn del programa
Programar amb Scratch – Manual de l’alumne
8
Objectes
Programar amb Scratch – Manual de l’alumne
9
Fons
Programar amb Scratch – Manual de l’alumne
10
Posicions
Programar amb Scratch – Manual de l’alumne
11
Recepta de puré de patates
Programar amb Scratch – Manual de l’alumne
12
Programar amb Scratch – Manual de l’alumne
13
Programar amb Scratch – Manual de l’alumne
14
Algoritmes Un Algorisme és una sèrie ordenada d'instruccions, passos o processos que porten a la
solucio d'un determinat problema. Els hi ha tan senzills i quotidians com seguir la
recepta del metge, obrir una porta, rentar-se les mans, etc; fins als quals condueixen a la
solucio de problemes molt complexos. Els Algorismes permeten descriure clarament una sèrie d'instruccions que ha de
realitzar el computador per aconseguir un resultat previsible.
Exemples: Rentar-nos les dents és un procediment que realitzem diverses vegades al dia. Vegem la
forma d'expressar aquest procediment com un Algorisme: 1. Agafar la crema dental 2. Destapar la crema dental 3. Agafar el raspall de dents 4. Aplicar crema dental al raspall 5. Tapar la crema dental 6. Obrir la clau del lavabo 7. Remullar el raspall amb la crema dental 8. Tancar la clau del lavabo 9. Fregar les dents amb el raspall 10. Obrir la clau del lavabo 11. Esbandir-se la boca 12. Esbandir el raspall 13. Tancar la clau del lavabo 14. Assecar-se la cara i les mans amb una tovallola 15. Fi
Programar amb Scratch – Manual de l’alumne
15
Vegem que alguna cosa tan comu com els passos per canviar una
bombeta es poden expressar en forma d'Algorisme: 1. Posar una escala o un banc sota la bombeta 2. Prendre una bombeta nova 3. Pujar per l'escala o al banc 4. Subjectar i girar la bombeta a canviar cap a l'esquerra fins a retirar-la 5. Enroscar la bombeta nova cap a la dreta en el plafó fins a estrènyer-la. 6. Baixar de l'escala o del banc 7. Fi
Exercici Escriu el més detalladament possible i en ordre, els passos a realitzar per dur a terme
cadascuna de les seguents tasques. 1. Fregir un ou en oli d'oliva. 2. Empaquetar un regal .
Programar amb Scratch – Manual de l’alumne
16
Programar amb Scratch – Manual de l’alumne
17
Programar amb Scratch – Manual de l’alumne
18
Programar amb Scratch – Manual de l’alumne
19
Programar amb Scratch – Manual de l’alumne
20
Programar amb Scratch – Manual de l’alumne
21
Programar amb Scratch – Manual de l’alumne
22
Glossari Variable Una variable és un símbol que representa un element o cosa no especificada d'un conjunt dau. Dita conjunta és anomenat conjunt universal de la variable, univers o variar de la variable, i cada element del conjunt és un valor de la variable. Sigui x una variable l'univers de la qual és el conjunt {1,3,5,7,9,11,13}; llavors x pot tenir qualsevol d'aquests valors: 1,3,5,7,9,11,13. En altres paraules x pot reemplaçar-se per qualsevol enter positiu imparell menor que 14. Per aquesta raó, sovint es diu que una variable es un reemplaçament de qualsevol element del seu univers. Constant El contrari d'una variable és una constant. També pot considerar-se a les constants com
a cas particular de variables, amb un univers unitari (amb un sol element), ja que nomes
poden tenir un valor, i no poden modificar-ho. En molts casos, el contrari d'una variable és una constant. Llenguatge de programació Un llenguatge de programació és un idioma artificial dissenyat per expressar operacions
que poden ser dutes a terme per màquines com els ordinadors. Poden usar-se per crear programes que controlin el comportament físic i lògic d'una màquina, per expressar algorismes amb precisió, o com a manera de comunicació humana. Està format per un conjunt de símbols i regles sintàctiques i semàntiques que defineixen la seva estructura i el significat dels seus elements i expressions. Al procés pel qual s'escriu, es prova, es depura, es compila i es manté el codi font d'un programa informàtic se li crida
programacio.
Programar amb Scratch – Manual de l’alumne
23
Exercicis
Programar amb Scratch – Manual de l’alumne
24
Trepar a una plataforma El primer que fem és anar a l'escenari i realitzem una línia que faci les vegades del sòl. Després anem a tenir dos objectes. Un
personatge, que pot ser qualsevol (el gatet pot donar problemes amb la seva cua). I el segon objecte ho anem a dibuixar nosaltres i serà una plataforma la part superior de la qual (línia) serà del mateix color que la línia del sòl (en aquest cas negre). Bé, ara anem a programar al nostre amic. El primer és fer que es mogui per als costats, que comenci en una posició inicial i que si es pressiona espai pugi, alguna cosa gens complicat. El tema és aconseguir que si toca la plataforma es quedi allí i si no que caigui novament al buit fins a trobar un altre sòl. Llavors el que diem és que mentre no toqui el color negre caigui al buit (canvia la seva posició en i) Prova-ho i veuràs que funciona.
Programar amb Scratch – Manual de l’alumne
25
Programar amb Scratch – Manual de l’alumne
26
Esquivar Balons
Què volem fer? L'objectiu és traslladar al gatet o un altre personatge d'un costat a un altre de la pantalla per recollir un objecte, en aquest cas un plat de menjar Objectes
Gat o qualsevol personatge Plat de menjar 3 pilotes
Escenari
Escenari normal Escenari game over
Notes
El que fa el personatge és que quan toca el Menjar, llavors el gatet creix i canvia de color. A més mana un senyal Va menjar que serà recollida pel Menjar per desaparèixer en aquest moment.
Repte:
Podries fer que cada cop que el personatge toqui un dels balons tingui un so diferent, abans de que aparegui l’escenari Game Over?
Podries fer que quan el personatge arribi al plat de menjar, soni una música?
Programar amb Scratch – Manual de l’alumne
27
Programar amb Scratch – Manual de l’alumne
28
Programar amb Scratch – Manual de l’alumne
29
Programar amb Scratch – Manual de l’alumne
30
Exercici de la Serp
Què volem fer? L'objectiu és moure la serp cap a tots els costats i que es mengi la fruita, i que quan es mengi la fruita canviï a la següent disfressa. Perdrà si toca qualsevol de les vores. Objectes
Serp amb 4 disfresses diferents, en cadascuna de les disfresses augmentarem una rodona del cos.
Una fruita
Escenari
Escenari normal Escenari game over
Variables
Punts que augmentaran cada cop que es mengi una fruita.
Notes
El que fa el personatge és que quan toca el Menjar, llavors canvia de disfressa. A més mana un senyal Game Over que serà recollida per l’escenari quan toqui una de les vores.
Repte:
Podries fer que quan la serp toqui una vora, abans del game over, soni una música?
Podries fer més escenaris per a la teva serp, després d’haver menjat les fruites?
Programar amb Scratch – Manual de l’alumne
31
Programar amb Scratch – Manual de l’alumne
32
Programar amb Scratch – Manual de l’alumne
33
Programar amb Scratch – Manual de l’alumne
34
Exercici Sorteig
Què volem fer? Anem a fer un joc en el qual el professor faci un sorteig per dir qui dóna la classe. Anem a afegir els noms a una llista i així de pas introduïm el concepte de llista. És per això que després de triar l'escenari, anem a la programació per crear la llista de noms i inicialitzar-la. Objectes
Professor Alumne Ana Alumne Michael Alumne Luis Alumne Marcelo Alumne Carolina.
Escenari
Escola
Variables
Guanyador
Notes
El professor ha de dir “Avui farà la classe…” i envia el missatge “llestos” als alumnes i si aquest resulta el guanyador del sorteig, al rebre’l ha de dir “Jo faré la classe”
Repte
Podries inventar-tet un sorteig amb altres personatges?
Programar amb Scratch – Manual de l’alumne
35
Programar amb Scratch – Manual de l’alumne
36
Programar amb Scratch – Manual de l’alumne
37
Programar amb Scratch – Manual de l’alumne
38
El Joc del Submarí
Què volem fer? Manegem a un peix que intentarà evitar ser menjat per un altre peix més gran. Objectes
Tauró Peix petit
Escenari
Oceà Game Over
Variables
Temps
Notes
Volem que el tauró augmenti de tamany si es menja al peix petit. volem fer un cronòmetre, per guardar el temps que triga en menjar-se el
peix petit. Quan es perdi s’ha d’enviar un missatge a l’escenari de game over
Repte
Podries fer el joc per a dues persones? per això hauràs de crear un segon peix bo que es manegui, per exemple, amb els números: 2, 4, 6 i 8
Programar amb Scratch – Manual de l’alumne
39
Programar amb Scratch – Manual de l’alumne
40
Programar amb Scratch – Manual de l’alumne
41
Programar amb Scratch – Manual de l’alumne
42
Exercici del Zombi
Què volem fer? El joc consisteix a tractar d'escapar de les arpes d'un zombi que ens persegueix per la pantalla, si no ho aconseguim, ens transformarem en el propi zombi i el nostre rostre apareixerà transformat.. Objectes
Gat o altre personatge amb 1 disfressa normal i l’altre zombi Zombi
Escenari
Escenari sinistre Game Over
Notes
Quan es perdi s’ha d’enviar un missatge a l’escenari de game over
Repte Ara hauràs de ser tu el protagonista. Què com faig per transformar la
meva foto en un Zombi? Molt senzill, entrem a http://makemezombie.com on pugem una foto comuna nostra i la transformarà en *zombi. Després guardem la imatge i la importem com un dels fons de l'escenari. I llest. Hi ha moltes variants per agregar-li al joc, sons, més zombis, que el gatet dispari, etc.
Programar amb Scratch – Manual de l’alumne
43
Programar amb Scratch – Manual de l’alumne
44
Programar amb Scratch – Manual de l’alumne
45
Programar amb Scratch – Manual de l’alumne
46
Joc del Laberint
Què volem fer? Es tracta d'un joc molt fàcil de fer. La clau està a dibuixar un bon laberint al començament (no ho portin d'Internet perquè a l'hora d'importar-ho es pixelin una mica i sobretot les parets del laberint no queden totes del mateix color la qual cosa fa que no reboti el personatge). Llavors anem a anar a Escenari i amb l'eina línia i la tecla SHIFT atapeïda vaig a dibuixar el laberint de forma tal que tingui una entrada i una sortida i que els camins siguin prou amples perquè passi el personatge. Objectes
Animal Plat de menjar
Escenari
Laberint Hem guanyat!
Notes
Quan es guany s’ha d’enviar un missatge a l’escenari de “hem guanyat” Quan es perdi s’ha d’enviar un missatge a l’escenari de “game over”
Repte
Podries fer un segon escenari, com passant a un segon nivell, amb un laberint una mica més complicat?
Podries fer un tercer escenari, quan passis de nivell, amb un laberint encara més complicat?
Programar amb Scratch – Manual de l’alumne
47
Programar amb Scratch – Manual de l’alumne
48
Programar amb Scratch – Manual de l’alumne
49
Programar amb Scratch – Manual de l’alumne
50
Exercici de Pong
Què volem fer? El joc del Pong per a 2 jugadors.
Objectes 2 jugadors Una pilota
Escenari
Camp Jugador 1 guanya Jugador 2 guanya
Variables
Jugador 1 (seran els punts que va sumant) Jugador 2 (seran els punts que va sumant)
Notes
Quan guany el Jugador 1 s’ha d’enviar un missatge a l’escenari 1 de “guanya Jugador 1”
Quan guany el Jugador 2 s’ha d’enviar un missatge a l’escenari 2 de “guanya Jugador 2”
Recorda que la pilota haurà de rebotar si toca alguna de les vores del nostre escenari.
Repte Podries fer que la pilota vagi augmentant de velocitat, a mida que vagi
passant el joc?
Perquè el moviment de la pilota sigui més real, et deixem un Codi “pista”.
Programar amb Scratch – Manual de l’alumne
51
Programar amb Scratch – Manual de l’alumne
52
Programar amb Scratch – Manual de l’alumne
53
Programar amb Scratch – Manual de l’alumne
54
El joc del volley
Què volem fer? El joc del volley per a 2 jugadors.
Objectes 2 jugadors Una pilota
Escenari Camp → vigila que aquest camp te 2 parts: una de color gris i una altra de
color verda
Jugador 1 guanya
Jugador 2 guanya
Variables Jugador 1 (seran els punts que va sumant)
Jugador 2 (seran els punts que va sumant)
Notes
Quan guany el Jugador 1 s’ha d’enviar un missatge a l’escenari 1 de “guanya Jugador 1”
Quan guany el Jugador 2 s’ha d’enviar un missatge a l’escenari 2 de “guanya Jugador 2”
Recorda que la pilota haurà de rebotar si toca alguna de les vores del
nostre escenari.
Repte
Podries fer que la pilota vagi augmentant de velocitat, a mida que vagi
passant el joc?
Programar amb Scratch – Manual de l’alumne
55
Programar amb Scratch – Manual de l’alumne
56
Programar amb Scratch – Manual de l’alumne
57
Programar amb Scratch – Manual de l’alumne
58
Exercici Arkanoid
Què volem fer? Trencar tots els maons que surten al nostre escenari Objectes
Paleta Pilota Maó
Escenari
Escenari amb estrelles Game over
Variables
Punts
Notes
Cada cop que trenquis un maó hauràs d’enviar un missatge “maotrencat”, perquè la pilota canviï de direcció.
Hauràs d’amagar els maons quan els toqui la pilota Hauràs d’enviar un missatge “Game Over” quan la pilota toqui la línia de la
part inferior de l’escenari.
Repte
Podries fer 3 nivells més per al joc?
Programar amb Scratch – Manual de l’alumne
59
Programar amb Scratch – Manual de l’alumne
60
Programar amb Scratch – Manual de l’alumne
61
Programar amb Scratch – Manual de l’alumne
62
Exercici Space Invaders
Què volem fer? Anem a replicar el clàssic joc de la nau que li dispara als marcians.
Objectes Nau Bala Marcià (farem 1 i després els duplicarem)
A la taula trobaràs les posicions en que surten les naus:
Escenari
Escenari amb estrelles Has guanyat Game over
Variables Punts
Notes
En rebre “Game Over” el que fem és canviar el fons a vas perdre i … quan guanyem? Quan els punts arribin a 120 o sigui que hem eliminat a tots els nostres enemics.
Repte Podries fer 3 nivells més per al joc?
Programar amb Scratch – Manual de l’alumne
63
Programar amb Scratch – Manual de l’alumne
64
Programar amb Scratch – Manual de l’alumne
65
Programar amb Scratch – Manual de l’alumne
66
Exercici Joc del Comecocos
Què volem fer? Fer una laberint en el que el nostre Comecocos es mengi 3 peces de fruita.
Objectes Comecocos amb 2 disfresses, 1 amb la boca tancada i l’altra amb la boca
oberta 3 fantasmes de diferents colors 3 peces de fruita
Escenari Laberint de 2 colors Has guanyat Game over
Variables Punts Objectes
Notes Hauràs d’enviar un missatge “Game Over” quan et toqui algun fantasma. Hauràs d’enviar un missatge “Guanyar” si et menges les 3 peces de fruita. Al crear una variable objectes, el que fa és explicar la quantitat
d'objectes que hi ha en pantalla. A l'inici 2 . Quan el Comecocos toca la fruita, la mateixa s'amaga i la quantitat d'objectes baixa en 1.
Repte
Podries fer 3 nivells més per al joc?
Programar amb Scratch – Manual de l’alumne
67
Programar amb Scratch – Manual de l’alumne
68
Programar amb Scratch – Manual de l’alumne
69
Programar amb Scratch – Manual de l’alumne
70
Exercici cotxes en contra direcció
Què volem fer? Haig de fer arribar el meu cotxe a la meta, sense xocar amb els altres que venen. Objectes
El meu cotxe amb 2 disfresses: una normal i altra en flames. 3 cotxes Cartell d’arribada o meta
Escenari
L’escenari principal ha de tenir un color a dalt, perquè el cotxe baixi si toca aquest color i un altre a baix, perquè pugi si toca aquest color
Escenari Has Guanyat Escenari Game Over
Notes
Hauràs d’enviar un missatge “Game Over” quan et toqui algun cotxe, i fer que el cotxe canviï a la disfressa en flames.
Hauràs d’enviar un missatge “Guanyar” si arribes a la meta.
Repte
Podries fer 3 nivells més per al joc i fes que vagi augmentant el nivell, amb més cotxes per exemple?
Programar amb Scratch – Manual de l’alumne
71
Programar amb Scratch – Manual de l’alumne
72
Programar amb Scratch – Manual de l’alumne
73
Programar amb Scratch – Manual de l’alumne
74
Exercici Arc i Fletxa
Què volem fer? Es tracta d'un clàssic joc d'arc i fletxa. L'arc ho manejarem amb el ratolí, mentre que la diana anirà apareixent en diferents ubicacions de la pantalla.
Objectes Arc Fletxa Diana
Escenari L’escenari principal Escenari Final
Variables Tir (per anar descomptant les fletxes) Fletxaposi (Si es produeix el tir el que està tancat en el repetir fa que la
fletxa es mogui de 10 passos. El següent són ajustos per tornar a estar ràpid per a un nou tir)
Fletxes (hauran de ser 6 al començament) Punts (que augmentin en tocar la diana)
Notes
Hauràs d’enviar un missatge “Final” quan s’acabin les 6 fletxes.
Repte Podries fer un joc amb el mateix concepte, però canviant els objectes per
altres que tu vulguis?
Programar amb Scratch – Manual de l’alumne
75
Programar amb Scratch – Manual de l’alumne
76
Programar amb Scratch – Manual de l’alumne
77
Programar amb Scratch – Manual de l’alumne
78
Exercici Vista Ràpida
Què volem fer? El joc consisteix a mostrar una piloteta, col·locar-la en una de les caixes, moure les caixes i
preguntar en qual està.
Objectes Personatge 1 pilota 3 continents
Escenari L’escenari principal
Variables
amagadaen (fixar un nombre a l’atzar entre 1 i 3 que són els continents que tindràs)
finalitza
Notes
Hauràs d’enviar un missatge “acomodar caixes” quan es comenci el joc, i que cadascuna aparegui en el seu lloc corresponent.
Hauràs d’enviar un missatge “aparèixer bola” perquè es mostri la bola o pilota.
Hauràs d’enviar un missatge “a moure’s” perquè comencin a moure’s les caixes.
El presentador haurà de dir: guanyes o perds.
Programar amb Scratch – Manual de l’alumne
79
Repte Podries canviar el joc completament? ’escenari, personatge (pots posar-te
a tu mateix) i els continents?
Et donem un “Codi Pista” que ha d’anar a la pedra, perquè vegis els missatges que hauràs d’enviar
Programar amb Scratch – Manual de l’alumne
80
Programar amb Scratch – Manual de l’alumne
81
Programar amb Scratch – Manual de l’alumne
82
El joc dels daus
Què volem fer? Llençar un dau.
Objectes Personatge
1 dau amb 6 disfresses (cadascuna en la que destaqui un número)
Escenari
L’escenari principal
Variables
Resultat (serà un nombre a l’atzar entre 1 i 6)
Notes Hauràs d’enviar un missatge “moure dau” perquè es mogui. El personatge haurà de dir: comença a girar i després el número que surt. En el cas del dau, anem a fer que es mogui quan rep el missatge de moure
dau. En aquest cas li anem a donar una posició en la pantalla, ho anem a col·locar en posició horitzontal i anem a fer que per defecte comenci amb la disfressa 1. Després anem a repetir una quantitat determinada de vegades (l'11 surt perquè vull que el dau doni dues voltes senceres abans de mostrar el resultat, si volgués una volta sola seria 5, i sinó sol resultat). Els blocs de moure i girar li donen un efecte de moviment i els valors són a gust. El que si ha d'estar és el canvi de disfressa. Finalment ens assegurem que el dau sempre aquest horitzontal.
Repte Podries fer que aquest dau surti d’un cubilet? Podries fer que vagi canviant el color del dau a mesura que es mou?
Programar amb Scratch – Manual de l’alumne
83
Programar amb Scratch – Manual de l’alumne
84
Programar amb Scratch – Manual de l’alumne
85
Programar amb Scratch – Manual de l’alumne
86
Exercici Pedra, paper i tisores Què volem fer? El joc de pedra, paper i tisores Objectes
2 Personatges
1 pedra
1 paper
1 tisores
Escenari
Escenari 1
Guanyo
Perdo
Empato
Variables
Jugador 1 escull
Jugador 2 escull
Número (haurà de ser de l’1 al 3 (pedra, paper, tisores))
Repte
Podries fer que juguessin 3 personatges a l’hora?
.
Et donem un “Codi Pista” que ha d’anar a la pedra, perquè vegis els missatges que hauràs d’enviar
Programar amb Scratch – Manual de l’alumne
87
Programar amb Scratch – Manual de l’alumne
88
Programar amb Scratch – Manual de l’alumne
89
Programar amb Scratch – Manual de l’alumne
90
Exercici “Aniversari Feliç”
Què volem fer? L'exercici consisteix que el nostre personatge salti de nota en nota per d'aquesta forma replicar la
clàssica cançó d'aniversari feliç. Objectes
1 Personatge
8 tecles diferents
Escenari
L’escenari principal
Notes
Aquestes són les notes perquè surti bé la cançó
Entre nota i nota deixarem 0.5 segons. La tonada per fer la cançó és: do,do,re,do,fa,el meu, do,do,re,do,sol,fa,
do,do,do*,la,fa,el meu, re do+,do+,la,fa,sol,fa
Repte Podries fer la cançó “estrelleta on estàs?”. La tonada és la següent: do do
so| so| la la so| fa fa mi mi re re do so| so| fa fa mi mi re so| so| fa fa mi mi re do do so| so| la la so| fa fa mi mi re re do
Programar amb Scratch – Manual de l’alumne
91
Programar amb Scratch – Manual de l’alumne
92
Programar amb Scratch – Manual de l’alumne
93
Programar amb Scratch – Manual de l’alumne
94
Joc amb clons
Què volem fer? Anem a realitzar un joc de naus en el que hem de disparar a les bruixes. Objectes
1 nau que es mourà amb el ratolí 1 bala que comenci com a clon, aparegui a la nau i tocant la bruixa o la
vora desaparegui Enemic que al començar com a clon, aparegui a la pantalla amb un
nombre a l’atzar de y entre 180 i -180, i de x a 220
Escenari Nivell 1 Nivell 2 Nivell 3 Perds Guanyes
Variables
Punts
Notes La bruixa ha de desaparèixer en tocar la bala El Nivell 1 és el primer El Nivell 2 canvia a 150 punts El Nivell 3 canvia a 300 punts Guanyes quan arribes al 500 punts
Repte Podries fer un joc amb els personatges i escenaris que tu vulguis? Podries incloure so?
Programar amb Scratch – Manual de l’alumne
95
Programar amb Scratch – Manual de l’alumne
96
Programar amb Scratch – Manual de l’alumne
97
Programar amb Scratch – Manual de l’alumne
98
Exercici de 3 en ratlla
Què volem fer? El joc del 3 en ratlla. Objectes
1 quadrat amb 3 disfresses: buit, cercle i creu. 1 personatge
Escenari
Escenari principal
Variables
C1, C2, C3, C4, C5, C6, C7, C8, C9 (1 variable per a cada requadre) torn
Notes
Cal fixar el començament de partida a l’escenari, com el torn del cercle i cadascuna de les variable com a lliure
Dins de cadascuna de les caselles, hem de tenir en compta: les variable C1 + variable torn=cercle / torn=creu i que canviïn la seva disfressa en cadascun dels casos
Programar amb Scratch – Manual de l’alumne
99
Repte
En la versió avançada, podem dir a més qui guanya i parar el joc quan algú aconsegueix fer 3 en Ratlla. Per a això el que hem de fer és analitzar quan una partida acaba o bé quan un fa 3 en ratlla o quan ja no queden més moviments.
En el cas de fer 3 en ratlla el que haig de fixar és que determinades
caselles tinguin el mateix símbol. Em fixo les horitzontals, després les verticals i finalment les diagonals. És llavors que a la programació de l'ESCENARI… agafa com a exemple
En horitzontal: C1=cercle + C2=cercle + C3=cercle → enviar guanya cercle
C4=cercle + C6=cercle + C5=cercle→ enviar guanya cercle Ara hauràs d’acabar la programació per als horitzontals, verticals i diagonals.
Programar amb Scratch – Manual de l’alumne
100
Programar amb Scratch – Manual de l’alumne
101
Programar amb Scratch – Manual de l’alumne
102
Videojoc pas a pas Controla el moviment de la bruixa amb les tecles fletxa dreta, esquerra, a dalt i a baix per esquivar als dracs i capturar el major nombre possible d'estels.)
Personatges En primer lloc, com no volem treballar amb el gat de Scratch, anem a eliminar l'objecte que es crea per defecte.
Programar amb Scratch – Manual de l’alumne
103
A continuació anem a afegir un personatge, pel que premerem sobre el botó Nou Objecte: Triar un objecte des de la biblioteca. Navegarem per la biblioteca fins a la secció de Fantasia i triarem la bruixa.
Primers passos
Ara anem a procedir a escriure els programes que controlaran els moviments del personatge. El primer que ha de fer-se sempre amb un personatge és indicar-li el que ha de fer quan comenci a executar-se el videojoc. Així que anem a crear un programa que indiqui quin és la posició de la pantalla en la qual la bruixota ha d'aparèixer quan comenci una partida.
Programar amb Scratch – Manual de l’alumne
104
Tal com es mostra en la imatge, la posició horitzontal dels personatges es controla amb
la variable x de l'eix de coordenades i la seva posició vertical es controla amb la variable
i, tenint com a referència que el centre de la pantalla és la posició (0,0).
D'aquesta forma, si volem que la bruixa aparegui sempre al centre de la pantalla (*pos x = 0, *pos i= 0) en començar la partida, podem incloure els següents blocs:
Fixar-vos en què hem aprofitat per incloure un bloc que marca la forma en què la bruixa es mourà per la pantalla, indicant que solament ha de rotar d'esquerra a dreta, amb l'objectiu que el personatge no es posi potes enlaire quan realitzi un gir.
Ara anem a introduir diversos programes que van a permetre'ns controlar el moviment de la bruixa amb el teclat. El que farem serà crear un programa perquè cada vegada que l'usuari que estigui jugant premi les fletxes dels cursors (esquerra, dreta, a dalt o a baix) es modifiqui la posició de la bruixa en conseqüència.
Per tant, quan l'usuari premi, per exemple, la tecla fletxa dreta haurem d'augmentar el valor de la coordenada x perquè es desplaci cap a la dreta. No obstant això, quan l'usuari
Programar amb Scratch – Manual de l’alumne
105
premi sobre la tecla fletxa esquerra caldrà reduir el valor de la coordenada x perquè es mogui cap a l'esquerra. I, de forma equivalent, haurem de fer el mateix per a les posicions verticals modificant el valor de la coordenada I. Per tant, el codi que controlaria el moviment de la nostra bruixa seria el següent:
Has vist el fàcil que resulta controlar el moviment dels personatges dels nostres jocs? No obstant això, per donar-li una mica més de realisme anem a fer que la bruixa miri cap a l'esquerra quan es mogui en aquesta adreça i que miri cap a la dreta quan es mogui cap a aquest altre costat. Per a això , modificarem lleugerament el codi dels nostres programes per incloure un bloc que controla l'adreça cap a la qual apunta el personatge (90 per mirar a la dreta, -90 per a l'esquerra):
Ja tenim la nostra bruixota movent-se i canviant de posició seguint les ordres de l'usuari. Perfecte!
Programar amb Scratch – Manual de l’alumne
106
Afegint nous personatges
Ara anem a posar-nos a treballar amb els dracs que la bruixota ha d'esquivar per poder seguir jugant. Així que el primer serà importar un nou objecte des de la biblioteca.
Els bucles
El codi que controlarà el moviment del drac és molt senzill però molt interessant, ja que introdueix el concepte de bucle. Què és un bucle? Doncs un bucle és un conjunt d'instruccions que es repeteix diverses vegades. Com el nostre drac va a estar constantment movent-se per la pantalla de costat a costat es tracta d'una situació perfecta per usar un bucle. Fem un cop d'ull al programa abans d'analitzar-ho:
Senzill, veritat? El que indica el programa és que, quan l'usuari punxi en la bandera verda (és a dir, quan comenci la partida), la qual cosa ha de fer el drac és:
● Fixar l'estil de rotació a esquerra-dreta. Com hem vist, això significa que quan giri, tan solament ho farà de forma horitzontal i no vertical, perquè el drac no es posi potes enlaire.
● Entra en un bucle que es repeteix per sempre: ● Mou dos passos ● Comprova si està tocant una vora. Si és així, rebota. ● Torna al començament del bucle, és a dir, torna al punt 2.
Programar amb Scratch – Manual de l’alumne
107
Els condicionals
Amb aquest codi el nostre drac estarà constantment movent-se per la pantalla. Ara anem a afegir un segon programa al drac, que es va a encarregar de controlar si el drac està tocant a la bruixa, ja que en aquest cas s'ha de mostrar un missatge i acabar la partida. Per a això usarem de nou un bucle repetir per sempre:
En aquest codi apareix un bloc condicional: si tocant a la bruixa llavors… En aquest tipus de blocs el codi intern (en aquest cas format pels blocs dir: T'he agafat! *i parar tots els programes) solament s'executa quan es compleix la condició, que al nostre programa és que el drac estigui tocant a la bruixa.
Disfresses
Amb l'objectiu de donar-li més realisme al joc anem a modificar lleugerament el codi del drac perquè vagi canviant la seva aparença i vagi tirant foc. Per a això anem a usar les disfresses, que es poden entendre com les diferents representacions d'un mateix personatge (alguna cosa similar a quan un actor d'una pel·lícula canvia de vestuari).
Així si ens anem a la secció de disfresses del drac podem comprovar que té dues disfresses preparades..
Programar amb Scratch – Manual de l’alumne
108
Per indicar al drac que vagi canviant de disfressa constantment podem utilitzar el següent bloc, que fa ús d'un bucle per sempre, un bloc de canvi de disfressa i un bloc esperar, perquè el canvi no sigui massa ràpid:
Duplicant personatges
Una vegada que el drac està llest, la qual cosa anem a fer és duplicar l'objecte per tenir un altre drac més. Aquest nou drac tindrà exactament el mateix comportament sense haver de tornar a escriure-ho. Punxant amb el botó dret sobre el drac a l'àrea de personatges ens apareix l'opció “Duplicar”, que crea un nou personatge que és una còpia exacta amb tots els seus programes.
Recollint recompenses
Per acabar el joc, ara hem d'importar l'objecte estavella que la bruixa tractarà d'anar agafant per sumar punts:
Programar amb Scratch – Manual de l’alumne
109
El comportament de l'estel que desitgem és el següent: volem que aparegui en un punt a l'atzar de la pantalla i que, quan sigui tocada per la bruixa, desaparegui i aparegui en una altra posició a l'atzar de la pantalla. Aquest és el programa que implementa aquest comportament:
Com es pot comprovar, apareixen de nou molts blocs que ja coneixem: en pressionar la bandera verda, bucle repetir per sempre, un bloc condicional per veure si està tocant a l'objecte bruixota… Potser el bloc més complex d'entendre és el que controla la posició a la qual ha de moure's l'estel, que és un nombre a l'atzar entre -230 i 230 per a la posició X i un nombre a l'atzar entre -170 i 170 per a la posició I, la qual cosa fa que l'estel aparegui cada vegada en un lloc diferent de la pantalla.
Programar amb Scratch – Manual de l’alumne
110
Sumant punts
Com l'objectiu del joc és sumar el màxim nombre de punts possibles, és necessari
comptar amb un marcador que es vagi actualitzant cada vegada que la bruixota toc a l'estel. Per a això hem d'anar-nos als blocs de la categoria Dades i crear una nova variable que cridarem Punts. En crear la variable ens apareixeran nous blocs que podem utilitzar per actualitzar el seu valor. Així, quan comenci el joc sempre haurem de donar-li a la variable punts el valor 0; i cada vegada que la bruixa toqui l'estel haurem de modificar el seu valor per sumar un punt més. Per això aquest tipus de blocs, que guarden dades, es diuen variables, perquè el seu valor varia al llarg de la partida. El codi de l'estel quedarà tal com es mostra en la següent imatge, en la qual ja s'han inclòs els blocs relatius al control de la variable:
Modificant el fons
Si has arribat fins a aquí, bon treball! Ja tens el teu videojoc llest i funcionant. Encara que potser, per donar-li una mica més de vistositat, podríem modificar el fons de la pantalla perquè es mostri un altre més apropiat. Per a això premerem sobre l'escenari (sota la finestra d'objectes), ens anirem a la pestanya Fons (similar a les disfresses dels objectes però per a l'escenari) i premerem sobre el botó Fons nou: Triar un fons des de la biblioteca.
Programar amb Scratch – Manual de l’alumne
111
I triarem, en la secció Espai de la biblioteca, el fons Stars:
Ara sí, enhorabona! El teu videojoc està llest per guardar i compartir amb qui vulguis a través de la web. Al fet que ha resultat molt més fàcil del que es podria esperar al principi? A partir d'ara, el límit ho marques tu amb la teva imaginació.
Esperem que aquest sol sigui el primer d'una llarga llista de projectes. Això sí, no deixis d'explicar-nos com et va i de compartir amb tota la comunitat els teus avanços.
Programar amb Scratch – Manual de l’alumne
112
El gran repte
Ara seràs tu sol qui hauràs de fer:
Una història amb diferents personatges i com a mínim 4 escenaris diferents... pots pensar en un conte, o simplement inventar-te tu un de nou.
Un videojoc. Aquí pots deixar volar la
teva imaginació... pensa que ja has fet diferents coses amb zombis, amb cotxes, amb naus espacials. Sigues original i posa’t mans a l’obra.
T’acordes de la recepta de la truita de
patates que vam fer al començament del curs? Series capaç de fer una recepta amb Scratch pas a pas? Hauràs de dibuixar o cercar a Internet tots els ingredients, crear un personatge... pensa primer la recepta i després plasma-la amb l’Scratch
Programar amb Scratch – Manual de l’alumne
113
Història
Programar amb Scratch – Manual de l’alumne
114
Programar amb Scratch – Manual de l’alumne
115
Videojoc
Programar amb Scratch – Manual de l’alumne
116
Programar amb Scratch – Manual de l’alumne
117
Recepta de cuina
Programar amb Scratch – Manual de l’alumne
118