510 FOR J = 1 TO 6: POKE 768,T(J): POKE 769,D(J): CALL 770: NEXT : GOTO 530
520 FOR J = 1 TO 6: POKE 768,100: POKE 769,30: CALL 770: NEXT
530 FOR W = 1 TO 1000: NEXT : TEXT : HOME : PRINT "LEVEL "LE" SCORE:";: HTAB 30: PRINT SPC( SC <1000)SC: VTAB 3: HTAB 1: IF NOT NS THEN PRINT "NO STEPS REMAINING!": GOTO 580: REM 1 AND 1 SPACE
540 VTAB 5: HTAB 1: IF NOT TL THEN PRINT "YOUR TIME WAS UP!": GOTO 580
550 VTAB 3: HTAB 1: PRINT "IN "ST -NS +1" STEPS"
560 VTAB 5: HTAB 1: PRINT "REMAINING TIME: " INT(TL);:TB = INT(TL *LE/2): HTAB 23: FLASH : PRINT "BONUS:";: NORMAL : PRINT " " SPC( TB <1000) SPC( TB <100) SPC( TB <10)TB:SC = SC +TB:TS = TS +TB: IF NS THEN BW = NS *25: REM 1 AND 1 SPACE
570 IF BW THEN VTAB 3: HTAB 23: FLASH : PRINT "BONUS:";: NORMAL : PRINT " " SPC( BW <1000) SPC( BW <100)BW:SC = SC +BW:TS = TS +BW: REM 1 SPACE
580 IF LE = 1 THEN V = 9: GOTO 600
590 FOR V = 9 TO 7 +LE: VTAB V: HTAB 3: PRINT "SCORE LEVEL "; SPC( V -8 <10)V -8": ";S$(V -8): NEXT
600 VTAB V: HTAB 3: PRINT "SCORE LEVEL "; SPC( LE <10)LE": ": REM 1 AND 1 SPACE
610 VTAB 6: HTAB 30: PRINT "----":S$(LE) = RIGHT$(" " + STR$(SC),4): VTAB 7: HTAB 30: PRINT S$(LE): FOR W = 1 TO 300: NEXT : REM 4 SPACES
620 FOR V1 = 7 TO V -1: VTAB V1: HTAB 30: PRINT " ": VTAB V1 +1: HTAB 30: PRINT S$(LE): FOR W = 1 TO 70: NEXT : NEXT : REM 4 SPACES
630 FOR H = 30 TO 19 STEP -1: VTAB V: HTAB H: PRINT S$(LE)" ": FOR W = 1 TO 70: NEXT : NEXT : REM 1 SPACE
640 BW = 0:TB = 0:SC = 0:ER = 0:ST = 0: FOR I = 1 TO 11: FOR J = 1 TO 5:F(I,J) = 0:S(I,J) = 0: NEXT : NEXT :TI = 0: FOR I = 1 TO 18:SH(I) = 0:FL(I) = 0: NEXT
650 POKE -16368,0: IF LE <10 THEN VTAB 22: HTAB 1: PRINT "PRESS <ESCAPE> TO QUIT": VTAB 23: HTAB 1: PRINT "ANY OTHER KEY FOR LEVEL "LE +1;: GET A$: PRINT : IF A$ < > CHR$(27) THEN NEXT LE
720 TEXT : HOME : VTAB 3: HTAB 11: INVERSE : PRINT " MARY'S GARDEN ": NORMAL : REM 1 AND 1 SPACE
730 VTAB 5: HTAB 12: PRINT "BY TIMOTHY THOMAS"
740 VTAB 7: HTAB 10: PRINT "COPYRIGHT (C) 1989"
750 VTAB 9: HTAB 10: PRINT "BY MICROSPARC, INC."
760 FOR I = 1 TO 6: VTAB 12: HTAB I *6 -4: PRINT CHR$(220)"! !/": HTAB I *6 -4: PRINT " " CHR$(220)" /": REM 1 AND 1 SPACE
770 HTAB I *6 -4: PRINT " !": HTAB I *6 -4: PRINT CHR$(223) CHR$(223)"!" CHR$(223) CHR$(223) CHR$(223): FOR W = 1 TO 300: NEXT : NEXT
780 VTAB 21: PRINT "PRESS RETURN TO CONTINUE";: GET WW$: VTAB 5: HTAB 1: CALL -958: HTAB 15: PRINT "LEVEL: 1": PRINT : REM 1 SPACE
790 PRINT "INSTRUCTIONS: USE THE CURSOR KEYS TO": PRINT "MOVE THE OBJECTS TO THEIR APPROPRIATE": PRINT "SPACES. SPEED AND FEW STEPS ARE SCORE": PRINT "FACTORS. MISTAKES REDUCE THE SCORE.": PRINT
800 DIM X(11),Y(5),S(11,5),R1(18),FL(18),SH(18),F(11,5),R(11,5),T(6),D(6)
810 FOR J = 770 TO 790: READ I: POKE J,I: NEXT : DATA 173,48,192,136,208,5,206,1,3,240,9,202,208,245,174,0,3,76,2,3,96
820 FOR I = 1 TO 6: READ T(I),D(I): NEXT : DATA 250,50,185,50,145,50,123,85,145,50,123,120
830 ESC = 155:SP = 160: VTAB 12: HTAB 1: CALL -958: PRINT "ENTER THE KEYS YOU WANT TO USE FOR": PRINT
840 VTAB 14: HTAB 1: PRINT " LEFT MOVEMENT ";: GET L$:L = ASC(L$) +128: IF L = SP OR L = ESC THEN PRINT CHR$(7);: GOTO 840
850 IF L = 136 THEN PRINT "LEFT ARROW": GOTO 880
860 IF L <160 THEN PRINT "CONTROL-" CHR$(L +64): GOTO 880
870 PRINT CHR$(L)
880 VTAB 15: HTAB 1: PRINT "RIGHT MOVEMENT ";: GET R$:R = ASC(R$) +128: IF R = SP OR R = ESC THEN PRINT CHR$(7);: GOTO 880
890 IF R = 149 THEN PRINT "RIGHT ARROW": GOTO 920
900 IF R <160 THEN PRINT "CONTROL-" CHR$(R +64): GOTO 920
910 PRINT CHR$(R)
920 VTAB 16: HTAB 1: PRINT " DOWN MOVEMENT ";: GET D$:D = ASC(D$) +128: IF D = SP OR D = ESC THEN PRINT CHR$(7);: GOTO 920
930 IF D = 138 THEN PRINT "DOWN ARROW": GOTO 960
940 IF D <160 THEN PRINT "CONTROL-" CHR$(D +64): GOTO 960
950 PRINT CHR$(D)
960 VTAB 17: HTAB 1: PRINT " UP MOVEMENT ";: GET U$:U = ASC(U$) +128: IF U = SP OR U = ESC THEN PRINT CHR$(7);: GOTO 960: REM 3 SPACES
970 IF U = 139 THEN PRINT "UP ARROW": GOTO 1000
980 IF U <160 THEN PRINT "CONTROL-" CHR$(U +64): GOTO 1000
990 PRINT CHR$(U)
1000 IF (R = L) OR (R = U) OR (R = D) OR (L = U) OR (L = D) OR (D = U) THEN PRINT CHR$(7): GOTO 830
1010 VTAB 19: PRINT "<ESC> TO RE-START, <RETURN> TO CONFIRM ";: GET A$: PRINT : IF A$ = CHR$(27) THEN 830
1020 IF PEEK(24576) = 18 AND PEEK(233) = 96 THEN 1040
1080 FOR I = 35 TO 159 STEP 30: HPLOT 0,I TO 279,I: NEXT : FOR I = 27 TO 252 STEP 25: HPLOT I,0 TO I,155: NEXT
1090 IF LE >1 THEN HOME : VTAB 3: HTAB 11: INVERSE : PRINT " MARY'S GARDEN ": NORMAL : PRINT : HTAB 15: PRINT "LEVEL: "LE: PRINT : REM 1,1, AND 1 SPACE
1100 PRINT "SETTING UP";: FOR I = 1 TO 11 STEP 2: FOR J = 1 TO 5 STEP 2: PRINT ".";
1110 S = INT( RND(1) *18 +1): IF FL(S) THEN 1110
1120 FL(S) = 1:S(I,J) = S:R(I,J) = INT( RND(1) *(LE/3) +.5) *16: NEXT : NEXT : FOR I = 1 TO 11: FOR J = 1 TO 5: ROT= 0: IF S(I,J) THEN ROT= R(I,J): DRAW S(I,J) AT X(I),Y(J)
1130 PRINT ".";: NEXT : NEXT :J = 0
1140 FOR T = 1 TO 18: PRINT ".";
1150 X = INT( RND(1) *11 +1):Y = INT( RND(1) *5 +1): IF F(X,Y) OR NOT S(X,Y) THEN 1150
1160 SH(T) = S(X,Y):F(X,Y) = 1:R1(T) = R(X,Y): NEXT : VTAB 22: HTAB 1: PRINT "PRESS <RETURN> TO CONTINUE ";: GET A$: PRINT : REM 1 SPACE