****************************************************** NAME:SEAWAR TYPE:BASIC FORMAT:ASCII SA/LA:0000 0000 ****************************************************** 230 CLS 0 240 PRINT @ 33,STRING$(30,191); 250 FOR X=65 TO 417 STEP 32 260 PRINT @ X,CHR$(191); 270 PRINT @ X+29,CHR$(191); 280 NEXT X 290 PRINT @ 449,STRING$(30,191); 300 A$="jeff" 310 GOSUB 490 320 PRINT @ 100,B$; 330 A$="hameluck" 340 GOSUB 490 350 PRINT @ 109,B$; 360 A$="proudly" 370 GOSUB 490 380 PRINT @ 169,B$; 390 A$="presents" 400 GOSUB 490 410 PRINT @ 232,B$; 420 A$="sea"+CHR$(128)+"war" 430 GOSUB 490 440 PRINT @ 297,B$; 450 B$=CHR$(128) 460 PRINT @ 356,"press";B$;"the";B$;"right";B$;"joystick"; 470 PRINT @ 393,"button";B$;"to";B$;"play"; 480 GOTO 550 490 B$="" 500 FOR X=1 TO LEN(A$) 510 B$=B$+MID$(A$,X,1)+CHR$(128) 520 NEXT X 530 B$=LEFT$(B$,LEN(B$)-1) 540 RETURN 550 FOR X=1 TO 55 560 READ A$ 570 PP=PEEK(65280) 580 IF PP=254 OR PP=126 THEN 660 590 PLAY A$ 600 NEXT X 610 RESTORE 620 GOTO 550 630 DATA "T5L8O4C","O3B","O4L4C","O3C","C","L8G","F","E","G","O4C","O3B","O4C","L8O4E","D","C","O4" 640 DATA "L4D","O3D","D","L8D","C","O2B","O3G","G","F+","L4G","L8O3A","B","O4C","O3B","A","G","A" 650 DATA "G","F","E","F","E","D","C","D","C","O2B","A","L8O2G","O3C","O2B","O3D","C","E","D","F","L4E","C","C" 660 CLS 670 PRINT 680 PRINT" YOU COMMAND A SHORE BATTERY WHICH HAS BEEN ORDERED TO SINK AN ENEMY FLEET ANCHORED IN A FOGGY COVE IN FRONT OF YOU. YOU CAN'T SEE THE SHIPS RIGHT AWAY BUT AS SOON AS YOU HIT ONE THE LOCATION AND TYPE OF SHIP WILL BE KNOWN"; 690 PRINT" BECAUSE THE EXPLOSION WILL HIGHLY ILLUMINATE THE THE IMMEDIATE AREA FOR A SHORT TIME. YOU ONLY HAVE 60 ROUNDS TO SINK THE 5 SHIP ENEMY FLEET WHICH CONSISTS OF:" 700 PRINT @ 482,"PRESS THE BUTTON TO CONTINUE"; 710 FOR X=1 TO 200 720 NEXT X 730 PP=PEEK(65280) 740 IF PP=254 OR PP=126 THEN 750 :ELSE 730 750 CLS:PRINT"AIRCRAFT CARRIER-5 HITS TO SINK BATTLE SHIP -4 HITS TO SINK CRUISER -3 HITS TO SINK SUBMARINE -3 HITS TO SINK DESTROYER -2 HITS TO SINK" 760 PRINT @ 482,"PRESS THE BUTTON TO CONTINUE"; 770 FOR X=1 TO 200 780 NEXT X 790 PP=PEEK(65280) 800 IF PP=254 OR PP=126 THEN 810 :ELSE 790 810 CLS 820 DIM L(9,9) 830 DIM G$(12) 840 S(1)=5 850 S(2)=4 860 S(3)=3 870 S(4)=3 880 S(5)=2 890 G$(0)=CHR$(175)+CHR$(175) 900 FOR X=1 TO 5 910 G$(X)=G$(0) 920 NEXT X 930 G$(6)="ac" 940 G$(7)="bs" 950 G$(8)="cr" 960 G$(9)="sb" 970 G$(10)="de" 980 G$(11)=CHR$(207)+CHR$(207) 990 G$(12)=CHR$(191)+CHR$(191) 1000 A$=STRING$(20,175) 1010 PRINT @ 103,"0 1 2 3 4 5 6 7 8 9" 1020 FOR X=0 TO 9 1030 PRINT @ 134+X*32,RIGHT$(STR$(X),1);A$;RIGHT$(STR$(X),1); 1040 NEXT X 1050 PRINT @ 455,"0 1 2 3 4 5 6 7 8 9 1060 PRINT @ 129,"ac-5"; 1070 PRINT @ 193,"bs-4"; 1080 PRINT @ 257,"cr-3"; 1090 PRINT @ 321,"sb-3"; 1100 PRINT @ 385,"de-2"; 1110 A=RND(-TIMER) 1120 FOR I=1 TO 5 1130 A=RND(49) 1140 FOR X=1 TO A 1150 B=RND(2) 1160 NEXT X 1170 IF B=1 THEN 1310 1180 V=RND(10)-1 1190 IF V>5 THEN V=V-5 1200 H=RND(10)-1 1210 FOR X=V TO V+S(I)-1 1220 IF L(H,X)<>0 THEN 1130 1230 NEXT X 1240 FOR X=V TO V+S(I)-1 1250 L(H,X)=I 1260 NEXT X 1270 GOTO 1400 1280 L(X,H)=I 1290 NEXT X 1300 GOTO 1400 1310 H=RND(10)-1 1320 IF H>5 THEN H=H-5 1330 V=RND(10)-1 1340 FOR X=H TO H+S(I)-1 1350 IF L(X,V)<>0 THEN 1130 1360 NEXT X 1370 FOR X=H TO H+S(I)-1 1380 L(X,V)=I 1390 NEXT X 1400 NEXT I 1410 OX=10 1420 OY=10 1430 PRINT @ 37,"SHORTS LEFT:";60-SH;" HITS:";HT 1440 IF HT=17 THEN 2000 1450 IF SH=60 THEN 2000 1460 X=INT(JOYSTK(0)/7) 1470 Y=INT(JOYSTK(1)/7) 1480 PRINT @ 135+X*2+Y*32,G$(12); 1490 IF OX=X THEN 1520 1500 PRINT @ 487+(X*2),"^"; 1510 PRINT @ 487+(OX*2)," "; 1520 IF OY=Y THEN 1550 1530 PRINT @ 156+(Y*32),"-"; 1540 PRINT @ 156+(OY*32)," "; 1550 OY=Y 1560 OX=X 1570 PRINT @ 135+X*2+Y*32,G$(L(X,Y)); 1580 PP=PEEK(65280) 1590 IF PP=254 OR PP=126 THEN 1610 1600 GOTO 1460 1610 PRINT @ 0 1620 SH=SH+1 1630 PLAY"O1L255V31" 1640 FOR M=1 TO 31 1650 PLAY"N10N3N5N4N2N6V-":NEXT M 1660 Z=135+X*2+Y*32 1670 IF L(X,Y)=0 THEN 1970 1680 IF L(X,Y)=>6 THEN 1430 1690 HT=HT+1 1700 C=L(X,Y) 1710 ON C GOTO 1720,1770,1820,1870,1920, 1720 PRINT @ Z,"ac"; 1730 L(X,Y)=6 1740 HA=HA+1 1750 IF HA=5 THEN PRINT @ 6,"ENEMY CARRIER SUNK!" :ELSE PRINT @ 4, "ENEMY CARRIER HIT AT ";RIGHT$(STR$(X),1);",";RIGHT$(STR$(Y),1) 1760 GOTO 1430 1770 PRINT @ Z,"bs"; 1780 L(X,Y)=7 1790 HB=HB+1 1800 IF HB=4 THEN PRINT @ 5,"ENEMY BATTLESHIP SUNK!" :ELSE PRINT @ 2,"ENEMY BATTLESHIP HIT AT ";RIGHT$(STR$(X),1);",";RIGHT$(STR$(Y),1) 1810 GOTO 1430 1820 PRINT @ Z,"cr"; 1830 L(X,Y)=8 1840 HC=HC+1 1850 IF HC=3 THEN PRINT @ 7,"ENEMY CRUISER SUNK!" :ELSE PRINT @ 4,"ENEMY CRUISER HIT AT ";RIGHT$(STR$(X),1);",";RIGHT$(STR$(Y),1) 1860 GOTO 1430 1870 PRINT @ Z,"sb"; 1880 L(X,Y)=9 1890 HD=HD+1 1900 IF HD=3 THEN PRINT @ 5,"ENEMY SUBMARINE SUNK!" :ELSE PRINT @ 3,"ENEMY SUBMARINE HIT AT ";RIGHT$(STR$(X),1);",";RIGHT$(STR$(Y),1) 1910 GOTO 1430 1920 PRINT @ Z,"de"; 1930 L(X,Y)=10 1940 HE=HE+1 1950 IF HE=2 THEN PRINT @ 5,"ENEMY DESTROYER SUNK!" :ELSE PRINT @ 3,"ENEMY DESTROYER HIT AT ";RIGHT$(STR$(X),1);",";RIGHT$(STR$(Y),1) 1960 GOTO 1430 1970 PRINT @ Z,CHR$(207);CHR$(207); 1980 L(X,Y)=11 1990 GOTO 1430 2000 FOR Y=0 TO 9 2010 FOR X=0 TO 9 2020 IF L(X,Y)=0 THEN L(X,Y)=11 2030 IF L(X,Y)<6 THEN L(X,Y)=L(X,Y)+5 2040 PRINT @ 135+X*2+Y*32,G$(L(X,Y)); 2050 NEXT X,Y 2060 FOR X=1 TO 3500 2070 NEXT X 2080 CLS 2090 PRINT "SHOTS:";SH;" HITS:";HT 2100 PRINT 2110 PRINT "ON A SCALE OF 1 TO 10" 2120 PRINT USING "YOU RATE A: ##";(61-SH)/4.5+.5 2130 PRINT @ 487,"PLAY AGAIN "; 2140 FOR X=1 TO 1000 2150 A$=INKEY$ 2160 PP=PEEK(65280) 2170 IF PP=254 OR PP=126 THEN CLEAR:GOTO 810 2180 IF A$="Y" THEN CLEAR:GOTO 810 2190 IF A$="N" THEN CLS:END 2200 NEXT X 2210 RUN