Penna e poligoni

 




Bentornati!

Tu , sì proprio tu che stai leggendo, hai mai utilizzato le estensioni di scratch? Oggi ne useremo una molto versatile e anche molto colorata 😜la penna, QUI invece troverai il tutorial per ricavare area e perimetro dei poligoni regolari 💪🏻.

Partiamo! Lasciamo il nostro gattino nello stage, che poverino viene sempre eliminato, e andiamo subito in basso a destra per aggiungere un nuovo personaggio per fargli compagnia, io ho scelto un simpatico granchietto. In basso a sinistra ma proprio in basso premiamo sul tasto aggiungi estensione che ci permetterà di accedere a tutta la lista delle estensioni, sceglieremo la penna.


L'idea

Lo scopo di questo mini progetto è quello di chiedere il numero di lati dell'eventuale figura geometrica e farla disegnare a scratch, come sempre vedremo solo le parti salienti per dare uno spunto e ti lascio la massima libertà di sperimentare e creare. 

👉 Qui troverete il progetto dove visionare il codice che ho usato e le varie personalizzazioni introdotte, ti aspetto nei commenti per eventuali dubbi, chiarimenti e proposte.

Introduciamo due variabili che ci serviranno durante il progetto e che potranno eventualmente ritornare utili per un'ampliamento futuro: NUMERO LATI e ANGOLO.

Spoiler, e se oltre a disegnare scratch riconoscesse anche la figura scrivendo o dicendo il nome del poligono realizzato ? O magari calcolasse area e perimetro 🙊

Il gattino

Molto semplice, il mio gattino fa da tramite e organizza il da farsi 😁saluta educatamente al click della bandierina verde e invia un messaggio LATI ( si li uso veramente tanto 😁) che mi permetterà sicuramente di chiedere , prelevando da sensori l'apposito blocco, il numero di lati e salvarli nella variabile omonima. Il blocco risposta mi permette di captare quello che la persona ha scritto nel box domanda attivato da chiedi e attendi, l'invio del messaggio DISEGNA attiverà il nostro amico granchio. L'utilizzo del primo messaggio LATI mi permette anche di ottimizzare il numero di blocchi e creare una procedura ripetibile e richiamabile in ogni fase del mio progetto.

Granchio geometra

Il nostro piccolo amico avrà invece il compito di disegnare con precisione la nostra figura geometrica e chissà magari in futuro calcolare qualcosa. Se proverete da soli o se avete già lavorato con gli spostamenti degli sprite o le rotazioni sicuramente vi sarete imbattuti in movimenti strani dei nostri personaggi, per esempio camminare a testa in giù 😁 Se ti serve ci sono vari tutorial su direzioni, spostamenti e animazioni con scratch all'interno del blog.

Io ho preferito non far girare il granchio durante il disegno quindi ho inserito sulla bandierina verde il comando non ruotare selezionabile premendo sulla scritta presente vicino alla spunta bianca del blocco usa stile di rotazione , i blocchi verdi sono quelli relativi alla penna e mi permettono di pulire la scena e alzare la penna . Pulire?? Alzare ? Eh sì perché questa estensione permette letteralmente si disegnare sullo stage ( quindi visivamente lo vedremo sotto un eventuale sprite , come se fosse un livello inferiore e lo sprite un livello superiore ) e il blocco pulisci ha la funzione del cancellino sulla lavagna ma ripulisce all'istante. Alzare e abbassare la penna rievoca il naturale movimento che facciamo quando usiamo la penna , se l'abbassiamo sul foglio scriveremo mentre alzandola eviteremo di lasciare il segno. Lo sprite che utilizza la penna muovendosi lascia un segno che può essere modificato nel colore e nello spessore, molto interessante è anche il comando timbra che come anticipa la parola crea una copia identica e statica ( non è come i cloni ) come se avessimo usato un timbro con l'immagine del nostro sprite.


La ricezione del messaggio DISEGNA attiva i comandi fondamentali per creare la figura geometrica e inizio sempre con posizionare correttamente gli sprite e settare eventuali parametri o variabili.

Direzione a 90 ( nel caso del granchio, voi controllerete quella dello sprite scelto o quella che vi piace utilizzare ) e posizione xy settate , questo mi permette anche di posizionarmi visivamente nel modo corretto, il numero di lati lo avevo salvato con il gattino quindi posso calcolare semplicemente il valore dell'angolo che servirà per  disegnare il poligono. Parliamo di poligoni regolari per semplificare ma con qualche accorgimento possiamo estendere a tutti.

Ad ogni giro pulisco il vecchio disegno e metto la penna giù per tracciare nuove linee e parte il ciclo visto che dovrò tracciare n-volte il lato della nostra figura, tante volte quanti sono i lati infatti numero lati inserito nel ciclo ci permetterà di automatizzare l'operazione.

Come creare la figura? Semplice, tracciamo il primo lato , modifichiamo la direzione di un angolo del valore calcolato precedentemente , nuovo lato e nuova rotazione , iteriamo fino a richiudere il nostro poligono, penna su e il gioco è fatto. Come anticipato la linea è creata dal movimento dello sprite quindi useremo tot passi per poter tracciare i vari lati, l'introduzione del cambio colore e l'attesa di 0.2 sec sono abbellimenti per godere meglio visivamente dell'operazione effettuata. Avrete sicuramente notato che il numero di passi da effettuare è definito da una strana divisione tra 500 e il numero di lati, questo per evitare che figure troppo grandi uscissero dallo stage e quindi riproporzionare il tutto in base al numero dei lati. 

Ti è piaciuto? Avevi già usato la penna? E tu come continueresti questo codice affinché si ritorni nuovamente alla scelta del numero dei lati ? Nel progetto trovi la mia soluzione ma prova a risolvere da solo 😁

Compiti per casa 

  • Come ricollegheresti la fine del codice del granchio con una nuova richiesta? 
  • Inserire la pronuncia del nome del poligono
  • Calcolo del perimetro 
  • Calcolo dell'area
Scherzo, sono solo spunti 👋
Raffaele



Commenti

Ciao, spero ti piaccia il blog. Se ti fa piacere qui puoi offrirmi un caffè!

Post popolari in questo blog

GOOGLE SCRIPT & KODULAR READ, WRITE, UPDATE, DELETE

Tu lo conosci THUNKABLE?