Scratch: robot autonomo (line follower)

Il progettino della domenica è un robottino in grado di seguire una traccia. Scopo del gioco: per ogni percorso, trovare il giusto compromesso tra angolo, velocità, dimensioni e posizione dei sensori per battere il record su 10 giri, senza uscire di strada.

Durante il Devoxx4kids di Lugano ho usato una versione molto semplificata; questa invece ha un sacco di possibili impostazioni:

  • Scegliere il percorso: tasti da 1 a 5
  • Modificare la velocità: frecce SU/GIU
  • Modificare l’angolo di sterzata: frecce SINISTRA/DESTRA
  • Attivare/disattivare la traccia: tasto P
  • Visualizzare i record: tasto R
  • Partenza: SPAZIO

Premendo spazio il robot parte e compie 10 giri. Se riesce a compierli in tempo record per il percorso corrente, il progetto registra e mostra tempo, velocità e angolo di sterzata che hanno prodotto quel risultato.

Sviluppando questo progetto mi sono scontrato con una seria lacuna di Scratch: la gestione degli array. Dovendo creare una tabella di 3 colonne per 5 righe, me la sono cavata creando 3 liste da 5 elementi ognuna, ma non sono molto contento.