Brain Terrain

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

Appears on

Assembled by Tim Ward from many sources. Contains programs 10001 – 10050.

Gallery

Brain Terrain

Source Code

   5 REM %B%R%A%I%N% %T%E%R%R%A%I%N
  10 FAST 
  20 RAND 
  30 DIM A$(11,4,22)
  40 DIM N(11)
  50 LET WL=32
  60 LET GW=0
  70 LET M=0
  80 LET Q$=""
  90 LET E$=CHR$ 11
 100 LET B$=CHR$ 0
 110 LET S$="*"
 120 FOR X=1 TO 5
 130 LET B$=B$+B$
 140 LET S$=S$+S$
 150 NEXT X
 160 LET V$="ACVEFSBMPT"
 170 LET L$="42232232222"
 180 LET T$="A34L4TN,B4036NNUZS,HXSAB>BS3205Y,J32705Y,R72565,C2VOX$564V2R5,9XSQR 3,I51AA7A,R206,Q2FI54FD,50XX0ZGZOUT,PEHOD64,VSEJPANVNAAJ,WPTB7Q,I516C,F774SO(XA39Y3W,TA4LAFCHA,4MFGNY,EUO3P8X2V,FA5(Q3T(T4C3,HT6C55UO5Y,V0IEHEJC,HAEOAA>UZWWAW,MYE5FG8L,02A7A,D;$$$:6O0ZZ:67S3:$$$;,"
 190 LET P=1
 200 FOR X=1 TO 11
 210 FOR Y=1 TO VAL L$(X)
 220 LET D$=""
 230 LET D$=D$+T$(P)
 240 LET P=P+1
 250 IF T$(P)<>CHR$ 26 THEN GOTO 230
 260 LET P=P+1
 270 LET A$(X,Y)=CHR$ (LEN D$)
 280 LET C=CODE D$(1)-27
 290 FOR Z=2 TO LEN D$
 300 LET N=CODE D$(Z)-C
 310 LET A$(X,Y)(Z)=CHR$ (N+36*((N<28) AND (N+C>27))+28*(N<0))
 320 NEXT Z
 330 NEXT Y
 340 NEXT X
 350 SLOW 
 360 LET R$="THOUGHT RECORDER, MODEL XIV (PATENT PENDING)"
 370 GOSUB 1000
 380 PRINT 
 390 LET R$="PRESS A ZONE KEY(A, B, C, E, F, M, P, S, T, OR V)TO ACCESS MEMORY"
 400 IF GW=1 THEN LET R$=R$+", "+E$+"H"+E$+" FOR HELP,"
 410 LET R$=R$+" OR "+E$+"G"+E$+" TO GUESS."
 420 GOSUB 1000
 430 LET TB=INT ((WL-LEN Q$)/2)
 440 LET NS=INT (RND*3+1)
 450 IF M=1 THEN LET NS=INT (RND*TB+1)
 460 LET N$=S$( TO NS)+Q$+S$( TO NS)
 470 PRINT AT 18,0;B$;
 480 PRINT AT 18,0;
 490 GOSUB 2000
 500 LET K$=INKEY$
 510 IF K$="" THEN GOTO 440
 520 IF K$="G" THEN GOTO 620
 530 IF K$="H" AND GW=1 THEN GOTO 760
 540 LET FL=0
 550 FOR X=1 TO 10
 560 IF V$(X)=K$ THEN LET FL=X
 570 NEXT X
 580 IF FL=0 THEN GOTO 440
 590 LET M=INT (RND*VAL L$(FL)+1)
 600 LET Q$=A$(FL,M)(2 TO CODE A$(FL,M,1))
 610 GOTO 430
 620 CLS 
 630 LET N$="SPACE/TIME MACHINE ACTIVE."
 640 GOSUB 2000
 650 PRINT AT 4,0;"INPUT YEAR."
 660 INPUT Y$
 670 IF Y$<>A$(11,1)(2 TO 5) THEN GOTO 720
 680 CLS 
 690 PRINT AT 10,11;"WHOOOOSH."
 700 PRINT AT 13,1;"SUBJECT RETURNED HOME SAFELY."
 710 STOP 
 720 LET GW=1
 730 CLS 
 740 PRINT AT 6,1;"FAILURE. INCORRECT TIME FRAME."
 750 GOTO 800
 760 CLS 
 770 LET R$="THE LAST WORDS MR.WINKLER HEARD WERE"
 780 GOSUB 1000
 790 PRINT AT 3,6;A$(11,2)(2 TO 21)
 800 LET Q$=""
 810 LET M=0
 820 PRINT AT 20,2;"(PRESS ANY KEY TO CONTINUE.)"
 830 LET K$=INKEY$
 840 IF K$="" THEN GOTO 830
 850 CLS 
 860 GOTO 360
1000 IF LEN R$>WL THEN GOTO 1040
1010 LET N$=R$
1020 GOSUB 2000
1030 RETURN 
1040 LET J=WL+1
1050 FOR I=WL+1 TO 1 STEP -1
1060 IF R$(I)<>CHR$ 0 THEN GOTO 1090
1070 LET J=I
1080 LET I=1
1090 NEXT I
1100 LET N$=R$( TO J-1)
1110 GOSUB 2000
1120 LET R$=R$(J+1 TO LEN R$)
1130 GOTO 1000
2000 PRINT TAB (WL-LEN N$)/2;N$;
2010 IF LEN N$<WL THEN PRINT 
2020 RETURN 
3000 SAVE "1003%2"
4000 RUN 

People

No people associated with this content.

Scroll to Top