L’intelligenza artificiale ChatGPT di OpenAI è in grado di scrivere un programma in BASIC per il Commodore 64?
Proviamo!
In questo video breve, ho registrato i primi tentativi. Ho richiesto due programmi in BASIC per il Commodore 64: un ciclo FOR e, poi, anche un programma più complesso.
Il risultato è stato ottimo, anche se ho riscontrato un paio di errori nel programma più complesso: il gioco “sasso, carta, forbice”. La scelta del secondo programma (“sasso, carta, forbice”) è stata a discrezione dell’intelligenza artificiale Chat GPT-3.
Ripetiamo l’esperimento: chiediamo dei programmi in BASIC all’intelligenza artificiale
Dalla pagina principale di ChatGPT, richiediamo un programma in BASIC per il Commodore 64, che contenga un ciclo FOR. Anche se io richiedo il programma utilizzando la lingua inglese, è possibile utilizzare anche la propria lingua nativa.
Per sapere come utilizzare ChatGPT, potete fare riferimento a questo articolo.
Il listato del programma è il seguente, molto semplice.
10 FOR I = 1 TO 10 20 PRINT I 30 NEXT I 40 END
In sé, il programma funziona bene e non ha problemi. E’ superflua la riga 40, dato che il programma sarebbe terminato ugualmente, anche senza l’istruzione END. Vediamo l’esecuzione del programma sull’emulatore VICE per Commodore 64.
Programma in BASIC: “sasso, carta, forbice”
Per complicare un po’ la vita all’intelligenza artificiale Chat GPT di Open AI, ho richiesto un programma più complesso. Il primo tentativo, è quello che abbiamo visto nel video breve. Non funzionava immediatamente. Successivamente, ho riprovato a chiedere il programma del gioco “sasso, carta, forbice”. In questo caso, il programma funziona senza problemi.
Il listato del programma è il seguente:
10 PRINT "ROCK, PAPER, SCISSORS!" 20 INPUT "YOUR CHOICE (R/P/S)"; A$ 30 IF A$ = "R" THEN PRINT "ROCK": GOTO 60 40 IF A$ = "P" THEN PRINT "PAPER": GOTO 60 50 IF A$ = "S" THEN PRINT "SCISSORS": GOTO 60 55 PRINT "INVALID CHOICE, TRY AGAIN" 56 GOTO 20 60 REM Computer's choice 70 B = INT(RND(1)*3) 80 IF B = 0 THEN PRINT "COMPUTER CHOSE ROCK" 90 IF B = 1 THEN PRINT "COMPUTER CHOSE PAPER" 100 IF B = 2 THEN PRINT "COMPUTER CHOSE SCISSORS" 110 REM Determine the winner 120 IF A$ = "R" AND B = 0 THEN PRINT "TIE": GOTO 150 130 IF A$ = "R" AND B = 1 THEN PRINT "COMPUTER WINS": GOTO 150 140 IF A$ = "R" AND B = 2 THEN PRINT "YOU WIN": GOTO 150 150 IF A$ = "P" AND B = 0 THEN PRINT "YOU WIN": GOTO 180 160 IF A$ = "P" AND B = 1 THEN PRINT "TIE": GOTO 180 170 IF A$ = "P" AND B = 2 THEN PRINT "COMPUTER WINS": GOTO 180 180 IF A$ = "S" AND B = 0 THEN PRINT "COMPUTER WINS": GOTO 210 190 IF A$ = "S" AND B = 1 THEN PRINT "YOU WIN": GOTO 210 200 IF A$ = "S" AND B = 2 THEN PRINT "TIE": GOTO 210 210 END
Il programma è molto interessante, anche perché è stato generato completamente dall’intelligenza artificiale. A cosa serviranno i programmatori, in futuro?
A parte la considerazione già fatta relativa all’istruzione END, manca il comando per resettare il generatore di numeri casuali. Questo comando c’era nella prima versione del programma, vista nel video breve. Era errato, ma c’era. In questa seconda versione, manca proprio.
Vediamo l’esecuzione del programma sull’emulatore VICE per Commodore 64.
Vi sono piaciuti questi esperimenti di intelligenza artificiale abbinati al Commodore 64? Per altri contenuti, potete iscrivervi al canale YouTube e attivare la campanella delle notifiche.