3-D Escape

Date: 198x
Type: Program
Platform(s): TS 1000

Appears on

Assembled by Tim Ward from many sources. Contains programs 10211 – 10251.

Gallery

3-D Escape

Source Code

   1 REM "3-D ESCAP%E"
  10 GOSUB 3000
  20 POKE 16418,0
  30 LET X1=1
  40 PRINT AT 10,0;"% % %P%R%E%S%S% %A% %M%O%V%E%M%E%N%T% %K%E%Y% %T%O% %S%T%A%R%T"
 290 LET A$=INKEY$
 293 IF A$="F" AND M$(X+X1)="0" THEN LET X=X+X1
 294 IF A$="T" THEN LET X1=-X1
 295 IF A$="L" THEN LET X1=(X1=12)+(-1*(X1=-12))+(-12*(X1=1))+(12*(X1=-1))
 297 IF A$="R" THEN LET X1=(X1=-12)+(-1*(X1=12))+(-12*(X1=-1))+(12*(X1=1))
 299 IF A$="F" OR A$="T" OR A$="L" OR A$="R" THEN GOTO 315
 310 GOTO 290
 317 LET D=2*X1
 320 CLS 
 330 IF X=EX THEN GOTO 600
 340 PRINT AT 23,0;"%O%X%Y%G%E%N% % ";O$( TO O);" "
 360 IF M$(X+X1)="1" THEN PRINT AT 1,0;W$
 370 IF M$(X+X1)="1" THEN GOTO 290
 380 IF M$(X+(X1=12)+(-1*(X1=-12))+(-12*(X1=1))+(12*(X1=-1)))="1" THEN PRINT AT 1,0;"\ :\:.";AT 2,0;"\ :% \:.";AT 3,0;"\ :% % \:.";AT 4,0;"\ :% % % \:.";AT 5,0;"\ :% % % % \:.";AT 6,0;"\ :% % % % % \:.";AT 7,0;"\ :% % % % % % ";AT 8,0;"\ :% % % % % % ";AT 9,0;"\ :% % % % % % ";AT 10,0;"\ :% % % % % % % ";AT 11,0;"\ :% % % % % % ";AT 12,0;"\ :% % % % % % ";AT 13,0;"\ :% % % % % % ";AT 14,0;"\ :% % % % % % ";AT 15,0;"\ :% % % % % % ";AT 16,0;"\ :% % % % % \:'";AT 17,0;"\ :% % % % \:'";AT 18,0;"\ :% % % \:'";AT 19,0;"\ :% % % \:'";AT 20,0;"\ :% \:'";AT 21,0;"\ :\:'"
 390 IF M$(X+(X1+(X1=12)+(-1*(X1=-12))+(-12*(X1=1))+(12*(X1=-1))))="1" THEN PRINT AT 7,7;"\:.";AT 8,7;"% \:.";AT 9,7;"% % \:.";AT 10,7;"% % % ";AT 11,7;"% % % ";AT 12,7;"% % % ";AT 13,7;"% % \:'";4,7;"% \:'";AT 15,7;"\:'"
 400 IF M$(X+D)="1" THEN PRINT AT 10,10;"% % % ";AT 11,10;"% % % ";AT 12,10;"% % % "
 410 IF M$(X+(X1+(X1=-12)+(-1*(X1=12))+(-12*(X1=-1))+(12*(X1=1))))="1" THEN PRINT AT 7,15;"\.:";AT 8,14;"\.:% ";AT 9,13;"\.:% % ";AT 10,13;"% % % ";AT 11,13;"% % % ";AT 12,13;"% % % ";AT 13,13;"\':% % ";AT 14,14;"\':% ";AT 15,15;"\':"
 420 IF M$(X+(X1=-12)+(-1*(X1=12))+(12*(X1=1))+(-12*(X1=-1)))="1" THEN PRINT AT 1,21;"\.:\: ";AT 2,20;"\.:% \: ";AT 3,19;"\.:% % \: ";AT 4,18;"\.:% % % \: ";AT 5,17;"\.:% % % % \: ";AT 6,16;"\.:% % % % \: ";AT 7,16;"% % % % % % \: ";AT 8,16;"% % % % % % \: ";AT 9,16;"% % % % % % \: ";AT 10,16;"% % % % % % \: ";AT 11,16;"% % % % % % \: ";AT 12,16;"% % % % % % \: ";AT 13,16;"% % % % % % \: ";AT 14,16;"% % % % % % \: ";AT 15,16;"% % % % % % \: ";AT 16,16;"\':% % % % % \: ";AT 17,17;"\':% % % % \: ";AT 18,18;"\':% % % \: ";AT 19,19;"\':% % \: ";AT 20,20;"\':% \: ";AT 21,21;"\':\: "
 430 IF M$(X+(X1=12)+(-1*(X1=-12))+(-12*(X1=1))+(12*(X1=-1)))="0" THEN PRINT AT 7,0;"\##\##\##\##\##\##\##";AT 8,0;"\##\##\##\##\##\##\##";AT 9,0;"\##\##\##\##\##\##";AT 10,0;"\##\##\##\##\##\##\##";AT 11,0;"\##\##\##\##\##\##\##";AT 12,0;"\##\##\##\##\##\##\##";AT 13,0;"\##\##\##\##\##\##\##";AT 14,0;"\##\##\##\##\##\##\##";AT 15,0;"\##\##\##\##\##\##\##"
 440 IF M$(X+(X1+(X1=12)+(-1*(X1=-12))+(-12*(X1=1))+(12*(X1=-1))))="0" THEN PRINT AT 9,7;"\,,\,,\,,";AT 13,7;"\''\''\''";AT 10,7;"\##\##\##";AT 11,7;"\##\##\##";AT 12,7;"\##\##\##"
 450 IF M$(X+D)="0" THEN PRINT AT 10,10;"\:. \.:";AT 11,10;"% % % ";AT 12,10;"\:' \':"
 460 IF M$(X+(X1+(X1=-12)+(-1*(X1=12))+(-12*(X1=-1))+(12*(X1=1))))="0" THEN PRINT AT 9,13;"\,,\,,\,,";AT 13,13;"\''\''\''";AT 10,13;"\##\##\##";AT 11,16;"\##\##\##";AT 12,13;"\##\##\##"
 470 IF M$(X+(X1=-12)+(-1*(X1=12))+(-12*(X1=-1))+(12*(X1=1)))="0" THEN PRINT AT 7,16;"\##\##\##\##\##\##\##";AT 8,16;"\##\##\##\##\##\##\##";AT 9,16;"\##\##\##\##\##\##\##";AT 10,16;"\##\##\##\##\##\##\##";AT 11,16;"\##\##\##\##\##\##\##";AT 12,16;"\##\##\##\##\##\##\##";AT 13,16;"\##\##\##\##\##\##\##";AT 14,16;"\##\##\##\##\##\##\##";AT 15,16;"\##\##\##\##\##\##\##"
 480 LET O=O-.5
 490 IF INT O<0 THEN GOTO 1500
 510 IF X+D=EX OR X+X1=EX AND M$(X+X1)="0" THEN PRINT AT 11,11;"%E"
 540 GOTO 290
 600 CLS 
 610 PRINT "%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*"
 620 FOR A=1 TO 19
 630 PRINT "%*% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %*"
 640 NEXT A
 650 PRINT "%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*"
 660 FOR A=2 TO 7
 670 PRINT AT A,2;" "
 680 NEXT A
 690 PRINT AT 8,3;" %  ";AT 7,4;" "
 700 FOR A=2 TO 7
 710 PRINT AT A,8;" "
 720 NEXT A
 730 FOR A=2 TO 8
 740 PRINT AT A,8;" "
 750 NEXT A
 760 PRINT AT 2,9;" ";AT 5,9;" ";AT 8,9;" "
 770 FOR A=2 TO 8
 780 PRINT AT A,12;" "
 790 NEXT A
 800 PRINT AT 8,13;"  "
 810 FOR A=2 TO 8
 820 PRINT AT A,16;" "
 830 NEXT A
 840 PRINT AT 8,17;"  "
 850 FOR A=11 TO 17
 860 PRINT AT A,2;" "
 870 NEXT A
 880 PRINT AT 11,3;"  ";AT 12,5;" ";AT 13,6;" ";AT 14,6;" ";AT 15,6;" ";AT 16,5;" ";AT 17,3;"  "
 890 FOR A=12 TO 16
 900 PRINT AT A,8;"\ :% % \: "
 910 NEXT A
 920 PRINT AT 11,9;"   ";AT 17,9;"   "
 930 FOR A=11 TO 17
 940 PRINT AT A,14;" % % %  "
 950 NEXT A
 960 PRINT AT 12,15;" ";AT 13,16;" ";AT 14,17;" "
 970 FOR A=11 TO 17
 980 PRINT AT A,20;" "
 990 NEXT A
1000 PRINT AT 11,21;"  ";AT 14,21;" ";AT 17,21;"  "
1010 FOR A=11 TO 16
1020 PRINT AT 2,25;" "
1030 NEXT A
1040 PRINT AT 17,25;"%O";AT 16,25;"\.."
1050 PRINT AT 3,20;"%Y%O%U% %E%S%C%A%P%E%D";AT 5,20;"%Y%O%U% %H%A%D%:";INT O;AT 7,20;"%O%X%Y%G%E%N";AT 9,20;"%U%N%I%T%S% %L%E%F%T%."
1055 PRINT AT 19,4;"%P%R%E%S%S% %A%N%Y% %K%E%Y% %F%O%R% %R%E%P%L%A%Y"
1060 IF INKEY$="" THEN GOTO 1060
1070 CLS 
1080 RUN 
1500 CLS 
1510 FOR A=1 TO 22
1520 PRINT "% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % "
1530 NEXT A
1535 PRINT AT 3,10;"%O%X%Y%G%E%N% %G%A%U%G%E"
1540 PRINT AT 5,1;"\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\.."
1550 PRINT AT 12,1;"\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''"
1560 FOR A=6 TO 11
1570 PRINT AT A,1;"\ :           % % % % % % % % % % % % % % % % \: "
1580 NEXT A
1590 PRINT AT 13,1;"%0";AT 13,14;"%1%0";AT 13,28;"%2%0"
1600 FOR A=12 TO 2 STEP -1
1610 PRINT AT 6,A;"% ";AT 7,A;"% ";AT 8,A;"% ";AT 9,A;"% ";AT 10,A;"% ";AT 11,A;"% "
1620 NEXT A
1630 FOR A=6 TO 11
1640 PRINT AT A,3;" % % %  % % %  %  % % % % % %  "
1650 NEXT A
1670 PRINT AT 6,4;"  ";AT 8,4;" ";AT 11,4;"  "
1680 PRINT AT 7,8;" %  ";AT 8,9;" "
1690 PRINT AT 6,13;"   ";AT 7,16;" ";AT 8,16;" ";AT 9,14;"  "
1700 PRINT AT 6,18;"     %  % %  "
1710 PRINT AT 17,25;"  "
1720 FOR A=8 TO 11
1730 PRINT AT A,25;"\: \ :"
1740 NEXT A
1750 PRINT AT 18,3;"%P%R%E%S%S% %A%N%Y% %K%E%Y% %F%O%R% %R%E%P%L%A%Y"
1760 IF INKEY$="" THEN GOTO 1760
1770 CLS 
1780 RUN 
3000 PRINT "%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*"
3010 FOR A=1 TO 19
3020 PRINT "%*% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %*"
3030 NEXT A
3035 PRINT "%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*%*"
3040 FOR A=1 TO 8
3050 PRINT AT A,2;" "
3060 NEXT A
3070 PRINT AT 1,2;"   ";AT 4,2;"  ";AT 8,2;"   "
3080 PRINT AT 2,7;"   ";AT 4,7;"   ";AT 7,7;"   ";AT 3,6;" ";AT 5,10;" ";AT 6,10;" "
3090 FOR A=3 TO 6
3100 PRINT AT A,12;" "
3110 NEXT A
3120 PRINT AT 3,13;"   ";AT 6,13;"   "
3130 PRINT AT 4,17;"\: % % \ :";AT 5,17;"\: \..\..\ :";AT 6,17;"\:.% % \.:";AT 3,18;"\''\''"
3140 PRINT AT 4,22;"\ .\. ";AT 5,22;"\..\..";AT 5,22;"\ ."
3150 PRINT AT 4,25;"%E"
3160 PRINT AT 11,10;"%I%N%S%T%R%U%C%T%I%O%N%S"
3170 PRINT AT 11,10;"\..\..\..\..\..\..\..\..\..\..\..\.."
3180 PRINT AT 14,2;"%Y%O%U% %A%R%E% %T%R%A%P%P%E%D% %I%N% %A% %C%O%M%P%L%E%X"
3190 PRINT AT 15,1;"%M%A%Z%E%.%A%L%L% %Y%O%U% %H%A%V%E% %T%O% %D%O% %I%S"
3200 PRINT AT 16,1;"%E%S%C%A%P%E%.%U%S%E% %-%:% %F%-%F%O%R%W%A%R%D"
3210 PRINT AT 17,15;"%T%-%T%U%R%N% %A%R%O%U%N%D"
3220 PRINT AT 18,15;"%L%-%T%U%R%N% %L%E%F%T"
3230 PRINT AT 19,15;"%R%-%T%U%R%N% %R%I%G%H%T"
3240 LET I$="PRESS ANY KEY TO START THE GAME "
3241 LET I$=I$(2 TO )+I$(1)
3242 PRINT AT 21,0;I$
3250 IF INKEY$="" THEN GOTO 3241
3260 CLS 
3300 LET R=INT (RND*3)+1
3310 IF R=1 THEN LET M$="111111111111110001000001110111011101100010000001111000111101100010010001111111010111100000000011101010101001100010101101101000000001111111111111"
3320 IF R=2 THEN LET M$="111111111111101000001001101011011101100000000001111101010101100001011001101100000011101110111011100000000001101111010111101000000001111111111111"
3330 IF R=3 THEN LET M$="111111111111100001000001111101010101100000000101101010111101100010000001101000101111111011100011100001001001111101101101100000000001111111111111"
3450 LET O$="\ :\ :\ :\ :\ :\ :\ :\ :\ :\ :\ :\ :\ :\ :\ :\ :\ :\ :\ :\ :"
3460 LET O=20
3470 LET X=INT (RND*132)+1
3480 IF M$(X)<>"0" THEN GOTO 3470
3490 LET EX=INT (RND*132)+1
3500 IF M$(EX)<>"0" THEN GOTO 3470
3510 IF X=EX OR X+3=EX OR X-3=EX OR X+12=EX OR X-12=EX THEN GOTO 3470
3520 LET W$="\'.                      \.'        "
3540 FOR P=1 TO 19
3550 LET W$=W$+" % % % % % % % % % % % % % % % % % % % % % %          "
3560 NEXT P
3570 LET W$=W$+"\.'                      \'."
3750 RETURN 
3760 CLEAR 
3766 SAVE "1025%1"
3770 RUN 

People

No people associated with this content.

Scroll to Top