Back to Main page.
Back to Main tapes page.
1000 COM A[5,32],B[2,17],C[2],J[2],K[2,2],I,E,T,I$[255],Q1,F,W5,T$[4]
1010 COM P[2],D$[140],X5,U[2,2],A,M1,B,G1,N,F2,R[9],D1,D2,Q,G0,W,Y,P1
1020 COM A$[72],B$[72],C$[12],E$[12],M$[72],P$[10],H[6],R,R1,D9,U,G,P
1030 COM X,S$[11],H$[11],Y$[11],N$[10],R$[11],Z,K,L,R0,S5,C,G5,V,D3,J
1040 DIM E[20],Z[5,32],F[9],G[2],L[28],I[2],S[2]
1050 FILES MPROPS.B951
1060 IF NOT LEN(C$) THEN 1120
1070 MAT Z=A
1080 GOTO (23-W MAX 0)+(T=2) OF 2360,3950,3140,4090,3270,3270,5530,4230,4520,3990
1090 GOTO 2*(C[I]<0 OR D1) MAX (D9#0 AND T=I) OF 1590,1160
1100 GOSUB 1930
1110 W=W*(T#I)
1120 CHAIN Z,"MNOPLY.B951"
1130 PRINT '7;
1140 GOTO 1120
1150 REM ***** MORTGAGE PROPERTY - SELLHOUSES *****
1160 C=D9=V=0
1170 DEF FNC(Z)= NOT A[2,O+Z]*(A[4,O+Z]=I)
1180 MAT E=ZER
1190 READ #I,I
1200 FOR Y=I TO 40
1210 READ #I;A$,B,E1,H[I],H[2],H[3],H[4],H[5],H[6],H,G,M,O
1220 IF NOT G OR O#I AND O/3#INT(O/3) THEN 1240
1230 E[G]=FNC(0)+FNC(I)+FNC(2)*(M/G=3)
1240 IF B>3 OR A[3,O] OR NOT A[2,O] AND A[3,O] OR A[4,O]#I THEN 1330
1250 FOR Z=I+(B=3) TO 3+(B#3)+2*(B=I)
1260 IF A[2,O]#Z-I THEN 1320
1270 V=((H MAX H*5*(Z=6))/2/(A[5,O]-H[I]*(Z=5 AND B=I)-H[Z-(A[2,O]#0)]*(Z<5 AND B=I AND Z#I)))*(A[2,O]#0)
1280 V=V+(E1/2/A[5,O])* NOT (A[2,O]+A[3,O])
1290 IF V= 0 THEN 1100
1560 NEXT X
1570 GOTO 1100
1580 REM **** BUILD HOUSES - UNMORTGAGE PROPERTY *****
1590 S=I
1600 GOSUB 1620
1610 GOTO 1820
1620 C=V=100
1630 MAT E=ZER
1640 DEF FND(X)=A[I,O+X]* NOT A[3,O+X]
1650 READ #I,I
1660 FOR Y=I TO 40
1670 READ #I;A$,B,E1,H[I],H[2],H[3],H[4],H[5],H[6],H,G1,M,O
1680 IF B>3 OR A[4,O]#S OR A[2,O]=5 OR NOT (A[I,O]+A[2,O]+A[3,O]) OR NOT A[3,O] AND B>I THEN 1760
1690 V=((E1/2+E1*.1)/(A[5,O]*(7*(B=3) MAX I)))*A[3,O]+(H/H[A[2,O]+2])*(A[2,O]<5 AND B=I)
1700 GOTO (V>C OR B=I AND A[I,O] AND W5<0)*2 MAX (B>I OR A[3,O]) OF 1740,1760
1710 IF O#I AND O/3#INT(O/3) THEN 1730
1720 E[G1]=FND(0)+FND(I)+FND(2)*(M/G1=3)
1730 IF E[G1]#M/G1 THEN 1760
1740 C=V+C* NOT V
1750 N=Y
1760 NEXT Y
1770 IF C=100 THEN 1100
1780 READ #I,I
1790 ADVANCE #I;(N-1)*13,Z
1800 READ #I;A$,B,E1,H[I],H[2],H[3],H[4],H[5],H[6],H,G1,M,N
1810 RETURN
1820 GOTO (B=I)+2* NOT A[3,N]-I OF 1100,1880
1830 IF C[T]I) OF 2330,2320
2220 Y=Y+(5-A[2,N])*(B=I AND A[I,N]+A[3,N])
2230 IF N#I AND N/3#INT(N/3) THEN 2320
2240 G1=FNB(0)+FNB(I)+FNB(2)*(M/G=3)
2250 Z=A[2,N]+A[2,N+I]+A[2,N+2]*(M/G=3)-5*G1
2260 FOR X=0 TO (M/G-I)*A[I,N]*(B1=I)
2270 IF FNB(X) THEN 2300
2280 A[2,N+X]=INT(Z/(M/G-X-G1))
2290 Z=Z-A[2,N+X]
2300 G1=(G1-FNB(X))MAX 0
2310 NEXT X
2320 A[5,N]=(H[A[2,N]+I]+H[I]*A[I,N]* NOT A[2,N])*(B1=I)+H[A[I,N]+(B1=3) MAX I]*(B1>I)
2330 NEXT S
2340 D9=Y
2350 RETURN
2360 IF END #I THEN 1120
2370 B1=POS(M$,"-")+I
2380 READ #I,15;A$,H,D2,S$,H$,E$,Y$,I$,B,E1
2390 IF POS(M$[I,4],"*") THEN 4990
2400 IF B1=I AND W#23 OR W>31 AND NOT POS(M$,".") OR NOT Y AND (W=25 OR W=26) THEN 2720
2410 GOTO (W-22)*(W<32) OF 3000,2900,2580,2740,2760,2780,2800,2820,2840
2420 RESTORE 2990
2440 FOR X=I TO 6
2450 READ T$
2460 IF POS(M$,T$) THEN 2490
2470 NEXT X
2480 GOTO 2720
2490 Y=(Y MIN INT(LEN(I$)/14+I))
2500 IF (Y-I)*14-13>LEN(I$) OR NOT POS(M$,"/") THEN 2720
2510 I$[Y*14-13,Y*14-3]=M$[B1,B1+5+5*(POS(M$,".")#0) MIN (POS(M$,"/")-I MAX I)]
2520 I$[Y*14-T,Y*14]="OE2"
2530 CONVERT X TO I$[Y*14-I,Y*14-I]
2540 I$[Y*14-T,Y*14-T]=I$[Y*14-T+ NOT G1,Y*14-T+ NOT G1]
2550 SYSTEM M$,"TIM"
2560 T$[I,4]=M$
2570 GOTO 2950
2580 ASSIGN S$,I,Z,'10'13"`"
2600 IF NOT Z THEN 2630
2610 PRINT "SGF FILE MISSING."
2620 GOTO 1120
2630 IF END #I THEN 2690
2640 LOCK #I
2650 PRINT #I,(Y*2)-I
2660 UNLOCK #I
2670 PRINT "RECORD #"(Y*2)-I"DELETED"
2680 GOTO 1120
2690 CONVERT Y TO A$
2700 PRINT "RECORD #"A$" OUT OF RANGE."
2710 GOTO 1120
2720 PRINT "ILLEGAL FORMAT: "M$
2730 GOTO 1120
2740 I$[Y*14-13 MIN LEN(I$)]=I$[(Y+I)*14-13 MIN LEN(I$)]
2750 GOTO 2950
2760 D2=Y
2770 GOTO 2950
2780 S$[I,11]=M$[B1]
2790 GOTO 2850
2800 H$[I,11]=M$[B1]
2810 GOTO 2850
2820 E$[I,11]=M$[B1]
2830 GOTO 2850
2840 Y$[I,11]=M$[B1]
2850 ASSIGN M$[B1],I,Z
2860 ASSIGN "MPROPS.B951",I,Z
2870 IF NOT Z OR Z<3 AND (W=29 OR W=30) THEN 2950
2880 PRINT "NO SUCH FILE AS "'34M$[B1]'34"."
2890 GOTO 2950
2900 A$=M$[B1]
2910 IF NOT LEN(A$) THEN 2720
2920 FOR X=I TO LEN(A$)
2930 A$[X,X]=CHR$(NUM(A$[X])+X)
2940 NEXT X
2950 LOCK #I
2960 PRINT #I,15;A$,H,D2,S$,H$,E$,Y$,I$,B,E1
2970 UNLOCK #I
2980 GOTO 1120
2990 DATA "PRI-","PRO-","LOC-","UNR-","MWA-","SWA-","CRE-","CLE-","LEN-","CHA-"
3000 A$=" SUCUNSNATONE"
3010 PRINT LIN(-I);
3020 FOR X=I MAX Y TO LEN(I$)/14
3030 CONVERT I$[X*14-I,X*14-I] TO V
3040 RESTORE
3050 FOR Z=I TO V
3060 READ B$
3070 NEXT Z
3080 CONVERT I$[X*14,X*14] TO V
3090 V=V MAX (NUM(I$[X*14-T])=79)*3
3100 PRINT X;B$;I$[X*14-13,X*14-3];TAB(22);"["A$[(V+I)*3,(V+I)*3+T]"]"
3110 NEXT X
3120 PRINT LIN(-I)"SGF FILE = "S$;LIN(I)"HFL FILE = "H$;LIN(I)"RFL FILE = "R$;LIN(I)"SYF FILE = "Y$;LIN(I)"SGD ="D2;LIN(I)"GAMES WON ="E1;LIN(I)"GAMES LOST ="B;LIN(-T)
3130 GOTO 1120
3140 READ #I,15
3150 IF END #I THEN 3190
3160 IF TYP(I)=I THEN 3190
3170 READ #I,15;A$
3180 GOTO 1120
3190 IF NOT POS(M$,"*") THEN 2720
3200 M$=M$[POS(M$,"*")+I]
3210 FOR X=I TO LEN(M$)
3220 M$[X,X]=CHR$(NUM(M$[X])+X)
3230 NEXT X
3240 LOCK #I
3250 PRINT #I,15;M$,0,0,'3,'3,'3,'3,'3,0,0
3260 GOTO 1120
3270 ASSIGN S$,I,Z,'10'13"`"
3280 IF Z THEN 2610
3290 GOTO (W-17)*(LEN(P$) AND NOT POS(M$,"/NP")) OF 3650,1120
3300 SYSTEM Y,"ECH-OFF"
3310 PRINT "PASSWORD: ";
3320 LINPUT I$
3330 UNLOCK #I
3340 PRINT '13'0;
3350 IF I$="" THEN 3530
3360 P$=I$[I,LEN(I$) MIN 10]
3370 P$=UPS$(P$)
3380 PRINT '13'0;
3390 IF W=18 THEN 3570
3400 IF END #I THEN 3480
3410 FOR X=I TO 32767 STEP T
3420 READ #I,X
3430 GOTO TYP(-I)-T OF 3480,3470
3440 READ #I;U,A,C$,M$,B$,X2,X3,R,R1,Y,Y,Y,G,H
3450 IF H AND NOT POS(T$,B$) THEN 3470
3460 IF M$=P$ THEN 3510
3470 NEXT X
3480 PRINT "ILLEGAL ACCESS"
3490 C$=""
3500 GOTO 3300
3510 X5=X
3520 MAT READ #I;A,B,C,J,K,P,R,U
3530 PRINT '13;
3540 SYSTEM Z,"ECHO-ON"
3550 GOTO 1120
3560 REM *** STORE GAME ***
3570 PRINT "CONFIRM: ";
3580 LINPUT I$
3590 PRINT
3600 IF I$[I,LEN(I$) MIN 10]#P$ THEN 3300
3610 FOR X=I TO LEN(P$)
3620 IF NUM(P$[X])<33 OR NUM(P$[X])>94 THEN 3930
3630 NEXT X
3640 P$=UPS$(P$)
3650 SYSTEM Y,"ECH-ON"
3660 LOCK #I
3670 IF END #I THEN 3720
3680 IF TYP(I)#3 THEN 3720
3690 FOR X=I TO 32767 STEP T
3700 PRINT #I,X
3710 NEXT X
3720 M=0
3730 IF END #I THEN 3900
3740 IF NOT X5 OR NOT POS(M$,"/NP") THEN 3770
3750 PRINT #I,X5
3760 X5=X5* NOT POS(M$,"/NP")
3770 FOR Z=-T TO T STEP T
3780 FOR X=I TO 32767 STEP T
3790 READ #I,X
3800 GOTO (TYP(-I)+Z)*(TYP(-I)>T) OF 3900,3890,3900,3860,3910,3860
3810 READ #I,X;Y,Y,A$,I$,A$,X2,X3
3820 M=M MAX (TIM(3)-X3)*365+TIM(T)-X2
3830 IF Z=T AND (TIM(3)-X3)*365+TIM(T)-X2 >= M AND M>D2 AND D2 THEN 3860
3840 IF P$#I$ THEN 3890
3850 IF NOT X5 AND POS(P$,I$) AND POS(I$,P$) THEN 3930
3860 PRINT #I,X;U,A,C$,P$,T$,TIM(T),TIM(3),R,R1,TIM(I),TIM(4),TIM(0),(POS(M$,"/P")>0) MAX T*(POS(M$,"/U")>0),POS(M$,"/AP")
3870 MAT PRINT #I;A,B,C,J,K,P,R,U
3880 STOP
3890 NEXT X
3900 NEXT Z
3910 PRINT "NO ROOM IN FILE."
3920 GOTO 1120
3930 PRINT "INVALID PASSWORD."
3940 GOTO 3300
3950 ASSIGN R$,I,Z
3960 IF Z<3 THEN 4030
3970 PRINT "RULES FILE NOT FOUND."
3980 GOTO 1120
3990 ASSIGN H$,I,Z
4000 IF Z<3 THEN 4030
4010 PRINT "INSTURCTIONS FILE CAN'T BE FOUND."
4020 GOTO 1120
4030 PRINT "Line up the printing head with the top of the next page and"'13'10"hit the return key."
4040 LINPUT I$
4050 IF TYP(I)#2 THEN 1120
4060 READ #I;I$
4070 PRINT I$
4080 GOTO 4050
4090 ASSIGN Y$,I,Z
4100 IF END #I THEN 1120
4110 PRINT LIN(-T);" NAME IDCODE KB DATE";SPA(7+T* NOT G)"TIME"
4120 PRINT "----------------------------------------------"
4130 IF Z>T THEN 1120
4140 FOR X=I TO 32
4150 READ #I;A$,Z,H,V,N,B,E[6],E[7],E[8],E[9]
4160 IF Y AND 60*(((TIM(3)-N)*365+TIM(T)-V)*24+TIM(I)-H)+TIM(0)-Z>Y OR NOTE[6] THEN 4200
4170 GOSUB 4820
4180 CONVERT X TO N$
4190 PRINT A$[I,17];TAB(19+(X<10));N$" "M$[I,9]" "M$[10,18+5* NOT G]
4200 NEXT X
4210 PRINT LIN(-T);
4220 GOTO 1120
4230 ASSIGN S$,I,X,'10'13"`"
4240 PRINT LIN(-T);" NO. NAME PASSWORD IDCODE DATE";TAB(47+T* NOT G);"TIME"
4250 PRINT "----------------------------------------------------------"
4260 IF X THEN 1120
4270 IF END #I THEN 4380
4280 B1=POS(M$,".")+I
4290 FOR X=B1+I TO B1+4
4300 N$=M$[B1,X-I]
4310 CONVERT M$[X,X] TO Z,4330
4320 NEXT X
4330 M$[B1,X-I]=" "
4340 GOSUB 6390
4350 X=X+T
4360 READ #I,X
4370 GOTO 4350
4380 IF END #I THEN 4490
4390 FOR D=I TO X STEP T
4400 READ #I,D
4410 GOTO TYP(-I)-T OF 4490,4480
4420 READ #I;N,N,A$,B$,E$,V,N,M,M,H,B,Z,C,J
4430 IF NOT POS(E$,N$) AND B1#I OR (TIM(3)-N)*365+TIM(T)-V-I>Y AND Y THEN 4480
4440 GOSUB 4820
4450 IF P1 OR C=T OR (C OR J) AND POS(T$,E$) THEN 4470
4460 B$="-------"
4470 PRINT (REC(I)+1)/2;TAB(5);A$;TAB(17);B$;TAB(28);E$;TAB(34);M$[I,9];SPA(T);M$[10,22]
4480 NEXT D
4490 PRINT LIN(-T);
4500 GOTO 1120
4510 REM **PRINT BOARD****
4520 B$="NO YES /PU/LI/MA/OR/RE/YE/GR/DA/RR/UT/UN/MO/HO/NO/C /I "
4530 V=0
4540 MAT E=ZER
4550 FOR X=I TO 16
4560 E[X]=POS(M$,B$[6+3*X,8+3*X-(X>14)])
4570 V=V+E[X]*(X<11)
4580 NEXT X
4590 I$=" PURPLE LIGHT BLUE MAROON ORANGE RED YELLOW GREEN DARK BLUE RAILROAD UTILITY "
4600 M$="*UNOWNED* COMPUTER "
4610 M$[20+INT(10/LEN(C$) MIN 4)]=C$
4620 PRINT LIN(-4);TAB(7);"PROPERTY HOUSES RENT MORTGAGED MONOPOLY OWNER"
4630 PRINT "-----------------------------------------------------------------"
4640 READ #I,I
4650 FOR X=I TO 40
4660 READ #I;A$,B,E,Y,Y,Y,Y,Y,Y,H,G,M,N
4670 IF B>3 OR NOT E[14+A[4,N]] AND E[14]+E[15]+E[16] OR E[11]+E[12] AND NOT E[11+A[3,N]] OR E[13] AND ( NOT A[I,N] OR B>I) OR NOT E[G+(B+7)* NOT G] AND V THEN 4790
4680 CONVERT E/T* NOT A[3,N]+(E/T+E*.1)*A[3,N] TO E$
4690 PRINT A$;TAB(22);
4700 GOTO (A[4,N]#0)*B+I OF 4770,4710,4750,4770
4710 GOTO (A[T,N]=5) MAX T* NOT A[I,N] OF 4740,4750
4720 PRINT USING "#,XXD";A[T,N]
4730 GOTO 4750
4740 PRINT "HOTEL";
4750 CONVERT A[5,N]* NOT A[3,N] TO A$
4760 PRINT TAB(29);"$"A$;
4770 PRINT TAB(35);B$[(A[3,N]+I)^T,T+(A[3,N]+I)^T];TAB(38+(LEN(E$)<3));"[$"E$"]";
4780 PRINT TAB(45);I$[10*(G+(B+7)* NOT G)-9,10*(G+(B+7)* NOT G)];TAB(56);M$[10*(A[4,N]+I)-9,10*(A[4,N]+I)]
4790 NEXT X
4800 PRINT LIN(-4);
4810 GOTO 1120
4820 S=N/4=INT(N/4)
4830 DEF FNA(B)=V>B+S
4840 M$="00-000-0000:00:00 a.m. noonmid.JanFebMarAprMayJunJulAugSepOctNovDec"
4850 M=(V>31)+FNA(59)+FNA(90)+FNA(120)+FNA(151)+FNA(181)+FNA(212)+FNA(243)+FNA(273)+FNA(304)+FNA(334)+I
4860 E=V-(30*((M>4)+(M>6)+(M>9)+(M>11))+31*((M>I)+(M>3)+(M>5)+(M>7)+(M>8)+(M>10))+28*(M>T)+(V>60)*S)
4870 M$[4,6]=M$[32+M*3,34+M*3]
4880 CONVERT E TO M$[I+(E<10),T]
4890 CONVERT N TO M$[8+(N<10),9]
4900 M=H-(12*(H>12)-12* NOT H)* NOT G
4910 CONVERT M TO M$[10+(M<10),11]
4920 CONVERT Z TO M$[13+(Z<10),14]
4930 CONVERT B TO M$[16+(B<10),17]
4940 E1=4*(G#0) MAX (8+4* NOT H)* NOT (Z+B+G)*( NOT H OR H=12)
4950 M$[19,22]=M$[19+E1,22+E1]
4960 IF H<12 OR G THEN 4980
4970 M$[19,19]="p"
4980 RETURN
4990 ASSIGN Y$,I,Z
5000 IF Z THEN 1120
5010 B=POS(M$,"*")
5020 E=POS(M$,"/")
5030 Z=POS(M$,"-")
5040 Y=K+I
5050 IF P1 THEN 5080
5060 CHAIN Z,M$[B+I]
5070 GOTO 1120
5080 CONVERT M$[E+I,Z-I+(LEN(M$)+I)* NOT Z] TO Y,2720
5090 GOTO (Y32)*T MAX (W=40) OF 5110,2720
5100 M$=M$[I,E-I MAX I]
5110 ADVANCE #I;(Y-I MAX 0)*10,Z
5120 READ #I;A$
5130 MAT READ #I;F
5140 IF NOT F[6] THEN 5420
5150 RESTORE
5160 FOR X=I TO 10*(B AND (E OR NOT P1))
5170 READ B$
5180 IF POS(B$,M$[I,3]) THEN 5210
5190 NEXT X
5200 GOTO 2720
5210 B$[5]=M$[B+I]
5220 F[6]=K+I
5230 GOTO X-6 OF 5350,5240,5440,5390
5240 A$[19,28]=B$
5250 F[8]=T
5260 LOCK #I
5270 READ #I,I
5280 ADVANCE #I;(Y-I MAX 0)*10,Z
5290 UPDATE #I;A$
5300 FOR X=I TO 9
5310 UPDATE #I;F[X]
5320 NEXT X
5330 UNLOCK #I
5340 GOTO 1120
5350 PRINT "LENGTH OF FILE: ";
5360 LINPUT E$
5370 CONVERT E$ TO F[7],5350
5380 GOTO 5240
5390 A$[29,39]=M$[B+I]
5400 F[9]=T
5410 GOTO 5260
5420 PRINT "KB:";Y;"NOT USED."
5430 GOTO 1120
5440 PRINT A$[40,44]" USED OF "A$[45]" RECORDS PERMITTED."
5450 Z=POS(M$,"-")
5460 IF NOT LEN(M$[Z+I]) OR NOT Z THEN 1120
5470 A$[I,10]=" "
5480 A$[I,LEN(M$[Z+I])]=M$[Z+I,(Z+10) MIN LEN(M$)]
5490 F[7]=I
5500 F[6]=LEN(M$[Z+I])
5510 GOTO 5260
5520 REM **** USER OFFERS TRADE *****
5530 PRINT "TRADE COMMAND NOT READY."
5550 GOTO 1120
6390 Y=-I*(W=17)
6400 FOR B=LEN(M$) TO 0 STEP -I
6410 FOR Z=I TO B
6420 CONVERT M$[Z,B] TO Y,6450
6430 Y=INT(ABS(Y))
6440 RETURN
6450 NEXT Z
6460 NEXT B
6470 RETURN
6650 REM
6660 END