Nel 1979 Christopher Morgan pubblica il primo programma in linguaggio BASIC in grado di indovinare una carta pensata. (1)  Tre anni più tardi la Commodore Business Machines inizierà a distribuire il Commodore 64, l’home computer più venduto nella storia dell’informatica (oltre 22 milioni di copie).

Immaginando un viaggio indietro nel tempo di 35 anni, ho ripreso in mano il mio primo computer e sviluppato per quell’ambiente un software “psichico”: Mentalismo su Commodore 64 è in grado di prevedere quale carta verrà scelta da un mazzo liberamente mescolato.

Per giocare:

1) scarica il file mesmer.zip ed estrai il programma mesmer.prg

2) vai a questo indirizzo

3) trascina il file nell’area indicata con “Drop your C64 file here to load & play!”.

Tieni a portata di mano alcune carte prese da un mazzo ben mescolato, segui le istruzioni che appariranno a video e lasciati mesmerizzare dal Commodore 64!

Dietro le quinte

La parte più impegnativa nello sviluppo del software è stata la realizzazione della schermata iniziale. Come all’epoca, ho dovuto ricondurre il logo del progetto Mesmer ai pochi quadrettoni disponibili sullo schermo del Commodore 64, utilizzando una griglia di 40 colonne e cercando – sui manuali degli Anni Ottanta – il codice di ciascuna casella.

Il software si basa su un’idea pubblicata da William T. Palchinas nel 1941 (2)  e sfrutta una conta chiamata in gergo down-under; il nome della conta deriva dal fatto che lo spettatore mette giù (down) la prima carta e porta la successiva sotto il mazzo (under) ripetutamente. Poiché nell’inglese colloquiale l’espressione “down-under” fa riferimento all’Australia, la distribuzione è anche chiamata “conta australiana”. Conoscendo la sequenza delle n carte di un mazzo, si può calcolare in anticipo in quale posizione si trova quella che resterà in mano alla fine. La formula si basa sulle prime potenze di 2. La posizione si calcola raddoppiando la differenza tra n e la più grande potenza tra quelle minori di n. Se si usa un mazzetto di nove carte (n = 9), tra le potenze minori di 9 (ovvero 1, 2, 4 e 8) la più grande è 8. Raddoppiando la differenza tra 9 e 8 (pari a 1) si ottiene 2: la carta finale sarà, dunque, quella in 2a posizione. Se il mazzetto è di 8 carte, non serve fare alcun calcolo perché il numero n è una potenza di 2; in quel caso la carta superstite sarà quella in n-esima posizione, ovvero l’ultima in fondo.

La formula matematica che consente di prevedere la carta che rimarrà in mano è contenuta in questa singola riga del codice sorgente (scarica):

870 N=2*(N-2^INT(LOG(N-1)/LOG(2)))

La riga sovrascrive il numero di carte N con quello della posizione della carta finale, calcolata usando la formula di Palchinas.

Fotografie

Sviluppato nel maggio 2018, l’effetto è stato presentato il 13 giugno 2018 nel corso dell’ottava lezione Mesmer al Circolo Amici della Magia di Torino.

Mariano Tomatis
Torino, 13 giugno 2018. Fotografia di Franco Giove.

Mariano Tomatis
Torino, 13 giugno 2018. Fotografia di Franco Giove.

Davide Brizio e Mariano Tomatis
Torino, 13 giugno 2018. Fotografia di Franco Giove.


Note

Tutti i post sono distribuiti con Licenza Creative Commons BY-NC-SA 4.0