Rivista: PC Personal Computer Club – Anno: 1983, Novembre – Numero 6 – Trascrizione: Francesco Fiorentini
Continuano i listati ripresi dalla rivista PC Personal Computer Club, questa volta si tratta del numero 6: https://www.retromagazine.net/pc-personal-computer-club-anno-i-numero-6
E dopo il Mini Data Base presentato ieri, e’ il turno di un simpatico gioco chiamato Dardo.
Lo scopo del gioco e’ quello di colpire una serie di bersagli posizionato ad una distanza direttamente proporzionale alla difficolta’ del gioco: piu’ il livello di difficolta’ aumento, piu’ aumenta la distanza del bersaglio dal nostro dardo. Allo stesso modo aumenta anche la velocita’ del cursore, rendendo il gioco sempre piu’ difficile. Si comincia dal livello 5, una volta completato, potrete scegliere voi quale livello affrontare dopo.
Questo gioco e’ il classico esempio di come un’idea ben realizzata non abbia bisogno di orpelli grafici per risultare divertente. La semplice interfaccia a caratteri del Basic del TRS 80 e’ sufficiente a catturare la vostra attenzione per qualche partia. Provare per credere!

Titolo: Dardo o Darts
Piattaforma: TRS 80
Linguaggio: Basic
Versione originale: Giulio Cavedali
Pubblicazione: PC Personal Computer Club
Anno: 1983, Novembre
Trascrizione: Francesco Fiorentini
Anno: 2026
Download: N/A
Note: N/A

Istruzioni
Colpite tutti e 7 i bersgali per passare ad un nuovo livello.
Premere <barra spazio> per lanciare il dardo!
Qui di seguito trovate il codice da copiare sul vostro TRS 80 oppure su un emulatore, noi suggeriamo trs80gp.
Istruzioni per copiare il file nell’emulatore:
1 – avviate l’emulatore trs80gp
2 – assicuratevi di aver selezionato MODEL I in File – Change Model
3 – assicuratevi di avere il disco TRDOS23 per avviare il DOS del TRS 80
4 – una volta avviato il DOS scrivete BASIC per lanciare l’interprete Basic
5 – battete invio alla richieste del numero dei file e della memoria (non ci servono per il momento)
6 – incollate il codice di cui sotto
Attenzione – Ci siamo resi conto che nel listato i caratteri ‘>’ e ‘<‘ potrebbero venir sostituiti dai rispettivi encoding html ‘>’ e ‘<’. Nel caso, sostituite questi valori nel listato prima di copiarlo sull’emulatore.
Listato: Dardo – TRS 80 – Basic
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 10 REM DARTS
20 CLS:CLEAR200:S$=STRING$(32,42):PRINTCHR$(23):PRINTS$:PRINT"************* DARDO ************":PRINTS$:PRINT"********************************":PRINTS$:PRINT"************* 1983 *************":PRINTS$:FORI=1TO1700:NEXT
30 CLS:PRINT@333,"ISTRUZIONI ? (S/N)"
40 K$=INKEY$:IFK$="N"THEN340ELSEIFK$<>"S"THEN40
50 CLS:PRINT"IL GIOCO DEL DARDO CONSISTE NEL COLPIRE I 7 BERSAGLI"
60 PRINT"POSTI NELLA PARTE DESTRA DELLO SCHERMO."
70 PRINT"IL DARDO SI MUOVE DALL'ALTO IN BASSO NELLA PARTE SINISTRA."
80 PRINT"LO SI LANCIA PREMENDO (BARRA SPAZIO)."
90 PRINT"CI SONO 9 LIVELLI DI DIFFICOLTA' : AD OGNI LIVELLO AUMENTA"
100 PRINT"LA VELOCITA' DEL DARDO E LA DISTANZA DEI BERSAGLI"
110 PRINT"PUOI INIZIARE UN NUOVO GIOCO PREMENDO I TASTI DEL LIVELLO":PRINT"(1-9) : SE PREMI 0 FINISCI IL GIOCO"
120 PRINT"IL LIVELLO DI DIFFICOLTA' INIZIALE E' POSTO A 5"
130 PRINT:PRINT"PREMI NEW LINE PER INIZIARE"
140 IFINKEY$<>CHR$(13)THEN140
340 X=53
350 CLS
360 CLS:PRINT@0," NUOVO GIOCO - PREMI <BARRA SPAZIO> PER LANCIARE IL DARDO";
400 RESET(0,40)
410 REM L=TENTATIVI X= COORDINATA DA SIN, W= LIVELLO
500 L=0:BS=0
520 W=X-48
540 X=(X-48)*14
550 K1=RND(6)+2:IFK1/2<>INT(K1/2)THEN550
580 FORY=K1TOK1+32STEP5
600 SET(X,Y)
620 NEXT
640 REM Z=VELOCITA' DARDO
660 Z=INT(126/X)
680 REM LOOP MOVIMENTO DARDO DA ALTO IN BASSO
700 FORY=2TO47:X9=1
740 IFZ<2THEN800
760 FORA=1TO3*Z
780 NEXTA
800 SET(1,Y)
820 RESET(1,Y-1)
840 X$=INKEY$:IFX$<>""THEN920
860 NEXT
880 RESET(1,Y-1):IFRND(0)<.5THEN900
881 FORY=46TO2STEP-1:X9=2:IFZ<2THEN883
882 FORA=1TO3*Z:NEXTA
883 SET(1,Y)
884 RESET(1,Y+1):X$=INKEY$:IFX$<>""THEN920
885 NEXT:RESET(1,Y+1):IFRND(0)<.5THEN881
900 GOTO700
920 X1=ASC(X$)
960 IFX1=48THENENDELSEIFX1>48 AND X1<58 THENX=X1:GOTO360
965 PRINT@0,CHR$(30);
970 IFX1<>32THENS860
980 L=L+1
1000 RESET(1,43)
1010 PRINT@0," TENTATIVI :";L;" AL LIVELLO N.";W;" BERSAGLI :";BS;
1040 RESET(0,40)
1080 FORJ=1TOX-2STEP2
1100 SET(J+1,Y)
1120 RESET(J,Y)
1140 NEXTJ
1145 IFPOINT(J+1,Y)<0ORPOINT(J+2,Y)<0THENBS=BS+1:RESET(J+1,Y):RESET(J+2,Y)
1150 PRINT@0," TENTATIVI :";L;" AL LIVELLO N.";W;" BERSAGLI :";BS;
1160 REM CANCELLA DARDO
1180 RESET(J-1,Y)
1200 FORJ=X-1 TO 1 STEP -2
1220 RESET(J-1,Y)
1240 NEXTJ
1250 IFBS<7 THEN1300 ELSEPRINT@128, " HAI VINTO !!! SCEGLI IL LIVELLO (1-9! 0 = FINE)";
1260 K$=INKEY$:IFK$=""THEN1260 ELSEIFK$="0"THENENDELSEIFVAL(K$)<1ORVAL(K$)>9THEN1260
1270 X1=ASC(K$):GOTO960
1300 IFX9=1 THENY=47:GOTO860 ELSEY=2:GOTO885
