SUB – Atari 8bit – Basic

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

Vi ricordate del gioco Sub Hunt per Atari 8bit? In quel caso ci trovavamo a bordo di una nave ed il nostro compito era quello di far esplodere un sommergibile usando delle bombe di profonditá.

SUB, il gioco che andiamo a presentarvi in questo articolo, ribalta completamente la situazione. In questo gioco, guidando un sommergibile, dobbiamo cercare di eliminare il maggior numero possibile di navi che transiteranno sopra la nostra testa.
Per farlo dovremo sparare alle mine di profonditá che si trovano nello schermo. Quando una di queste verrá colpita dai nostri siluri, rilascerá un veloce raggio laser che, innalzandosi verso la superficie, colpirá la nave. La precisione e la tempistica sono tutto in questo simpatico gioco!
Finalmente un gioco carino e con un gameplay diverso dal solito.

Anche questo listato é stato pubblicato sulla rivista A.N.A.L.O.G. di Gennaio/Febbraio 1981, rivista edita da MICHAEL J. DESCHENES LEE PAPPAS.

Titolo: SUB
Piattaforma: Atari 8bit
Linguaggio: Basic
Versione originale: Lee Pappas
Pubblicazione: A.N.A.L.O.G.
Numero: 1 – Gennaio/Febbraio
Anno: 1981
Trascrizione: Francesco Fiorentini
Anno: 2024
Download: N/A
Note: Versione funzionante su tutte le macchine Atari 8bit.

Istruzioni
La vostra missione è liberare quest’area dalle mine mortali e rendere le acque sicure per i viaggi. Usate il joystick #1 per muovere il vostro sottomarino nella direzione prescelta. Il pulsante di fuoco lancia un siluro con una gittata limitata. Non ci sono limiti di tempo o di numero di lanci.

.

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:  SUB – 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
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
10 REM *** "SUB": VERSION 1.1980
11 REM YOUR GOAL IS TO DESTRY
12 REM GUNBOAT ON SURFACE AS
13 REM MANY TIMES AS YOU CAN.
14 REM DO THIS BY EXPLODING A
15 REM A MINE A 'LASER' WILL GO
16 REM TOWARDS SURFACE AND HIT
17 REM GUNBOAT. IF YOUR SUB HITS
18 REM A MINE YOU HAVE ONE LESS
19 REM CHANCE OF HITTING THE GUMBOAT
20 REM
30 GRAPHICS 23:SETCOLOR 0,0,0
50 H=50:V=60:L=32:SETCOLOR 4,7,0
70 COLOR 3:PLOT 159,30
80 DRAWTO 159,0:DRAWTO 0,0
90 POSITION 8,30:POKE 765,3
100 XIO 18,#6,0,0,"S:"
110 REM *** PLOT MINES
120 COLOR 5:FOR N=1 TO 40
150 PLOT RND(0)*159,RND(0)*62+32
160 NEXT N
170 REM *** PLOT SHIP
180 S1=RND(0)*150:S2=S1+6
190 PLOT S1,30:DRAWTO S2,30:PLOT S1+2,29:PLOT S1+3,29
200 REM **** PLOT SUB
210 COLOR 6:PLOT H,V
220 DRAWTO H+4,V:PLOT H+3,V-1
230 REM *** PLOT CLOUDS
240 FOR C=1 TO 5:X=RND(0)*157
260 Y=RND(0)*5:Y1=Y+1:PLOT X,Y
280 DRAWTO RND(0)*X,(RND(0)*Y)+1:DRAWTO X+1,Y1:DRAWTO X-1,Y+2
290 NEXT C
300 REM *** MAIN ROUTINE
310 POKE 20,0
320 CT=PEEK(20)
330 IF CT THEN GOSUB 620
340 IF CT>10 THEN SOUND 1,0,0,0
360 S=STICK(0):IF STRIG(0)<>0 THEN 440
370 TOR=H+5
380 COLOR 3:PLOT TOR,V:GOSUB 620
390 IF H+20<TOR THEN 430
400 COLOR 0:PLOT TOR,V:LOCATE TOR+1,V,Z:TOR=TOR+1:IF TOR>158 THEN 430
410 IF Z<>1 THEN 380
420 SOUND 1,100,0,14:COLOR 6:PLOT TOR,V:DRAWTO TOR,31:MI=MI+1
430 TP=TP+1:COLOR 0:PLOT TOR,V:IF Z=1 THEN DRAWTO TOR,31
435 IF Z<>1 OR TOR<S1 OR TOR>S2 THEN 440
436 COLOR 6:FOR I=1 TO 10:PLOT TOR,30:DRAWTO TOR+RND(0)*7-3,RND(0)*7+23:NEXT I
437 COLOR 3:FOR I=30 TO 23 STEP -1:PLOT 0,I:DRAWTO 159,I:NEXT I
438 SOUND 0,0,0,0:SOUND 1,0,0,0:FOR I=1 TO 1000:NEXT I:SH=SH+1
440 IF S=15 THEN 590
445 IF (S<>13 AND S<>9 AND S<>5) OR V>91 THEN 480
450 COLOR 8:PLOT H+3,V-1:PLOT H,V:DRAWTO H+4,V:V=V+1
460 COLOR 6:PLOT H,V:DRAWTO H+4,V
470 PLOT H+3,V-1
480 IF (S<>7 AND S<>6 AND S<>5) OR H>149 THEN 520
500 COLOR 0:PLOT H,V:PLOT H+3,V-1:COLOR 6:PLOT H+5,V
510 PLOT H+4,V-1:H=H+1
520 IF (S<>11 AND S<>9 AND S<>10) OR H<2 THEN 550
530 COLOR 6:PLOT H-1,V:PLOT H+2,V-1:COLOR 0:PLOT H+4,V:PLOT H+3,V-1:H=H-1
550 IF (S<>14 AND S<>10 AND S<>6) OR V<33 THEN 590
560 COLOR 0:PLOT H,V:DRAWTO H+4,V:V=V-1
570 COLOR 6:PLOT H,V:DRAWTO H+4,V:PLOT H+3,V-1
590 IF Y=1 THEN GOSUB 730
600 GOTO 320
620 REM *** MOVE SHIP
640 COLOR 5:PLOT S1-1,30:DRAWTO S2-1,30:PLOT S1+1,29:PLOT S1+2,29
650 COLOR 3:PLOT S2,30:PLOT S1+3,29
660 IF DT>30 THEN DT=0:D=S2:GOTO 730
670 S1=S1-1:S2=S2-1
680 IF S1<1 THEN COLOR 3:PLOT 0,30:DRAWTO 15,30:DRAWTO 0,29:COLOR 5:S1=153:S2=159
700 REM *** DEPTH CHARGE TIMER
710 SOUND 0,58,4,6:IF CT>20 THEN DT=DT+1:POP :GOTO 310
720 RETURN
730 LOCATE D,L+1,W:IF W=2 THEN 850
750 IF W<>1 THEN 780
760 COLOR 0:PLOT D,L-1:SOUND 2,100,0,14:PLOT D,L+1:FOR T=1 TO 100:NEXT T
770 SOUND 2,0,0,0:L=32:Y=0:RETURN
780 COLOR 5:PLOT D,L:COLOR 0:PLOT D,L-1:Y=1
810 IF L>91 THEN Y=0:PLOT D,L:L=32:RETURN
820 L=L+1:RETURN
850 SOUND 1,10,0,14:SOUND 2,50,0,14:SOUND 3,100,0,14:COLOR 1:PLOT H,V:DRAWTO H+4,V
860 COLOR 6:PLOT H,V:PLOT H+2,V:PLOT H+4,V:FOR T=1 TO 100:NEXT T:PLOT H-1,V:PLOT H,V-1
870 PLOT H+1,V+1:PLOT H+3,V-2:PLOT H+4,V:PLOT H+5,V-1:PLOT H+5,V+1:FOR T=1 TO 100:NEXT T
880 GRAPHICS 0:PRINT "END OF ENCOUNTER. ":PRINT
890 PRINT "NUMBER OF SHIPS HIT: ";SH
895 PRINT "NUMBER OF MINES HIT: ";MI
900 PRINT "NUMBER OF TORPEDOES: ";TP
999 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.