Mastermind per LEGO Boost

In questo progetto vedremo come realizzare un gioco ispirato a Mastermind utilizzando i motori e i sensori del kit LEGO Boost.

Regole del gioco

L’obiettivo del gioco è indovinare una sequenza di tre colori, generata casualmente dal gioco.

Il giocatore prepara la propria ipotesi di sequenza di colori e la posiziona sul vassoio: il gioco legge i colori proposti dal giocatore, li confronta con la sequenza misteriosa e per ogni colore risponde mostrando una bandierina:

  • bandierina verde: il colore è nella posizione corretta
  • bandierina gialla: il colore è presente nella sequenza misteriosa, ma non è nella posizione corretta
  • nessuna bandierina: il colore non è presente nella sequenza misteriosa

In base alle risposte fornite dal gioco con le bandierine, il giocatore può modificare la propria ipotesi di sequenza di colori e proporla di nuovo al gioco, fino a scoprire la sequenza misteriosa corretta.

Come è costruito il gioco

Il gioco è costruito usando il kit LEGO Boost, usando i componenti:

  • MoveHub: l’unità centrale con le batterie, il processore e due motori che useremo per far muovere le due bandierine per le risposte del gioco
  • Sensore di colori: un sensore ottico in grado di riconoscere i colori delle tessere che il giocatore posiziona sul vassoio
  • Unità motore: un motore aggiuntivo che useremo per far muovere il vassoio su cui sono posizionate le tessere del giocatore, in modo che tutte passino una alla volta sotto al sensore di colori

Come funziona

In questo video si può vedere come si svolge il gioco:

Istruzioni di montaggio

Per montare il gioco, segui queste istruzioni dettagliate:

Il programma

Per programmare il gioco ho utilizzato la piattaforma Pybricks, un sistema per programmare i dispositivi SmartHub di LEGO in MicroPython.

A differenza dell’app LEGO Boost per iPad, Pybricks carica il codice direttamente sull’Hub, che quindi può funzionare autonomamente.

Sul repository GitHub del progetto puoi consultare e scaricare il codice MicroPython di Mastermind for LEGO Boost