Target Shoot – Atari 8bit – Basic

Rivista: A.N.A.L.O.G. – Anno: 1981 – Trascrizione: Fiorentini Francesco

Vi ricordate del gioco Target Shoot che abbiamo pubblicato qualche settimana fa per il Commodore 64 e per il VIC 20? Ebbene, con il listato che troverete qui sotto potrete giocare a questo gioco anche con il vostro Atari 400/800, a patto che abbiate almeno 8K.

La versione per Atari 400/800 é peró decisamente piú accattivante delle controparti Commodore in quanto, oltre ad una grafica migliore, é accompagnata da effetti sonori che ne aumentano l’appeal.

Listato pubblicato sulla rivista A.N.A.L.O.G. di Maggio/Giugno 1981, rivista edita da MICHAEL J. DESCHENES LEE PAPPAS.

Titolo: Target Shoot
Piattaforma: Atari 8bit
Linguaggio: Basic
Versione originale: Steve Smith
Pubblicazione: A.N.A.L.O.G.
Numero: 3 – Maggio/Giugno
Anno: 1981
Trascrizione: Francesco Fiorentini
Anno: 2024
Download: N/A
Note: Attenzione, richiede almeno 8K.

Istruzioni
Joistick in porta 1 e buon divertimento!
Premete un tasto qualsiasi per avviare o interrompere l’esecuzione del programma quando vi sarete stufati.
Al termine del gioco vi verrá mostrato il numero dei bersagli ed il numero dei centri.

.

Qui di seguito trovate il codice da copiare sul vostro computer Atari ad 8 bit.
Il codice é pronto per essere copiato su un emulatore, consigliamo Altirra.

Di seguito riportiamo le istruzioni per copiare il listato sull’emulatore Altirra ed eseguire il gioco:
– lanciare l’emulatore Altirra
– avviare il Basic: File -> Boot Image... e selezionare ATARIBAS.ROM (se non l’avete potete cercarla qui)
– copiate il codice sotto riportato
– incollatelo nell’emulatore tramite la funzione: View -> Paste Text
– per velocizzare l’operazione di copia del codice potete usare la funzione: System -> Warp Speed
– terminata l’operazione di copia (disattivate il Warp nel caso, System -> Warp Speed)
– digitare RUN
Buon divertimento!

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 nel listato prima di copiarlo sull’emulatore.

Listato:  Target Shoot – Atari 8bit – 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
6 C0=0:C1=1:C2=C1+C1:C3=C2+C1:C4=C3+C1: C6=C4+C2:C8=C6+C2:C10=C8+C2:C15=C10+C4+C1:GRAPHICS C0:POKE 752,C1
7 ? :? :? :? "DEPRESS ANY KEY WHEN YOU WISH":? :? "TO START OR END GAME! ";:POKE 764,255
8 IF PEEK(764) =255 THEN 8
9 GRAPHICS C2:POKE 764,255
10 SETCOLOR C2,C0,C0:POKE 53279,C0
15 DIM W(91),A$(C1):TC=C0:TH=C0:G=C0
20 A=PEEK(106)-C8:POKE 54279,A:BASE=A*256:POKE 559,46:POKE 53277,C3
30 POKE 704,216:POKE 705,42:POKE 706,42
35 POKE 752,C1:PRINT
50 RESTORE :FOR W=C10 TO 89:READ A:W(W)=A:NEXT W
110 FOR G=BASE+641 TO BASE+768:POKE G,C0:NEXT G:G=BASE+745
120 POKE G,24:POKE G+C1,24:POKE G+C2,126:POKE G+C3,126
125 POKE G+C4,255:POKE G+C4+C1,255:POKE 53249, 140: G=140: GOTO 400
150 S=STICK(C0):IF S=C10+C1 THEN G=G-C4:IF G<50 THEN G=50
160 IF S=C6+C1 THEN G=G+C4:IF G>200 THEN G=200
170 POKE 53249,G:POKE 53250,G-C3:RETURN
400 D=RND(C0)*C10:GOSUB 500:FOR F=BASE+769 TO BASE+896:POKE F,C0:NEXT F
405 POKE BASE+873,C3:POKE 53250,G-C3:C=BASE+873:N=C0:POKE 53278,C0:HIT=C0
407 POKE 77,C0:TC=TC+C1:IF PEEK(764)<255 THEN 3000
410 IF D<C6 THEN FOR PASS=30 TO 215 STEP C4
420 IF D>=C6 THEN FOR PASS=215 TO 30 STEP -C4
430 POKE 53248, PASS: IF HIT<>C3 THEN SOUND C3,PASS-30,C10,C8
432 IF N=C1 THEN 440
433 IF N=C2 THEN 450
435 F=STRIG(C0):IF F THEN GOSUB 150:NEXT PASS:SOUND C3,C0,C0,C0:GOTO 400
440 POKE C-C6,C3:POKE C,C0:C=C-C6:SOUND C1,20,40,C15:SOUND C1,C0,C0,C0:N=C1:IF C<BASE+768 THEN N=C2:GOTO 450
445 HIT=PEEK(53262):IF HIT=C3 THEN N=C0:GOTO 1000
450 NEXT PASS:SOUND C3,C0,C0,C0:GOTO 400
500 FOR T=BASE+512 TO BASE+605:POKE T,C0:NEXT T:SOUND C3,C0,C0,C0
510 R=INT(RND(C0)*C10+0.05):U=R*C8+C2:IF R<C1 OR R>C8 THEN 510
520 FOR T=BASE+517+R*C8 TO BASE+524+R*C8:POKE T,W(U):U=U+C1:NEXT T:RETURN
610 DATA 24,24,24,255,255,24,24,24
620 DATA 255,129,165,129,129,189,129,255
630 DATA 0,0,24,60,60,24,0,0
640 DATA 60,66,153,165,165,153,66,60
650 DATA 24,24,60,90,24,60,36,36
660 DATA 144,144,240,144,158,4,4,14
670 DATA 255,195,189,189,189,189,195,255
680 DATA 0,60,66,129,66,60,36,66
690 DATA 8,16,24,125,190,24,8,16
700 DATA 129,90,36,66,129,129,126,129
1000 SOUND C3,C0,C0,C0:SOUND C1,C0,C0,C0
1010 SOUND C2,75,C8,C15:I=0.7
1020 V1=C15:V2=V1:V3=V1:TH=TH+1
1040 SOUND C0,20,C8,V1:SOUND C1,40,C8,V2:SOUND C2,70,C8,V3
1045 IF V3=C15 THEN FOR Z=BASE+517+R*C8 TO BASE+524+R*C8:POKE Z,C0:NEXT Z:POKE C,C0
1050 V1=V1*I:V2=V2*(I+0.05):V3=V3*(I+0.08)
1070 IF V3>C1 THEN 1040
1080 SOUND C0,C0,C0,C0:SOUND C1,C0,C0,C0:SOUND C2,C0,C0,C0
1090 POP :IF D<C6 THEN POKE 53248,35
1095 IF D>=C6 THEN POKE 53248,215
1100 GOTO 400
3000 POKE 764,255:POKE 53277,C0:GRAPHICS C0:POKE 77,C1
3010 ? :? :? "YOUR SC0RE:":? :? "NUMBER OF TARGETS = ";TC:? :? "NUMBER OF HITS = ";TH
3020 ? :? :? "ANOTHER GAME? (Y/N) ";:INPUT A$
3040 IF A$="Y" THEN RUN
3050 IF A$<>"N" THEN 3020
9999 END

Share

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.