Rivista: Commodore Computer Club (IT) – N.ro: 14 / ottobre 1984 – Trascrizione: David La Monaca
Dopo la versione per Commodore 64, pubblichiamo il listato relativo al fratello minore di casa Commodore, il Vic-20 inespanso. Anche il file BASIC .prg relativo alla versione Vic-20 può considerarsi, alla data in cui scriviamo, una sorta di “inedito” in Rete.
Numero Fantasma per Vic-20 è ovviamente molto simile alla versione per C64. Le uniche differenze riguardano le limitazioni di dimensioni dello schermo a caratteri, il ridotto numero di colori disponibili e la mancanza degli sprite che, nella versione C64, servono a nascondere le coppie di numeri da usare per raggiungere il numero target da indovinare tramite l’indicazione della coppia di cifre da A a D e l’operazione aritmetica da effettuare. In questa versione, dopo 5 secondi le coppie di cifre di colore bianco su fondo nero scompariranno dopo il cambio di colore dello sfondo che passa proprio al bianco. Altra differenza è che il numero delle coppie di cifre diminuisce da 5 a 4, ma lo schema di gioco resta il medesimo e così anche l’interesse verso la sfida matematica proposta.
N.B.: alcune piccole modifiche sono state apportate al listato originale comparso sulla rivista CCC n. 14, in particolare ad un paio di colori delle scritte che guidano il giocatore durante le diverse fasi della sessione di gioco. I messaggi sullo schermo risultavano poco leggibili a causa dei colori originali che offrivano un basso contrasto soprattutto rispetto al colore dello sfondo.
Armatevi dunque delle vostre capacità mnemoniche e di calcolo per affrontare anche su Vic-20 questo piccolo brain game dal sapore antico! 🙂
Download link: nfvic.prg

Titolo: Numero fantasma
Piattaforma: Vic-20
Genere: Gioco di abilità
Linguaggio: BASIC V2
Autore versione originale: Giovanni Bellù
Pubblicazione: Commodore Computer Club n. 14, ottobre 1984
Anno: 1984
Digitazione: David La Monaca
Anno: 2026 (marzo)
Download: file .prg
Note: –
Qui di seguito trovate il codice in linguaggio BASIC da copiare sul vostro Commodore VIC-20 originale oppure su un emulatore. Per PC Windows 10/11 suggeriamo VICE con il supporto dell’editor e compilatore CBM Prg Studio.
Di seguito le istruzioni per caricare il listato sull’emulatore VICE:
– Copiare il listato qui sotto e incollatelo in CBM Prg Studio.
– I codici dei caratteri speciali presenti nel listato saranno trattati da CBM Prg Studio e convertiti nei corrispondenti simboli del BASIC V2.
– Selezionare Generate .prg (current file) per ottenere il file programma con estensione .prg (ad es. nf-vic.prg)
– Lanciare l’emulatore VICE e dal menu File > Smart attach… > nf-vic.prg
Buon divertimento!
Attenzione – Nel listato i caratteri ‘>’ e ‘<‘ potrebbero essere stati sostituiti dai rispettivi codici di encoding HTML ‘>’ e ‘<’. Nel caso siano presenti, sostituite questi valori nel listato prima di caricarlo nell’emulatore.
Download link: nfvic.prg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77 100 rem
110 rem numero fantasma versione vic
120 rem
130 rem
140 rem giovanni bellu'
150 rem
160 rem via giardini 20 seregno (mi)
170 rem
180 rem tel. 0362/239580
190 rem
200 rem type-in & testing by DLM/RMW
210 rem cancella video
220 print"{clear}"
230 rem sfondo nero
240 poke36879,8
250 dima$(5),b$(9),a(5,2)
260 a$(1)="{home}{down*7}"
270 fork=2to4:a$(k)=a$(k-1)+"{right*6}":next
280 fork=0to9:b$(k)=right$(str$(k),1):next
290 fork=1to4:printa$(k)"{green}{down*2}{right}"chr$(k+64):next
300 deffna(a)=int(rnd(1)*9+1)
310 deffnb(a)=int(rnd(1)*a+1)
320 print"{home}{cyan}{reverse on} allenati a calcolare a mente {white}"
330 fork=1to4:forj=1to2:a(k,j)=fna(k):next:next
340 p$="{home}":fork=1to16:p$=p$+"{down}":next
350 fork=1to4
360 printa$(k)b$(a(k,1))" "b$(a(k,2))
370 next
380 fork=1to5000:next
390 poke36879,24
400 printp$" {purple}{reverse on} numero target: ";
410 a=4:x=fnb(a):y=fnb(a)
420 if y=1 then goto 470
430 if y=2 then goto 500
440 if y=3 then goto 530
450 if y=4 then goto 560
460 print"{reverse on} errore ":end
470 rem somma
480 n=a(x,1)+a(x,2)
490 d$="+":goto590
500 rem differenza
510 n=a(x,1)-a(x,2)
520 d$="-":goto590
530 rem moltiplicazione
540 n=a(x,1)*a(x,2)
550 d$="*":goto590
560 rem divisione
570 n=a(x,1)/a(x,2)
580 d$="/":goto590
590 printn
600 printp$"{down*2}{blue} {reverse on} indovina :";
610 geta$:ifa$<"a"ora$>"e"then610
620 b=asc(a$)-64
630 printa$;" ";
640 geta$:ifa$=""then640
650 ifa$="+"then700
660 ifa$="-"then720
670 ifa$="*"then740
680 ifa$="/"then760
690 goto640
700 t=a(b,1)+a(b,2)
710 goto770
720 t=a(b,1)-a(b,2)
730 goto770
740 t=a(b,1)*a(b,2)
750 goto770
760 t=a(b,1)/a(b,2)
770 printa$;" ="t
780 ift=nthenprintp$"{down*2} {yellow}{reverse on} indovinato !!":goto810
790 printp$"{down*2} {yellow}{reverse on} sbagliato !!"
800 print" una soluzione era : "chr$(x+64)" "d$" ="n
810 poke36879,8
820 print"{down} {reverse on}{white} vuoi riprovare ?"
830 geta$:ifa$=""then830
840 ifa$="s"thenrun
850 print"{clear}{reverse off}"
860 rem giovanni bellu' software vic 1984
