Joc naval
1987/08/01 Arrojeria, Eustakio - Elhuyar Zientziaren Komunikazioa | Lizaso, Pili - Informatika SailaElhuyar Fundazioa Iturria: Elhuyar aldizkaria
Els jocs solen ser els llocs que més agraden o agraden dels ordinadors. El programa que plantegem aquí és el denominat "joc naval".
Tret que l'àrea de joc sigui de 10x10 en lloc de 12x12 i l'usuari tingui un límit de 50 trets, les normes són les normalment acceptades.
La màquina indicarà a l'usuari si ha encertat o ha fallat i la considerarà guanyadora o perdedora, segons correspongui.
Nota: Aquest joc està programat per al seu ús en PC i compatibles.
10 JOCS NAVALS REM
20 SCREEN 1 : KEY OFF : CLS
30 DIM A(12,12) : DIM UNTZI$(10,4)
40 REM
50 LOCATE 4,8 : PRINT "REGLES DEL
JOC DELS VAIXELLS A JUGAR 7,4 MANS"
70 GOSUB 1600 : EXECUTAR
80 LOCATES PER A SEGUIR REM 11,4: PRINT "- Tu dóna'ns les coordenades del
vaixell" 90 LOCATE 12,6 : PRINT " (lletra, número)."
100 LOCATE 14,4: PRINT "- Si toques el vaixell, asterisc"
110 LOCATE 15,6: PRINT es convertirà en un "rombe".
120 LOCATE 17,4: PRINT "- Si falla, desis
asteriso-" 130 LOCATE 18,6 : PRINT "a prop."
140 GOSUB 1600 : SEGUIR REM
150 CLS
160 LOCATE 5,5 : PRINT "Vegem com és el contrincant"
170 LOCATE 7,5 : PRINT "flota:"
180 LOCATE 9,5 : PRINT "- Un avió (4 asteriscos)"
190 LOCATE 11,5 : PRINT "- Dos cuirassats (3 asteriscos)"
200 LOCATE 13,5 :- PRINT "- Tres destructors (2 asteriscos)"
210 LOCATE 15,5 : PRINT "- 4 trets
240
250 LOCATE 15,14 : PRINT "SORT!!!"
260 GOSUB 1600: EXECUTAR REGLES DEL JOC REM
270 CLS
280 AMAIA PER A SEGUIR REM
290 REM BIGIZTA
300 ERREKOP = 1 : ESLORA = 4 : UN = 1
310 FOR I = 1 TO 12:1A A(I,1) = 1 : NEXT I
320 FOR I = 1 TO 12 : A(12,I)=1: II(1
MES
DE NOVEMBRE
I
MES
DE NAVARRA)
PRINT
"ABCDEFGHIJ" 910 FOR I=7 TO 16 : LOCATE I,13 : PRINT I-7 : NEXT I
920 REM LLOC DE CONVECCIÓ AMAIA PER Al CALCULO DEL TIROTE
930
REM
=
19,50 TIROTE PRINT "Coordenades del vaixell?"
980 LOCATE 20,5: INPUT "Lletra :",X$
990 LOCATE 20,5: PRINT
SPC(15) 1000 IF (ASC(X$) 64) AND (ASC(X$) 75) THEN 1050
1010 LOCATE 22,5 : PRINT "Veure lletres (majusculas)"
1020 N = 500
: GOSUB 1650 : REM
G20
LOCATE: 1020,50 INPUT "Número :",I$
1060 LOCATE 20,5: 1$
EN
THM=1RF
ELSE LOCATE 22,7:PRINT "RETOCAT!!!"
1360 N = 500 : GOSUB 1650 : PAUSA REM
1370 LOCATE 22,7 : PRINT SPC(17)
1380 GOTO 1440
1390 AIGUA = AIGUA + 1
1400 LOCATE ASC(I$)-41,ASC(X$)-49: PRINT "
1410 LOCATE 22,7 : PRINT "Has fallat!!!"
1420 N = 500 : GOSUB 1650 : PAUSA REM
1430 LOCATE 22,7: PRINT SPC(20)
1440 GOTO 950
1450 REM AMBITARTE
1460 IF UKI 20 THEN 1500
1470 LOCATE 20,7:PRINT "Has submergit tots els vaixells"
1480 LOCATE 22,7: TIRS PRINT;" HAS GUANYAT DE TIRS!!!"
1490 GOTO 1540
1500 LOCATE 19,5:PRINT SPC(30)
1510 LOCATE 20,7:PRINT "Ho sento però ho perds"
1520 LOCATE 21,7:PRINT "ja tens més de 50 trets"
1530 LOCATE 22,7 : PRINT "has tirat més."
1540 N = 2000 : GOSUB 1650 : PER A CALCULAR SI
HAS TOCAT 1550 REM AMAIA O NO HAS PRES PAUSA
1560 CLS
1570 LOCATE 11,11 : PRINT "JOC ACABAT."
1580 END
1590 ACCIÓ DE CONTINUACIÓ DEL JOC NAVAL AMAYA
1600 REM
1610 LOCATE 23,10: PRINT "Premi J per a continuar"
1620 ET$=":WHILE ET$ "J" AND ET$ "j":ET$=INKEY$:ACCIÓ WEND
1630 RETURN
1640 REM PAUSA
1650 PAUSA
PAUSA
1660
K = 1
1670 FOR
1690 TO EXN