RUN – Gennaio 1984 – Numero 1
Poteva mai mancare il mitico VIC 20 sulla nostra rubrica RetroLiPS? Certo che no! Ecco quindi un simpatico gioco per aggiungere questa macchina al target dei listati preservati. 🙂
Il listato che andiamo a presentarvi proviene dalla rivista RUN – The Commodore 64 & VIC-20 Magazine numero 1 di Gennaio 1984. La rivista era pubblicata in U.S.A., Canada e U.K. dalla IDGC/I.
Il tiro a segno era e rimane una gara molto popolare. Mette alla prova la coordinazione occhio-mano contro i capricci di bersagli che si muovono a caso.
Alcuni dei primi giochi per computer erano adattamenti di vari giochi di tiro al bersaglio. A volte l’avversario era un video cowboy.
Target Shoot offre un bersaglio in rapido movimento. Una scatola si muove nella parte superiore dello schermo da sinistra a destra. A ogni passaggio scende sempre più in basso, finché il bersaglio non entra in collisione con la vostra nave nella parte inferiore dello schermo.
Con il joystick è possibile muovere la nave da un lato all’altro, tenendo il passo con il bersaglio. Poi, al momento giusto, premendo il pulsante di fuoco si rilascia un missile.
Link alla versione per Commodore 64: Target Shoot per C64
![](https://www.retromagazine.net/wp-content/uploads/2024/03/ts1.png)
Titolo: Target Shoot
Piattaforma: VIC 20
Linguaggio: CBM Basic V2
Versione originale: David Busch
Pubblicazione: RUN – Gennaio 1984 – Numero 1
Anno: 1984
Trascrizione listato: Francesco Fiorentini
Anno: 2024
![](https://www.retromagazine.net/wp-content/uploads/2024/03/ts2.png)
Istruzioni
Usa il joystick per spostare a destra ed a sinistra la base sulla parte inferiore dello schermo e per guidare la tua freccia (puoi controllarne la traiettoria).
Cerca di ottenere il maggior numero di centri possibile prima che il bersaglio raggiunga il fondo.
![](https://www.retromagazine.net/wp-content/uploads/2024/03/ts3.png)
Nota bene: Il listato é stato recuperato dalla rivista correggendo manualmente i key code per essere utilizzati all’interno del CBM prg Studio.
Attenzione – Ci siamo resi conto che nel listato i caratteri ‘>’ e ‘<‘ potrebbero venir sostituiti dai rispettivi encoding html ‘>’ e ‘<’. Nel caso, sostituite questi valori direttamente su CBM prg Studio.
Listato: Target Shoot – VIC 20 – CBM Basic V2
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109 1 rem vic-20 version
10 rem *********************
20 rem * *
30 rem * target shoot *
40 rem * *
50 rem *********************
60 print"{clear}{down*2}"
70 printtab(4)"{reverse on}{red}target shoot{down*2}"
80 printtab(1)"use joystick to move"
90 printtab(1)"your base on bottom"
100 printtab(1)"of screen, and to "
110 printtab(1)"steer your arrow.try"
120 printtab(1)"to get as many hits"
130 printtab(1)"as possible before"
140 printtab(1)"target reaches bottom{down*2}"
150 printtab(6)"{reverse on}{red}hit any key"
160 get a$:if a$ = "" goto 160
170 poke36879,104
180 print"{clear}"
190 df=30720
200 white=1:cyan=3:blue=6
210 rspace=160
220 arrow=30
230 space=32
240 cscreen=37888+4*(peek(36866)and128):b1=cscreen
250 car=4*(peek(36866)and128)+64*(peek(36869)and120):b=car:e=car+484
260 df=cscreen-car
270 dd=37154
280 pa=37137
290 pb=37152
300 poke 37139,0
310 goto 390
320 pokedd,127
330 s3=-((peek(pb)and128)=0)
340 poke dd,255
350 p=peek(pa)
360 s2=((pand16)=0)
370 fr=-((pand32)=0)
380 return
390 print"{clear}"
400 sh=cscreen
410 po=e
420 hits=0:balls=0
430 balls=0
440 gosub320
450 if sh-df>po goto 870
460 if s3=0 and s2=0 then goto 530
470 if f2=1 then n1=n1+s2+s3:goto530
480 if s3=1 then po=po+1:if po>e+22thenpo=e+22
490 if s2=-1 then po=po-1:if po<ethenpo=e
500 if s2=-1 goto 520
510 poke po,65:pokepo-1,32:goto530
520 poke po,65:pokepo+1,32
530 sh=sh+1
540 iff2=0 and fr=1 then fl=1: le=50 :gosub1020
550 if flag=1thengosub620
560 if f2=1thengosub670
570 poke sh,cyan
580 poke sh-df,rspace
590 poke sh-1,blue
600 pokesh-df-1,32
610 goto 440
620 n1=po-22:f2=1
630 fl=0
640 poke n1,arrow
650 n1=n1-22
660 return
670 h=peek(n1)
680 ifh=81then gosub 1020;goto 700
690 if h<>space then gosub770
700 poke n1,arrow
710 poken1+22,space
720 poken1+df,white
730 if n1<car+22 then f2=0
740 n1=n1-22
750 poke n1+22,space
760 return
770 h=peek(n1):ifh=81 then return
780 for n2=1 to 50
790 gosub1020
800 poke36879,25
810 poke36879,104
820 next n2
830 poke36879,104
840 f2=0
850 hits=hits+1
860 return
870 poke 7910,81
880 poke 38630,4
890 print"{clear}"
900 print"{yellow}{Q*22}"
910 print" {white}game over"
920 print"{yellow}{Q*22}{down*3}"
930 print" hits: ";hits
940 print"{down} score :";hits
950 if hits>hs thenhi=hits:print"{green}{down}new high score! {black}":hs=hits
960 print"{down} high:";hs
970 print"{down} {reverse on}{yellow}play again?"
980 get a$:if a$="" goto980
990 if a$="n"then end
1000 print"{clear}":goto390
1010 goto 390
1020 poke 36878,15
1030 poke 36876,255
1040 for g1= 1 to le
1050 next g1
1060 poke 36878,0
1070 le=0
1080 return
2 thoughts on “Target Shoot – VIC20 – CBM Basic V2”