Programmazione... su Minecraft? pt.1
- Francesco Scolz
- 13 feb
- Tempo di lettura: 3 min

Minecraft?
Si, proprio quel Minecraft!
Quel gioco fatto di cubi, dove l'unico scopo, è quello di non avere uno scopo
Puoi fare di tutto, proprio di tutto... forse troppo...
Ebbene sì, perchè oggi andremo a vedere come possiamo usare questo semplice videogioco per imparare le basi della programmazione e della logica
Pronti?
Ok, iniziamo con il definire l'unità base: il bit
Questo è come un interruttore, che può avere uno di questi due stati:
0 (o "spento")
1 (o "acceso")
Con una lista di bit, possiamo creare delle lunghe stringhe che rappresentano qualsiasi cosa, se decodificata bene
Per esempio, nel linguaggio dei computer, 01000001 codifica per la lettera "A"
Una frase come questa invece, sarebbe più una cosa come:
1010100110011100101011011101100100010111000110111000110000111001101001100111001001101100101101100110110000100100010110101100110111101010010111011011010101000111010000010111011101010000010101001010110010010001110110100110110111000001010000011100010110010001100111000000110000110000110110001100101010010110111000111101001010111010110111101101100110010110110110111010110110000110110110001001010111010110100001010110110011010110111101101011001100101010111011100110101100101010110110101010001010000000000100101101110111100011001101100111011101111011100111111010000111100111011
Ok, ma come fa questo ad essere più leggibile di semplici simboli?
Infatti, non lo è (per noi), ma lo è per i computer, che da una stringa di soli 8 numeri, possono identificare simboli univoci
Ok, e i numeri?
Qua la cosa è più complessa, ma anche più intelligente
Supponiamo di voler scrivere 43 con solo 0 e 1
Se vogliamo scriverlo come quarantatrè numeri 1 concatenati, questo sarebbe molto inefficente, perciò usiamo il metodo binario, che dice:
In una stringa di n numeri, l'n°esimo numero (partendo da destra), se 1, vale esattamente 2^(n-1) unità. I risultati vengono poi sommati per dare il numero finale
Quindi per esempio, 43 diventerebbe 00101011
Perchè: 2^7 · 0 + 2^6 · 0 + 2^5 · 1 + 2^4 · 0 + 2^3 · 1 + 2^2 · 0 + 2^1 · 1 + 2^0 · 1 = 43
Tutto quello che noi vediamo nel digitale è in qualche modo trasformato in stringhe di 0 e 1, facilmente capibili dalle macchine
Ci sono poi programmi che rendono questo codice leggibile anche a noi, come, non per ultimo, Minecraft stesso
Ok, e cosa centra questo videogioco con la programmazione?
In questo gioco, in cui la creatività regna sovrana, si dà il caso che siano stati aggiunti elementi con particolari proprietà (chiamati componenti redstone):
La polvere di redstone (o redstone) rappresenta un cavo elettrico
Il ripetitore rappresenta, beh, un ripetitore
Le leve rappresentano gli interruttori che troviamo in casa
E molti altri elementi (pistone, comparatore, torcia di redstone...)
Ok, ma perchè questo è importante?
Perchè, dati questi componenti, possiamo a tutti gli effetti, programmare un programma dentro un gioco!
Facciamo l'esempio dei gate condizionali, largamente utilizzati in elettronica
Questi permettono il passaggio di "corrente" solo quando una condizione è soddisfatta
Un AND gate a due input verosimilmente, permetterà il "passaggio" solo quando gli input saranno entrambi attivi (1 in binario)
Su Minecraft, questo può esser fatto in questa maniera:

Ma esistono anche altri gate: OR, NOT, XOR, NOR, NAND...
Bene...
Vorrei dirvi che questo sarà un episodio dei tanti
Ma tanto ormai mi conoscete, non durerò per molto...
Sappiate però che l'obiettivo di trasmettervi la mia passione rimane
Che sia la matematica, la fisica, l'ingegneria aerospaziale, o l'elettronica
Sarò sempre qua, per voi
Con questo quindi io vi saluto, sperando di esser stato abbastanza chiaro
Se avete domande non esitate a chiedere qua sotto
E come sempre ormai...
Al prossimo post
Sito 10/10