Connexió entre MicroBlocks i Snap!

Connexió entre MicroBlocks i Snap!

by Citilab Edutec

Boards
Boards:

Citilab ED1

Component/s
Components:

None
Aquesta activitat forma part del Curs del Citilab. Fes-li una ullada!

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.

Joc creat amb Snap!

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.

Bloc assigna el valor _ a x

  • 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.

Bloc ratolí x

Repte 1: fes que al començar el joc, la nau segueixi sempre la x del ratolí

Challenge 1

Solució al repte 1

Solució 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.

    Bloc crea un clon de _ Crea un clon de làser
  • 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ó.

Crear clons del làser

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.

Bloc quan una copia meva comenci

-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.

Anar a l'objecte Starship

  • Finalment, farem que es vagi movent fins tocar la vora, on també farem que s’esborri.

Pujar a fins tocar a la vora

Repte 2: fes que al començar el joc, la nau segueixi sempre la x del ratolí

Challenge 2

Solució al repte 2

Solució 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.

Crear clons d'asteroid cada 2 segons

  • 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.

Posicionar l'asteroid a l'atzar

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_.

Moviment de l'asteroid

Repte 3: fes que l’objecte Asteroid s’amagui a l’inici i només es mostri al crear-se la còpia

Challenge 3

Solució al repte 3

Solució 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.

Fi de joc, envian't missatge i amagant

  • 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!

Game Over

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).

Signada MicroBlocks 1

Signada MicroBlocks 2

Signada MicroBlocks 3

  • Un cop obert, cal ficar les credencials de la xarxa WiFi al bloc indicat.

Configurar wifi

Signada (Snap!)

  • A Snap! caldrà obrir la llibreria Signada (control remot per xarxa).  

Signada Snap! 1

Signada Snap! 2

  • Un cop oberrta, veurem que s’afegeixen uns quants blocs en algunes categories, per exemple a Moviment, So, Llapis, Sensors i Variables.

Signada Snap! 3

  • En el nostre cas ens interessa sobretot els blocs de les dues últimes categories.

Signada Snap! 4

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.

Connexió amb la placa 1

Connexió amb la placa 2

Si la connexió a estat correcta, la pantalla cambiarà mostrant el text “Connected.”.

Connexió amb la placa 3

També podem comprovar l’estat de la connexió a Snap! mitjançant el bloc connectat.

Connexió amb la placa 4

  • 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!
Aquesta activitat forma part del Curs del Citilab. Fes-li una ullada!

⬅️ Activitat anterior

CC-BY-SA

© by Citilab Edutec 2019-2022.
This work is licensed under a CC-BY-SA 4.0 license.