Target Shoot – Commodore 64 – Basic V2

RUN – Gennaio 1984 – Numero 1

Potevamo forse esimerci dal proporre il listato di Target Shoot per il Commodore 64? Ovviamente la domanda é retorica e la risposta é, di conseguenza, scontata. Mi sono quindi messo con impegno a digitare il secondo listato dell’articolo e, ecco a voi la versione per C64!

Anche questo listato, come quello del VIC 20 che trovate qui, proviene dalla rivista RUN – The Commodore 64 & VIC-20 Magazine numero 1 di Gennaio 1984, rivista 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.

Ringrazio l’amico Leonardo Boselli per aver citato RetroMagazine World e questo articolo nel suo video: https://www.youtube.com/watch?v=B-7QOirdSN0

Titolo: Target Shoot
Piattaforma: Commodore 64
Linguaggio: Basic V2
Versione originale: David Busch
Pubblicazione: RUN – Gennaio 1984 – Numero 1
Anno: 1984
Trascrizione listato: Francesco Fiorentini
Anno: 2024

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.

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 ‘&gt’ e ‘&lt’. Nel caso, sostituite questi valori direttamente su CBM prg Studio.

Listato: Target Shoot – Commodore 64 – 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
10 rem **************
20 rem *
30 rem * target shoot *
40 rem * c-64
50 rem ****************
60 volume=54296
70 vce=54273
80 wave=54276
90 attack=54277
100 sus=54278
110 poke 53281,14
120 for n=1 to 10
130 read r:jv(n)=r
140 next n
150 data 0,0,0,-1,0,0,0,1,0,0
160 print"{clear}{down*2}"
170 printtab(12)"{reverse on}{red}target shoot{down*2}"
180 printtab(8)"use joystick to move"
190 printtab(8)"your base on bottom"
200 printtab(8)"of screen, and to "
210 printtab(8)"steer your arrow. try"
220 printtab(8)"to get as many hits"
230 printtab(8)"as possible before"
240 printtab(8)"target reaches bottom{down*2} "
250 printtab(8)"{down*2}plug joystick into port"
260 printtab(8)"closest to power switch.{down*2}"
270 printtab(12)"{reverse on}{red}hit any key"
280 get a$:if a$="" goto 280
290 poke 53280,0:poke53281,6
300 print"{clear}"
310 white=1:cyan=3:blue=6
320 rspace=160
330 arrow=30
340 space=32
350 cscreen=55296:b1=cscreen
360 car=1024:b=car:e=1983
370 df=cscreen-car
380 goto 430
390 jv=peek(56320)
400 fr=jvand16
410 jv=15-(jvand15)
420 return
430 print"{clear}"
440 sh=cscreen
450 po=e+20
460 hits=0
470 f2=0
480 gosub390
490 if sh-df>po goto 910
500 move=jv(jv)
510 if f2 = 1 then n1=n1+move:goto560
520 po=po+move:if po>e+40 then po=e+40
530 if po<ethenpo=e
540 poke po,65:pokepo-1,32:poke po+1,32
550 poke po+df,1
560 sh=sh+1
570 iff2=0 and fr=0thenfl=1:le=50 :gosub1030
580 if flag=1thengosub650
590 if f2=1thengosub700
600 poke sh,cyan
610 poke sh-df,rspace
620 poke sh-1,blue
630 poke sh-df-1,32
640 goto 480
650 n1=po-40:f2=1
660 fl=0
670 poke n1,arrow
680 n1=n1-40
690 return
700 h=peek(n1)
710 ifh=81then gosub 1030:goto 730
720 if h<>spacethen gosub 800
730 poke n1,arrow
740 poke n1+40,space
750 poke n1+df,white
760 if n1<car+40 then f2=0
770 n1=n1-40
780 poke n1+40,space
790 return
800 h=peek(n1):ifh=81 then return
810 for n2=l to 50
820 gosub 1030
830 poke 53280,1
840 poke 53280,0
850 next n2
860 poke 53280,0
870 poke 53281,6
880 f2=0
890 hits=hits+1
900 return
910 print"{clear}"
920 print"{yellow}  QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ"
930 printtab(12)"{white}{down}game over{down}"
940 print"{yellow}  QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ"
950 printtab(8)"{down}{down}hits: ";hits
960 printtab(8)"{down}score:";hits
970 if hits>hsthenhi=hits:printtab(8)"{down}{green}     new high score!{black}":hs=hits
980 printtab(8)"{down}high: ";hs
990 printtab(12)"{down}{reverse on}{yellow}  play again?  "
1000 get a$:if a$="" goto1000
1010 ifa$="n"then end
1020 print"{clear}" :goto430
1030 poke volume,15
1040 poke wave,33
1050 poke attack,128
1060 poke sus,128
1070 poke vce,40
1080 poke volume,0
1090 return

Share

One thought on “Target Shoot – Commodore 64 – Basic V2

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.