Battaglia Navale (demo) – Apple II – Basic

Rivista: PC Personal Computer – Anno: 1983 – Numero: 8 – Trascrizione: Francesco Fiorentini

Secondo listato della rivista PC Personal Computer anno I numero 8, questa volta per Apple II:
https://www.retromagazine.net/pc-personal-computer-club-anno-i-numero-8/

Si tratta di una semplice demo che utilizza i caratteri dell’Apple II ed alcuni effetti sonori per rappresentare una rudimentale battaglia navale tra un’incrociatore ed un aereo nemico.
Non c’e’ nessuna interazione con l’utente, anche se nella rivista lo spacciavano per un gioco completo…

Attenzione: si tratta soltanto di una demo.

Titolo: Battaglia Navale (demo)
Piattaforma: Apple II
Linguaggio: Basic
Versione originale: Nicolas Kropacek
Pubblicazione: PC Personal Computer
Anno: 1983, Novembre
Trascrizione: Francesco Fiorentini
Anno: 2026
Download: N/A
Note: N/A

Qui di seguito trovate il codice da copiare sul vostro Apple II oppure su un emulatore, noi suggeriamo AppleWin.

Di seguito le istruzioni per caricare il listato sull’emulatore AppleWin:
– Copiare il listato di cui sotto
– Avviare l’emulatore
– Premere SHIFT + INS per incollare il listato sull’emulatore
– Digitare RUN per eseguire il codice
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: Battaglia Navale (demo) – Apple II – 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
89
90
91
92
93
94
100  REM **************************
110  REM BATTAGLIA NAVALE
120  REM **************************
130  CLEAR : TEXT : CALL - 936: SPEED= 255
140  HTAB 12: VTAB 22: FLASH : PRINT "BATTAGLIA";: NORMAL : PRINT " " ;: FLASH : PRINT "NAVALE": NORMAL
150  A = 10:B = 5:C = 9:D = 6:O = 9:F = 7:G = 6:H = 8:K = 2:L = 9:M = 2:N = 10
160  SPEED= 150
170  VTAB 11: FOR I = 1 TO 4: FOR E = 1 TO 20: PRINT ">>";: NEXT E: FOR U = 1 TO 20: PRINT "<<";: NEXT U: NEXT I
180  SPEED= 255
190  HTAB (A): VTAB (B): PRINT "+======"
200  HTAB (A): VTAB (B - 1): PRINT "Y"
210  INVERSE : HTAB (C): VTAB (D): PRINT " x=": NORMAL
220  INVERSE : HTAB (O): VTAB (F): PRINT "   ": NORMAL
230  INVERSE : HTAB (G): VTAB (H): PRINT " ==== ": NORMAL
240  INVERSE : HTAB (K): VTAB (L): PRINT "@ * * * * *    ": NORMAL
250  HTAB 6: VTAB (F): PRINT ">>>"
260  INVERSE : HTAB (M): VTAB (N): PRINT "               ": NORMAL
270  GOSUB 530
280  FOR Z = 1 TO 1000: NEXT Z
290  FOR A = 1 TO 5
300  GOSUB 590
310  PR = 16
320  SPEED= 240
330  FOR Z = 1 TO 24: VTAB 5: HTAB (PR + Z): PRINT "*": VTAB 5: HTAB (PR + Z - 1): PRINT " ": NEXT Z: VTAB 5: HTAB 40: PRINT " "
340  NEXT A
350  SPEED= 255: FOR X = 1 TO 1000: NEXT X
360  SPEED= 150
370  FOR S = 1 TO 3
380  FOR Z = 1 TO 25: GOSUB 640: VTAB 8: HTAB (15 + Z): PRINT ">": VTAB 8: HTAB (15 + Z - 1): PRINT " ": NEXT Z: VTAB 8: HTAB 40: PRINT " ": FOR I = 1 TO 100: NEXT I: NEXT S
390  GOSUB 700: FOR E = 1 TO 1000: NEXT E: GOSUB 960: SPEED= 255
400  FOR L = 1 TO 500: NEXT L
410  SPEED= 150
420  FOR S = 1 TO 3
430  FOR Z = 1 TO 25: GOSUB 640: VTAB 8: HTAB (40 - Z): PRINT "<": VTAB 8: HTAB (40 - Z + 1): PRINT " ": NEXT Z: VTAB 8: HTAB 15: PRINT " ": FOR I = 1 TO 100: NEXT I: NEXT S
440  GOSUB 1010: FOR I = 1 TO 5: GOSUB 830: NEXT I: SPEED= 250: GOSUB 860: GOSUB 560: FOR A = 1 TO 800: NEXT A
450  FOR U = 1 TO 20: CALL 64477: NEXT U: FOR A = 1 TO 3: GOSUB 590
460  FOR Z = 1 TO 24: VTAB 5: HTAB (PR + Z): PRINT "*": VTAB 5: HTAB (PR + Z - 1): PRINT " ": NEXT Z: VTAB 5: HTAB 40: PRINT " ": NEXT
470  FOR Z = 1 TO 30: GOSUB 670: GOSUB 860: VTAB 2: HTAB (40 - Z): FLASH : PRINT " ": NORMAL: VTAB 2: HTAB (40 - Z + 1): PRINT " ": NEXT Z
480  HTAB 14: VTAB 2: PRINT " ": FOR Z = 1 TO 6: HTAB 10: VTAB (1 + Z): FLASH: PRINT " ": NORMAL: VTAB (1 + Z - 1): HTAB 10: PRINT " ": NEXT Z
490  GOSUB 870
500  SPEED= 255: VTAB 23: END
510  REM
520  REM **********************
530  REM * ROUTINE SONORE     *
540  REM **********************
550  REM **SUONO DI SIRENAX**
560  FOR S = 1 TO 200
570  T = PEEK (49200)
580  NEXT S: RETURN
590  FOR U = 1 TO 20
600  V = PEEK ( -16336 )
610  NEXT U: RETURN
620  REM
630  REM    *** SUONO DI MOTORE AEREO ***
640  SPEED= 255: FOR V = 1 TO 5:T = PEEK (49200): NEXT V: SPEED= 150: RETURN
650  REM
660  REM ** Routine di RAZZO **
670  SPEED= 255: FOR V = 1 TO 2:T = PEEK (49200): NEXT V: RETURN
680  REM
690  REM ** SUONO BITONALE **
700  SPEED= 255
710  FOR O = 1 TO 7
720  FOR S = 1 TO 20:T = PEEK (49200): NEXT S: FOR U = 1 TO 20:V = PEEK( -16336): NEXT U
730  NEXT O
740  RETURN
750  REM
760  REM **SUONO BITON.PER SILUROX**
770  FOR S = 1 TO 5:T = PEEK (49200): NEXT S: FOR U = 1 TO 5:V = PEEK ( -16336): NEXT U: RETURN
780  REM
790  REM **********************
800  REM * ROUTINE VISIVE     *
810  REM **********************
820  REM ****ROUTINE DI AEREI****
830  FOR Z = 1 TO 40: GOSUB 640: SPEED= 255: VTAB 2: HTAB (40 - Z): PRINT "<": VTAB 2: HTAB (40 - Z + 1): PRINT " ": VTAB 2: HTAB 1: PRINT " ": NEXT Z: RETURN
840  REM
850  REM **** ROUTINE PER CANNONE ****
860  FLASH : HTAB 39: VTAB 1: PRINT "##": HTAB 36: VTAB 2: PRINT "=====": HTAB 39: VTAB 3: PRINT "##": HTAB 40: VTAB 4: PRINT "*": NORMAL : RETURN  
870  HTAB (C): VTAB (D): PRINT " "
880  HTAB (O): VTAB (F): PRINT " "
890  HTAB (G - 1): VTAB (H): PRINT " "
900  FLASH : HTAB 6: VTAB (F): PRINT " ": NORMAL
910  FLASH : HTAB (G + 2): VTAB (H): PRINT "$$": NORMAL
920  HTAB 2: VTAB 9: PRINT " "
930  RETURN
940  REM
950  REM ***** SILURO *****
960  SPEED= 200
970  FOR W = 1 TO 40: GOSUB 770: VTAB 12: HTAB (40 - W): INVERSE : PRINT " ": NORMAL : VTAB 12: HTAB (40 - W + 1): PRINT "<": NEXT W: VTAB 12: HTAB 11: PRINT "<"
980  VTAB 18: HTAB 16: PRINT "<": RETURN
990  REM
1000  REM **** OBLO' IN ALLARME ****
1010  SPEED= 255: FLASH : HTAB (C + 1): VTAB (D): PRINT "#": NORMAL
1020  FLASH : HTAB 5: VTAB 9: PRINT "#";: HTAB 7: PRINT "#";: HTAB 9: PRINT "#";: HTAB 11: PRINT "#";: HTAB 13: PRINT "#": NORMAL
1030 RETURN

Share

Lascia un commento

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

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.