10 REM *********************** 20 REM **** ALL FALL DOWN **** 30 REM **** By K.Swallow **** 40 REM *********************** 50 MODE 7:VDU23;8202;0;0;0; 55 DIM AD$(8),A$(4),B(4),X(10),Y(10) 60 FORI=1TO8:READ AD$(I):NEXT 61 PRINTCHR$149;STRING$(38,",")'"‚ARROWSOFT,PO BOX2,RAVENSHEAD,NOTTS" 62 PROCDT(0,1,"DROP-IN: AN 'ARROWSOFT' FREE PROGRAM") 63 PRINTCHR$149;STRING$(38,",")'"‚ARROWSOFT, PO BOX 2, RAVENSHEAD, NOTTS" 70 PROCDT(0,6,"THE AIM IS TO LOWER ALL FIVE OF YOUR") 72 PROCDT(0,8,"COUNTERS TO THE BASE BEFORE THOSE OF") 74 PROCDT(0,10,"YOUR OPPONENT REACH THIS DESTINATION") 76 PROCDT(0,12,"PLAYERS TAKE TURNS TO SELECT ONE ROW") 78 PROCDT(0,14,"OF BLOCKS AND MOVE IT TO LEFT AND/OR") 80 PROCDT(0,16,"RIGHT TO PERMIT THE COUNTERS TO DROP") 85 PRINT'"‚CHECKOUT MICRONET 800 FOR LATEST GAMES" 90 PRINTCHR$149;STRING$(38,",")'''CHR$149;STRING$(38,",") 110 PROCDT(6,21,"ˆPRESS THE SPACE BAR") 120 REPEAT UNTIL INKEY$(0)=" " 140 CLS 150 V=1:W=1:PL=1:OH=0:SH=0:OC=0:SC=0 160 C%=0 170 FOR A=1 TO 5:X(A)=15-A:Y(A)=25:NEXT A 180 FOR A=6 TO 10:X(A)=21+A:Y(A)=25:NEXT A 190 Y(5)=4:Y(10)=4 200 FORI=0TO1:PRINTCHR$133;CHR$157;CHR$134;CHR$141;"A R R O W S O F T D R O P - I N":NEXT:FORI=0TO1:PRINTCHR$134;CHR$157;CHR$141;CHR$133:NEXT 210 FOR I=0TO8:FORJ=0TO1:PRINTCHR$134;CHR$157;CHR$141;CHR$133;CHR$157;" ";CHR$156;SPC(25);CHR$133;CHR$157;CHR$134;" ";CHR$157:NEXT:NEXT:FORI=0TO1:PRINTCHR$134;CHR$157;CHR$133;CHR$141:NEXT 215 FORI=0TO1:PRINTTAB(X(5),Y(5)+I);"O";TAB(X(10),Y(10)+I);"*":NEXT 240 REM ******************** 250 REM **** MAZE MAKER **** 260 REM ******************** 270 A$(1)=STRING$(7,CHR$255)+" =f9f9n "+STRING$(7,CHR$255) 290 FOR H=2 TO 4 300 FOR O=1 TO 24 310 IF RND(4)>1 THEN A$(H)=A$(H)+CHR$(255):GOTO 330 320 A$(H)=A$(H)+" " 330 NEXT O 340 NEXT H 350 FORH=1TO4:FORJ=2TO3:PRINTTAB(4,J+H*4);H;" ";CHR$156;CHR$(144+H);LEFT$(A$(H),24);TAB(33,J+H*4);CHR$134;CHR$157;CHR$133;H;" ":NEXT:B(H)=25:A$(H)=A$(H)+A$(H)+A$(H):NEXT 390 REM ******************* 400 REM **** MAIN LOOP **** 410 REM ******************* 420 PROCDT(4,22,CHR$(133+C%)+"SELECT THE ROW NUMBER (1-4)") 425 PL=NOT PL:IF PL=1 M$="O" ELSE M$="*" 435 FORI=2TO3:PRINTTAB(5,I);SPC(32):NEXT:FORI=2TO3:PRINTTAB(5+(2-PL)*5,I)"PLAYERˆ";M$:NEXT 440 R=INKEY(0)-48 450 W=NOT W:IF W=-2 V=NOT V 460 IF W=1 C=2:GOTO 490 470 IF V=1 C=1 480 IF V=-2 C=3 490 500 FORA=1TO120:NEXT 510 IF R<1 OR R>4 THEN 440 520 PROCDT(4,22,CHR$(133+C%)+"Z=LEFT X=RIGHT SPACE=FINISH") 560 REM ************************ 570 REM **** PLATFORM MOVER **** 580 REM ************************ 590 L=32:FL=0 600 REPEAT 610 FOR A=1 TO 10:IF Y(A)>22 THEN 640 620 IF FNREADCH(X(A),Y(A)+2)=32 THEN PROCF 630 IF INKEY(-99) FL=1 640 NEXT A 650 IF INKEY(-98) THEN B(R)=B(R)+1 660 IF INKEY(-67) THEN B(R)=B(R)-1 670 IF B(R)=49 THEN B(R)=25 680 IF B(R)=1 B(R)=31 690 FORI=0TO1:PRINTTAB(8,(2+R*4)+I);CHR$(144+R);MID$(A$(R),B(R),24):NEXT 700 IF INKEY(-99) FL=1 710 UNTIL FL 720 IF M$="O" THEN OC=OC+1:IF OC<5 THEN Y(5-OC)=4:FOR I=0 TO 1:PRINTTAB(X(5-OC),4+I);"O":NEXT ELSE GOTO 740 730 GOTO 742 740 IF M$="*" THEN SC=SC+1:IF SC<5 THEN Y(10-SC)=4:FORI=0TO1:PRINTTAB(X(10-SC),4+I);"*":NEXT 742 C%=ABS(C%-1):FORI=0TO1:PRINTTAB(0,I)CHR$(133+C%);CHR$157;CHR$(134-C%);CHR$141:NEXT:FORI=2TO23:PRINTTAB(0,I)CHR$(134-C%);CHR$157;CHR$(133+C%);CHR$141:NEXT 744 FORI=4TO20 STEP4:FORJ=0TO1:PRINTTAB(33,I+J);CHR$(133+C%);CHR$157;CHR$(134-C%);" ";CHR$157:NEXT:NEXT 746 FORI=6TO18 STEP4:FORJ=0TO1:PRINTTAB(33,I+J);CHR$(134-C%);CHR$157;CHR$(133+C%);(I-2)/4;" ":NEXT:NEXT 750 GOTO420 760 REM ************************* 770 REM **** FALLING ROUTINE **** 780 REM ************************* 790 DEFPROCF 800 IF A<6 D$="O":GOTO 820 810 D$="*" 820 Y(A)=Y(A)+2:FORI=0TO1:PRINTTAB(X(A),(Y(A)-2)+I);" ":NEXT:FORI=0TO1 830 PRINTTAB(X(A),Y(A)+I);D$:NEXT 835 IF Y(A)=20 THEN 860 840 IF FNREADCH(X(A),Y(A)+2)=32 THEN 820 850 SOUND 0,-10,10,1 860 IF Y(A)=20 AND D$="O" THEN OH=OH+1:Y(A)=25:T%=8 870 IF Y(A)=20 AND D$="*" THEN SH=SH+1:Y(A)=25:T%=16 880 IF SH=5 OR OH=5 THEN PROCEND 900 ENDPROC 910 REM ************************* 920 REM **** CHARACTER CHECK **** 930 REM ************************* 940 DEFFNREADCH(X,Y) 950 LOCAL A%,LX,LY,C 960 LX=POS:LY=VPOS 970 VDU 31,X,Y 980 A%=135 990 C=USR(&FFF4) 1000 C=C AND &FFFF 1010 C=C DIV &100 1020 VDU 31,LX,LY 1030 =C 1040 REM ************************** 1050 REM **** ENDING PROCEDURE **** 1060 REM ************************** 1070 DEFPROCEND:CLS 1075 *FX 15,0 1080 FORI=2TO3:PRINTTAB(0,I)CHR$135;CHR$157;CHR$129;CHR$141;"OTHER BIG ARROWSOFT GAMES INCLUDE":NEXT 1082 FORI=1TO8:PROCDT(0,(I+1)*2,AD$(I)):NEXT 1090 FORI=22TO23:PRINTTAB(0,I)CHR$135;CHR$157;CHR$129;CHR$141;D$;"'S WIN THIS GAME PRESS SPACE BAR":NEXT 1100 REPEAT UNTIL INKEY$(0)=" " 1105 Z%=ABS(Z%-1) 1110 FORI=1TO4:A$(I)="":NEXT:GOTO140 1120 REM ***************************** 1130 REM **** DOUBLE HEIGHT PRINT **** 1140 REM ***************************** 1150 DEFPROCDT(X,Y,ME$) 1155 *FX21 1160 FOR A=0 TO 1 1170 PRINTTAB(X,Y+A);CHR$141;CHR$134;ME$:NEXT 1180 ENDPROC 1200 DATA "Starship Galacta","Spooky Mansion","Soccer Tycoon","Sea Giant","Fibbin' Robbers","Maze Raider","Word Wagon","The Committee"