Professional Documents
Culture Documents
SCRATCH
Manual de l’alumne
Programar amb Scratch – Manual de l’alumne
Í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
2
Programar amb Scratch – Manual de l’alumne
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
3
Programar amb Scratch – Manual de l’alumne
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 programació va ser dissenyat com a mitjà d'expressió 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.
pots assemblar per crear programes com aquests: Tal com amb les fitxes de LEGO,
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.
4
Programar amb Scratch – Manual de l’alumne
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/
5
Programar amb Scratch – Manual de l’alumne
6
Programar amb Scratch – Manual de l’alumne
7
Programar amb Scratch – Manual de l’alumne
Objectes
8
Programar amb Scratch – Manual de l’alumne
Fons
9
Programar amb Scratch – Manual de l’alumne
Posicions
10
Programar amb Scratch – Manual de l’alumne
11
Programar amb Scratch – Manual de l’alumne
12
Programar amb Scratch – Manual de l’alumne
13
Programar amb Scratch – Manual de l’alumne
Algoritmes
Un Algorisme és una sèrie ordenada d'instruccions, passos o processos que porten a la
solució 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
solució de problemes molt complexos.
Exemples:
Rentar-nos les dents és un procediment que realitzem diverses vegades al dia. Vegem la
forma d'expressar aquest procediment com un Algorisme:
14
Programar amb Scratch – Manual de l’alumne
Vegem que alguna cosa tan comú com els passos per canviar una
bombeta es poden expressar en forma d'Algorisme:
Exercici
Escriu el més detalladament possible i en ordre, els passos a realitzar per dur a terme
15
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
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 é s
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 nomé s
poden tenir un valor, i no poden modificar-ho.
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
programació .
22
Programar amb Scratch – Manual de l’alumne
Exercicis
23
Programar amb Scratch – Manual de l’alumne
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.
24
Programar amb Scratch – Manual de l’alumne
25
Programar amb Scratch – Manual de l’alumne
Esquivar Balons
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?
26
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
Exercici de la Serp
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?
30
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
Exercici Sorteig
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?
34
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
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
38
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
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.
42
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
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?
46
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
Exercici de Pong
Objectes
2 jugadors
Una pilota
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?
50
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
Objectes
2 jugadors
Una pilota
Escenari
Camp → vigila que aquest camp té 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?
54
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
Exercici Arkanoid
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?
58
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
Objectes
Nau
Bala
Marcià (farem 1 i després els duplicarem)
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?
62
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
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?
66
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
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?
70
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
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?
74
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
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.
78
Programar amb Scratch – Manual de l’alumne
Repte
Podries canviar el joc completament? ’escenari, personatge (pots posar-te
a tu mateix) i els continents?
79
Programar amb Scratch – Manual de l’alumne
80
Programar amb Scratch – Manual de l’alumne
81
Programar amb Scratch – Manual de l’alumne
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?
82
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
Objectes
2 Personatges
1 pedra
1 paper
1 tisores
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?
86
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
Objectes
1 Personatge
8 tecles diferents
Escenari
L’escenari principal
Notes
Aquestes són les notes perquè surti bé la cançó
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
90
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
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?
94
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
Exercici de 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
98
Programar amb Scratch – Manual de l’alumne
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.
99
Programar amb Scratch – Manual de l’alumne
100
Programar amb Scratch – Manual de l’alumne
101
Programar amb Scratch – Manual de l’alumne
Personatges
En primer lloc, com no volem treballar amb el gat de Scratch, anem a eliminar l'objecte
que es crea per defecte.
102
Programar amb Scratch – Manual de l’alumne
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.
103
Programar amb Scratch – Manual de l’alumne
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
104
Programar amb Scratch – Manual de l’alumne
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):
105
Programar amb Scratch – Manual de l’alumne
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.
106
Programar amb Scratch – Manual de l’alumne
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..
107
Programar amb Scratch – Manual de l’alumne
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:
108
Programar amb Scratch – Manual de l’alumne
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.
109
Programar amb Scratch – Manual de l’alumne
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.
110
Programar amb Scratch – Manual de l’alumne
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.
111
Programar amb Scratch – Manual de l’alumne
El gran repte
Ara seràs tu sol qui hauràs de fer:
112
Programar amb Scratch – Manual de l’alumne
Història
113
Programar amb Scratch – Manual de l’alumne
114
Programar amb Scratch – Manual de l’alumne
Videojoc
115
Programar amb Scratch – Manual de l’alumne
116
Programar amb Scratch – Manual de l’alumne
Recepta de cuina
117
Programar amb Scratch – Manual de l’alumne
118