Connexió entre MicroBlocks i Snap!
Introducció a Snap!
En aquesta sessió veurem com podem crear un videojoc amb Snap!, un entorn de programació semblant a Scratch que ens permet desenvolupar projectes més complexos.
La idea serà control·lar-lo mitjançant la placa ED1, a la que li carregarem un programa anoment Signada, per així poder interactuar amb el videojoc creat amb Snap!
Després a l’Snap! carregarem una llibreria amb el mateix nom que ens permetrà connectar amb la placa i interactuar amb aquesta.
Moviment de la nau
Tenim disponible una plantilla amb els objectes ja creats en aquest enllaç.
Començarem programant el moviment de la nau. Com només volem moure-la d’esquerra a dreta, només cal modificar el component x de la seva posició mitjançant el bloc assigna el valor _ a x de la categoria Moviment.
- Per provar-ho de moment podem fer servir el ratolí per moure’l, necessitem el bloc ratolí x que hi ha a la categoria Sensors.
Repte 1: fes que al començar el joc, la nau segueixi sempre la x del ratolí
Solució al repte 1
Disparar làser (I)
Per disparar el làser crearem còpies o “clons” de l’objecte Laser. Per fer això hem de buscar el bloc crea un clon de _ que tenim a Control.
En comptes de “mi mateix” hem de seleccionar l’objecte Laser.
L’acció de disparar la podem fer quan cliquem el ratolí, per lo que haurem de buscar el bloc corresponent a Sensors i fer servir un condicional per executar l’acció.
Disparar làser (II)
- Per crear còpies del Laser primer el seleccionarem i cercarem el bloc quan una còpia meva comenci. Cal selecionar l'objecte laser per aplicar aquest codi.
-Una vegada es crei la còpia, farem que aquesta vagi a la nau i que a més apunti a la mateixa direcció que aquesta.
- Finalment, farem que es vagi movent fins tocar la vora, on també farem que s’esborri.
Repte 2: fes que al començar el joc, la nau segueixi sempre la x del ratolí
Solució al repte 2
Moviment asteroids (I)
Amb els asteroids farem el mateix, crearem còpies que anirant caient de dalt a baix.
Per fer això, executarem el bloc de crear clon cada 2 segons (per exemple) des de l’inici.
- Un cop creada la còpia, farem que vagi a un punt sobre la vora superior amb una x aleatòria. Per a això necessitarem el bloc nombre a l’atzar entre _ i _ que tenim a Operadors.
Moviment asteroids (II)
Un cop situada la còpia de l’asteroid, farem que vagi baixant restant-li 1 (o més aviat, sumant -1) a la seva y fent servir el bloc suma _ a y.
A més de caure, podem fer que també vagi girant mitjançant el bloc gira _ graus.
Per fer que la còpia s’esborri en cas de tocar el Laser o bé quan la seva posició y sigui més baixa de -200, cal fer servir un condicional amb el bloc d’operador _ o_.
Repte 3: fes que l’objecte Asteroid s’amagui a l’inici i només es mostri al crear-se la còpia
Solució al repte 3
Fi de joc (I)
La idea és que el joc s’acabi un cop la nau col·lisioni amb un asteroid.
Tot i que aquesta comprovació es pot fer tant en un objecte com l’altre, en aquest exemple ho farem a la nau.
L’únic que caldrà fer és que, en cas de tocar l’Asteroid, enviar un missatge de “game over” i que a més amagui la nau (com si l’haguès destruït).
No oblidem fer que es mostri a l’inici, ja que si no quedarà amagada!
Fi de joc (II)
Un cop enviat el missatge, farem que quan el rebi l’objecte Game Over es mostri i aturi el programa mitjançant el bloc atura tots.
A més caldrà amagar-lo a l’inici, ja que si no quedarà visible tota l’estona mentre juguem!
Signada MicroBlocks
Per poder control·lar la nau remotament amb la placa ED1, caldrà carregar un programa en aquesta mitjançant MicroBlocks.
Aquest programa es troba a la cartpeta Network i es diu Signada (network remote control).
- Un cop obert, cal ficar les credencials de la xarxa WiFi al bloc indicat.
Signada (Snap!)
- A Snap! caldrà obrir la llibreria Signada (control remot per xarxa).
- Un cop oberrta, veurem que s’afegeixen uns quants blocs en algunes categories, per exemple a Moviment, So, Llapis, Sensors i Variables.
- En el nostre cas ens interessa sobretot els blocs de les dues últimes categories.
Connexió amb placa
Per connectar l’Snap! amb la ED1 caldrà fer servir el bloc connecta’t a _ fent servir la IP que mostra aquesta a la pantalla.
Si la connexió a estat correcta, la pantalla cambiarà mostrant el text “Connected.”.
També podem comprovar l’estat de la connexió a Snap! mitjançant el bloc connectat.
Un cop connectat ja podem fer els canvis adients per fer servir la placa per control·lar la nau.
Per exemple, en comptes la posició x del ratolí, farem servir la inclinació en l’eix x de la placa per moure la nau d’un costat a l’altre.
I per disparar el laser podem fer servir qualsevol el botó OK o l’X.
Repte final: completa el joc!
⬅️ Activitat anterior |
---|
© von Citilab Edutec 2019-2022.
This work is licensed under a CC-BY-SA 4.0 license.