10 REM ENERGY FIELD.
20 REM à PAUL STANLEY. 25 REM PAN BOOKS 1984 30 MODE 1:BORDER 0:INK 0,0:INK 1,24:INK 2,20:INK 3,7:WINDOW #1,1,40,1,25:PAPER #1,0:PEN #1,1:CLS #1 40 GOSUB 1700 50 GOSUB 1570 60 CLS 70 GOSUB 1600 80 H=0 90 WINDOW #0,5,36,1,25:PAPER #0,0:PEN #0,1:CLS #0 100 GOSUB 1340 110 GOSUB 1510 120 LOCATE 1,1:PRINT"SCORE:";:LOCATE 23,1:PRINT"HIGH:";:LOCATE 27,23:PRINT"POWER"; 130 LOCATE 29,1:PRINT MID$(STR$(H),2) 140 PEN 2:LOCATE X+1,Y+1:PRINT CHR$(238);CHR$(239);:PEN 1 150 IF LI<=1 THEN 1280 160 P=P-0.05:LOCATE 7,1:PEN 2:PRINT MID$(STR$(S),2);:PEN 1:G=1:SS=INT(RND*4)+1:ON SS GOTO 240,370,500,630 170 FOR D=1 TO P:PEN 0:LOCATE X+1,Y+1:PRINT CHR$(238);CHR$(239);:PEN 1 180 IF INKEY(0)=0 THEN DR=1:MV=MV-1*(MV<4)+3*(MV=4):X=P(DR,MV):Y=Q(DR,MV):FOR PS=1 TO 100:NEXT 190 IF INKEY(2)=0 THEN DR=2:MV=MV+1*(MV>1)-3*(MV=1):X=P(DR,MV):Y=Q(DR,MV):FOR PS=1 TO 100:NEXT 200 LOCATE X+1,Y+1:PEN 2:PRINT CHR$(238);CHR$(239); 210 IF INKEY(47)=0 THEN IF G<>0 THEN GOSUB 760 220 NEXT 230 RETURN 240 O=S:FOR F=1 TO 4 250 A=1 260 LOCATE 17,(11+2*F)+1:PEN 2:PRINT MID$(A$,F,1);:PEN 1 270 GOSUB 170 280 SOUND 1,(F*10),3 290 PEN 0:LOCATE 17,(11+2*F)+1:PRINT MID$(A$,F,1):PEN 1 300 GOSUB 170 310 SOUND 1,(F*15),3 320 NEXT F 330 IF S<O THEN LOCATE 16,(11+2*F)+1:PEN 2:PRINT CHR$(240);:PEN 1:FOR SS=10 TO 20:SOUND 1,(SS*10),3:NEXT:LOCATE 16,(11+2*F)+1:PEN 0:PRINT CHR$(240);:PEN 1 340 PEN 1 350 IF S=O THEN LI=LI- 0.2:LOCATE 28,22:PRINT INT (LI);" " 360 GOTO 150 370 O=S:FOR F=1 TO 4 380 A=2 390 LOCATE 17,(10-2*F)+1:PEN 3:PRINT MID$(A$,F,1);:PEN 1 400 GOSUB 170 410 SOUND 1,(F*10),3 420 PEN 0:LOCATE 17,(10-2*F)+1:PRINT MID$(A$,F,1);:PEN 1 430 GOSUB 170 440 SOUND 1,(F*15),3 450 NEXT 460 IF S<>O THEN LOCATE 17,(11-2*F)+1:PEN 3:PRINT CHR$(240);:PEN 1:FOR SS=10 TO 20:SOUND 1,(SS*10),3:NEXT:LOCATE 17,(11-2*F)+1:PEN 0:PRINT CHR$(240);:PEN 1 470 PEN 1 480 IF S=O THEN LI=LI-0.2:LOCATE 28,22:PRINT INT (LI);" " 490 GOTO 150 500 O=S:FOR F=1 TO 5 510 A=3 520 LOCATE (15-2*F),11:PRINT MID$(B$,F,1); 530 GOSUB 170 540 SOUND 1,(F*40+F*2),3 550 PEN 0:LOCATE (15-2*F),11:PRINT MID$(B$,F,1);:PEN 1 560 GOSUB 170 570 SOUND 1,(F*40+F*2),3 580 NEXT F 590 IF S<>O THEN LOCATE (15-2*F)+1,11:PEN 3:PRINT CHR$(240);:PEN 1:FOR SS=5 TO 15:SOUND 1,(SS*15),3:NEXT:LOCATE (15-2*F)+1,11:PEN 0:PRINT CHR$(240);:PEN 1 600 PEN 1 610 IF S=O THEN LI=LI-0.2:LOCATE 28,22:PRINT INT (LI);" " 620 GOTO 150 630 O=S:FOR F=1 TO 5 640 A=4 650 LOCATE (18+2*F),11:PRINT MID$(B$,F,1) 660 GOSUB 170 670 SOUND 1,(F*40+F*2),3 680 PEN 0:LOCATE (18+2*F),11:PRINT MID$(B$,F,1);:PEN 1 690 GOSUB 170 700 SOUND 1,(F*40+F*2),3 710 NEXT 720 IF S<>O THEN LOCATE (17+2*F)+1,12:PEN 2:PRINT CHR$(240);:PEN 1:FOR SS=5 TO 15:SOUND 1,(SS*15),3:NEXT:LOCATE (17+2*F)+1,12:PEN 0:PRINT CHR$(240);:PEN 1 730 PEN 1 740 IF S=O THEN LI=LI-0.2:LOCATE 28,22:PRINT INT (LI);" " 750 GOTO 150 760 ON MV GOTO 870,970,770,1070 770 REM FIELD 3 780 PEN 3 790 FOR Q=5 TO 17 :LOCATE 28,Q+1:PRINT STRING$(3,143):NEXT 800 FOR SS=5 TO 15:SOUND 1,(SS*15),3:NEXT 810 FOR Q=5 TO 17 :LOCATE 28,Q+1:PRINT " ":NEXT 820 PEN 1 830 IF A<>4 THEN 1170 840 S=S+20 850 G=0 860 RETURN 870 REM FIELD 1 880 PEN 3 890 FOR Q=5 TO 17:LOCATE 3,Q+1:PRINT STRING$(3,143);:NEXT 900 FOR SS=5 TO 15:SOUND 1,(SS*15),3:NEXT 910 FOR Q=5 TO 17:LOCATE 3,Q+1:PRINT" ": NEXT 920 PEN 1 930 IF A<>3 THEN 1170 940 S=S+20 950 G=0 960 RETURN 970 REM FIELD 2 980 PEN 3 990 FOR Q=13 TO 19:LOCATE Q+1,2:PRINT CHR$(143);:LOCATE Q+1,3:PRINT CHR$(143);:NEXT 1000 FOR SS=5 TO 15:SOUND 1,(SS*15),3:NEXT 1010 FOR Q=13 TO 19:LOCATE Q+1,2:PRINT " ":LOCATE Q+1,3:PRINT " ";:NEXT 1020 PEN 1 1030 IF A<>2 THEN 1170 1040 S=S+20 1050 G=0 1060 RETURN 1070 REM FIELD 4 1080 PEN 3 1090 FOR Q=13 TO 19:LOCATE Q+1,20:PRINT CHR$(143);:LOCATE Q+1,21:PRINT CHR$(143);:NEXT 1100 FOR SS=5 TO 15:SOUND 1,(SS*15),3:NEXT 1110 FOR Q=13 TO 19:LOCATE Q+1,20:PRINT " ":LOCATE Q+1,21:PRINT " ";:NEXT 1120 PEN 1 1130 IF A<>1 THEN 1170 1140 S=S+20 1150 G=0 1160 RETURN 1170 PEN 2:LOCATE X+1,Y+1:PRINT CHR$(238);CHR$(239); 1180 FOR R=1 TO 10 1190 LOCATE X+1,Y+1:PEN 3:PRINT CHR$(240);CHR$(240);:PEN 1 1200 SOUND 1,(R*100),3 1210 :' LOCATE X,R+1:PRINT CHR$(240);CHR$(240);CHR$(240); 1220 LOCATE X+1,Y+1:PRINT " "; 1230 FOR XX=1 TO 40:NEXT 1240 NEXT 1250 LI=LI-1:LOCATE 28,22:PRINT INT (LI);" ";:IF LI<=1 THEN 1280 1260 PEN 2: LOCATE X+1,Y+1:PRINT CHR$(238);CHR$(239); 1270 RETURN 1280 LOCATE 9,11:PEN 1:PRINT CHR$(24);"G A M E O V E R";CHR$(24);:PEN 1 1290 IF S>H THEN H=S 1300 LOCATE 1,22:PEN 3:PRINT CHR$(24);" PRESS ANY KEY TO PLAY AGAIN ";CHR$(24);:PEN 1 1310 IF INKEY$<>"" THEN 1310 1320 IF INKEY$="" THEN 1320 ELSE RESTORE:CLS:GOTO 100 1330 GOTO 1320 1340 SYMBOL AFTER 230 1350 SYMBOL 231,40,84,186,124,186,84,40,0 1360 SYMBOL 232,0,16,40,84,40,16,0,0 1370 SYMBOL 233,0,0,0,24,24,0,0,0 1380 SYMBOL 234,0,0,0,16,0,0,0,0 1390 SYMBOL 235,255,195,189,189,189,189,195,255 1400 SYMBOL 236,0,62,54,42,54,62,0,0 1410 SYMBOL 237,0,0,28,28,28,0,0,0 1420 SYMBOL 238,96,240,249,239,249,240,96,0 1430 SYMBOL 239,6,15,159,247,159,15,6,0 1440 SYMBOL 240,218,33,76,195,24,101,147,100 1450 MV=1:X=1:Y=21 1460 A$=CHR$(234)+CHR$(233)+CHR$(232)+CHR$(231) 1470 B$=CHR$(234)+CHR$(233)+CHR$(237)+CHR$(236)+CHR$(235) 1480 S=0 1490 LI=8:P=5 1500 RETURN 1510 PLOT 316,234,3:DRAWR 8,0:DRAWR 0,-8:DRAWR 8,0:DRAWR 0,-8:DRAWR -8,0:DRAWR 0,-8:DRAWR -8,0:DRAWR 0,8:DRAWR -8,0:DRAWR 0,8:DRAWR 8,0:DRAWR 0,8 1520 DRAWR -80,154,2:DRAWR 168,0:DRAWR 0,-50:DRAWR -168,0:DRAWR 0,50:PLOT 236,338:DRAWR 80,-104:DRAWR 8,0,3:DRAWR 80,104,2:DRAWR 0,50:DRAWR -80,-154 1530 PLOT 316,210:DRAWR -80,-154:DRAWR 168,0:DRAWR 0,50:DRAWR -168,0:DRAWR 0,-50:DRAWR 0,50:DRAWR 80,104:DRAWR 8,0,3:DRAWR 80,-104,2:DRAWR 0,-50:DRAWR -80,154 1540 PLOT 308,226:DRAWR -214,142:DRAWR 60,0:DRAWR 0,-292:DRAWR-60,0:DRAWR 0,292:DRAWR 60,0:DRAWR 154,-142:DRAWR 0,-8,3:DRAWR -214,-142,2:DRAWR 60,0:DRAWR 154,142 1550 PLOT 332,226:DRAWR 214,142:DRAWR -60,0:DRAWR 0,-292:DRAWR 60,0:DRAWR 0,292:DRAWR -60,0:DRAWR -154,-142:DRAWR 0,-8,3:DRAWR 214,-142,2:DRAWR -60,0:DRAWR -154,142 1560 RETURN 1570 PEN 3:FOR F=1 TO 24:LOCATE F+1,F+1:PRINT CHR$(24);"ENERGY FIELD";CHR$(24);:SOUND 1,(F*30+F),3:NEXT F:PEN 1 1580 FOR X=1 TO 250:NEXT 1590 RETURN 1600 PRINT TAB(14);"ENERGY FIELD" 1610 PEN 2:PRINT:PRINT"Guard the tube with your craft by setting up energy shields at the 4 open ends of the system." 1620 PRINT"Setting one up at a tube NOT containing an enemy will result in your destruction." 1630 PEN 3:PRINT:PRINT"Move UP and DOWN using the cursor keys." 1640 PEN 2:PRINT:PRINT 1650 PRINT"Use SPACEBAR to place an energy field at a tube mouth. Letting an enemy past or self destructing results in power loss and if this is too great then the game is over." 1660 PEN 3:PRINT: PRINT: PRINT" PRESS ANY KEY TO START THE GAME " 1670 IF INKEY$<>"" THEN 1670 1680 IF INKEY$="" THEN 1680 ELSE CLS 1690 RETURN 1700 FOR DX=1 TO 2:FOR PX=1 TO 4:READ P(DX,PX),Q(DX,PX):NEXT PX,DX:RETURN 1710 DATA 1,21,8,1,24,1,22,21 1720 DATA 6,1,22,1,24,21,8,21 |