Programar amb 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.
La gramàtica de *Scratch es basa en un conjunt de “blocs grà fics de programació ” 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.
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
Entorn del programa
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
Recepta de puré de patates
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.
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
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:
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 segü ents tasques. 1. Fregir un ou en oli d'oliva. 2. Empaquetar un regal.
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. 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 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
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?
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
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?
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
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?
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
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
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
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.
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
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?
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
Què volem fer? El joc del Pong per a 2 jugadors.
Objectes 2 jugadors Una pilota
Escenari Camp Jugador 1 guanya Jugador 2 guanya
Perquè el moviment de la pilota sigui més real, et deixem un Codi “pista”.
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
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 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
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?
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
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?
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
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?
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
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?
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
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?
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
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.
78
Programar amb Scratch – Manual de l’alumne
Et donem un “Codi Pista” que ha d’anar a la pedra, perquè vegis els missatges que hauràs d’enviar
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
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?
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
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
Et donem un “Codi Pista” que ha d’anar a la pedra, perquè vegis els missatges que hauràs d’enviar
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
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
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
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?
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
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
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. 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.
99
Programar amb Scratch – Manual de l’alumne
100
Programar amb Scratch – Manual de l’alumne
101
Programar amb Scratch – Manual de l’alumne
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.
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):
Ja tenim la nostra bruixota movent-se i canviant de posició seguint les ordres de l'usuari. Perfecte!
105
Programar amb Scratch – Manual de l’alumne
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.
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
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.
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 donarli 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
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.
111
Programar amb Scratch – Manual de l’alumne
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
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