Pedra-paper-tisora
Aquesta activitat consisteix a fer una versió del clàssic joc pedra-paper-tisora programada amb Microblocks i amb la placa micro:bit.
Es pot trobar també als exemples de l'entorn de Microblocks. Només cal polsar el botó "Open", seleccionar l'opció "Examples", després "[ ] Games" i, un cop a "[ ] Games", clicar sobre l'exemple "Rock-paper-scissors-shake" i al botó "Okay".
Acceleròmetre
Per activar l’element es fa servir un moviment de la placa que es detecta amb l’accelerómetre incorporat. A la categoria “input” es poden trobar tres blocs que retornen el valor de la inclinació de la placa en cadascun dels tres eixos x, y i z:Per comprovar el seu funcionament es pot polsar per exemple a “inclinació x”. Si la placa està en un lloc pla el resultat serà 0. Cal clicar a sobre del bloc cada vegada que es vulgui que doni un nou resultat. És a dir, que per molt que migui o sacsegi la placa, el bloc per si mateix no em va dient en temps real el valor de la inclinació. Per tant, caldria que el vagi clicant o, altrament, programar-lo per a que per sempre em digui el valor de la inclinació, per exemple, x. Fixa't que, si gires la placa suament, aquesta pren valors entre -50 i +50, sent el valor 0 quan està centrada. En canvi, en sacsejar-la, els valors assolits són molt més grans, propers al 100.El mateix passarà amb la “inclinació y” i un valor de 50 per la “inclinació z” (l'acceleració de la gravetat no perdona!)
Condició matemàtica
Per determinar si en fet un moviment amb la placa és necessari un bloc condicional que es pot trobar a la categoria “math”. Amb uns quants experiments, es pot establir que si la “inclinació z” és més gran que 75 hem sacsejat la placa.
Elements a la pantalla
Només queda introduir aquesta condició dintre d’un "per sempre" amb un bloc de comparació o amb un bloc tipus “Quan …”. Per exemple dibuixar les tisores si es sacseja la placa:
Programa final
Gairebé ja està. Només resta tenir preparat un dibuix per cada element i escollir una de les tres possibilitats a l’atzar en el moment de detectar el moviment. Per fer-ho s’utilitza el bloc “nombre a l’atzar entre 1 i 3” de la categoría “Math”. Aquest valor s’ha de guardar a una variable i en funció de quin sigui activar una o altre pantalla usant el bloc "Si...". Per fer servir una variable cal anar a la categoria “Variables” i en aquest cas amb una variable local (només pel bloc de codi que s`executa) n’hi ha prou:
Per posar en marxa el codi cal polsar el botó "Start" que es troba a la cantonada superior dreta de la pantalla a l'ordinador, a l'entorn MicroBlocks. Noteu que els blocs s'il·luminen externament amb color verd claret per indicar que s'estan executant.Fixa't que clicant a sobre de la fletxeta negra del bloc "Si...", pots modificar aquest per a que compari diferents condicions:
La diferència entre les dues opcions és que a la primera sempre farà les tres comparacions mentre que a la segona si, per exemple és pedra, ja no farà les dues següents. És una bona pràctica a fer quan es pugui, com ocorre en aquest cas. No ho seria si poguessin complir-se dues condicions alhora. Així, el programa final queda: De fet, no caldria ni posar l'última comparació: "Element=3", dins del "si...", ja que és evident que si és un nombre entre u i tres i no és n1 u, ni dos, serà tres. Microblocks permet deixar aquesta condició sense bloc, si aquest no cal. Així: Ja està! Per poder desconnectar la placa de l'ordinador i que funcioni de forma autònoma si la vull portar a la butxaca, per exemple, és necessari connectar-hi una bateria. Ara ja pots jugar contra la màquina: tens una mà per a sacsejar la placa i una altra per treure tu pedra, paper o tisores... o altrament pots jugar amb la teva micro:bit amb algú que també tingui la seva programada amb aquest joc, què prefereixes?Ara que has fet aquest exemple, com faries un dau que tregui a l'atzar un nombre entre 1 i 6?
O, si prefereixes, Com faries la versió pedra-paper-tisora-llangardaix-Spock?
I, tot això, com ho faries amb la placa ED1?