10 REM ASSET STRIPPER
20 REM R.ERSKINE.
30 MODE 1
35 BORDER 0:INK 0,0:INK 1,24:INK 2,14:INK 3,8: PAPER 0:PEN 2:CLS
40 CLEAR:CLS
45 pu$=CHR$(163)
50 PEN 1:PRINT"            ASSET STRIPPER":PEN 2
60 PRINT:PRINT:PRINT"WHAT'S YOUR NAME?": INPUT N$
70 PRINT::PRINT"ENTER LEVEL (1-3)":INPUT LEV
80 IF LEV<1 OR LEV>3 THEN 70
90 LOCATE 14,12:PEN 1:PRINT"PLEASE WAIT" :PEN 2
100 GOTO 2720
110 CLS
120 REM
130 PRINT N$;E$:PRINT
140 PRINT"LIQUID ASSETS ";TAB(20)pu$INT( (CH+0.005)*100)/100:PRINT
150 Q=0:Q1=0
160 FOR X=1 TO 10
170 Q=Q+E(X)
180 IF F$(X)="C" THEN 200
190 Q1=Q1+(E(X)*D(X))
200 NEXT
210 PRINT"SHARES HELD ";TAB(21)INT(0):PRINT
220 PRINT"TOTAL SHARE VALUE ";TAB(20);pu$;INT((Q1+0.005)*100)/100:PRINT
230 PRINT"TOTAL ASSETS ";TAB(20);pu$;INT((Q1+CH+0.005)*100)/100:PRINT
240 FOR T=1 TO 2000:NEXT T
250 IF Q1+CH>S THEN 2270
260 IF Q1+CH<0 THEN 2290
270 Q3=0
280 FOR X=1 TO 10
290 IF F$(X)="C" THEN 310
300 Q3=Q3+(F(X)*D(X))
310 NEXT X
320 IF Q3+ZXCH>S THEN 2290
330 IF Q3+ZXCH<0 THEN 2270
340 IF T$="X" AND CH+Q1>ZXCH+Q3 THEN 2270
350 IF T$="X" AND CH+01<ZXCH+Q3 THEN 2290 
360 PRINT M$;"CLAIMS ASSETS OF ";pu$;Q3+ZXCH:PRINT
370 FOR X=1 TO 4000:NEXT
380 RETURN
390 REM WIRE SERVICE
400 CLS:PEN 1:PRINT"WIRE SERVICE":PEN 2 
410 Q=0:Q1=0
420 M(1)=ASA
430 FOR X=1 TO 10
440 IF F$(X)="C" THEN TW$=" CEASED TRADING":GOSUB 2930
450 IF F$(X)="C" THEN 530
460 Q=Q+1
470 IF B(X)>A(X)AND E(X)<510000 AND F(X) <510000 THEN TW$="MAY BE RIPE FOR TAKEOVER":GOSUB 2930
480 IF G(X)<1 AND W(X)>59 THEN TW$="PROFITS LOW":GOSUB 2930
490 IF W(X)<60 THEN TW$="HEADS FOR TROUBLE":GOSUB 2930
500 IF G(X)>5 THEN TW$="SET FOR GOOD PROFITS":GOSUB 2930
510 IF V(X)>0 AND V(X)>=1 THEN TW$="ANNOUNCES "+STR$(INT(V(X)))+" REDUNDANCIES": GOSUB 2930
520 Q1=Q1+D(X)
530 NEXT X
540 IF Q=0 THEN T$="X":GOTO 130
550 ASA=Q1/Q
560 TW$="ALL SHARE AVERAGE "+STR$(INT((ASA+0.005)*100)/100):GOSUB 2950
570 IF ASA>M(1) THEN TW$="UP "+STR$(INT( ((ASA-M(1))+0.005)*100)/100):GOSUB 2950 
580 IF ASA<M(1) THEN TW$="DOWN "+STR$(INT(((M(1)-ASA)+0.005)*100)/100):GOSUB 2950
590 IF ASA>I(2) THEN TW$="ALL TIME HIGH" :GOSUB 2950
600 IF ASA >I(2)THEN I(2)=ASA
610 IF ASA<I(3)THEN TW$="ALL TIME LOW":GOSUB 2950
620 IF ASA<I(3)THEN I(3)=ASA
630 RETURN
640 REM
650 FOR X=1 TO 10
660 IF F$(X)="C"THEN 830
670 IF LEV=1 OR LEV=2 THEN 690
680 IF F$(X)="X"AND F(X)>0 AND F(X)<510000 THEN GOSUB 920
690 IF W(X)<61 AND F(X)<510000 THEN GOSUB 920
700 IF F$(X)="C"THEN 830
710 IF ZXCH<100 THEN 830
720 IF LEV =1 AND RND>0.5 THEN 760 
730 LET F=((((S/100)*51)-F(X))*D(X))
740 IF(B(X)/100)*51>F AND F<ZXCH AND F(X )<510000 AND E(X)<510000 AND G(X)<1 THEN 2210
750 IF F$(X)="C" THEN 830
760 IF ZXCH<100 THEN 830
770 TENTH=ZXCH/10
780 IF W(X)>60 AND G(X)>0 THEN GOSUB 850 
790 IF LEV=1 THEN 830
800 IF W(X)>60 AND G(X)>1 THEN GOSUB 850 
810 IF W(X)>60 AND G(X)>5 THEN GOSUB 850 
820 IF W(X)>60 AND G(X)>10 THEN GOSUB 850
830 NEXT X
840 RETURN
850 IF(TENTH/D(X))+E(X)+F(X)>L(X) THEN RETURN
860 IF F(X)<510000 AND (F(X)+(TENTH/D(X) ))>S THEN RETURN
870 A(X)=A(X)+TENTH*1.05
880 ZXCH=ZXCH-TENTH
890 F(X)=F(X)+INT(TENTH/D(X))
900 L(X)=L(X)-INT(TENTH/D(X))
910 RETURN
920 A(X)=A(X)-((F(X)*D(X))*1.05)
930 ZXCH=ZXCH+F(X)*D(X)
940 L(X)=L(X)+F(X)
950 F(X)=0
960 RETURN
970 PRINT
980 CLS:PEN 3:PRINT TAB(16);"SHARE PRICES":PEN 2
990 PRINT"COMPANY";TAB(16);"SHARE PRICE";TAB(34);"UP/DOWN"
1000 FOR X= 1 TO 10
1010 IF F$(X)="C" THEN PRINT C$(X);:PRINT TAB(17) "CLOSED DOWN"
1020 IF F$(X)="C" THEN 1040
1030 PRINT C$(X),USING "    ###.####.##    ";D(X);N(X)
1040 NEXT X
1050 PRINT"ALL SHARE AVERAGE ";INT((ASA +0.005)*100)/100
1060 PEN 3: PRINT:PRINT"YOU HAVE ";pu$;INT((CH+0.005)*100)/100:PEN 2
1070 RETURN
1080 INPUT"BUY HOW MANY ";Y
1090 IF Y*D(X)>CH THEN PRINT"YOU HAVE INSUFFICIENT CASH":GOTO 1080
1100 IF Y>L(X) THEN PRINT"NOT ENOUGH SHARES AVAILABLE":GOTO l080
1110 IF Y+E(X)>500000 AND E(X)<510000 THEN 1270
1120 CH=CH-(Y*D(X))
1130 L(X)=L(X)-Y
1140 A(X)=A(X)+(Y*D(X))*1.05
1150 E(X)=E(X)+Y
1160 X$="P"
1170 RETURN
1180 PEN 1:PRINT"HOW MANY DO YOU WISH TO SELL":PEN 2
1190 INPUT Y
1200 IF Y>E(X) THEN PRINT"YOU DO NOT HAVE THAT MANY":GOTO 1180
1210 CH=CH+(Y*D(X))
1220 L(X)=L(X)+Y
1230 A(X)=A(X)-((Y*D(X))*1.05)
1240 E(X)=E(X)-Y
1250 X$="P"
1260 RETURN
1270 T$="PHASEH"
1280 ZI=0.01
1290 CLS:PRINT TAB(7);"TAKEOVER BID":PRINT
1300 PRINT"YOUR SHAREHOLDING IS ";INT(E(X)*100)/S;" PERCENT"
1310 PRINT"CURRENT SHARE PRICE IS ";pu$;INT((D(X)+0.005)*100)/100
1320 PRINT"THERE ARE ";INT(L(X));" AVAILABLE"
1330 PRINT"YOU NEED ";INT(510000-E(X));" FOR MAJORITY"
1340 PRINT"THESE COST ";pu$;INT(((510000 -E(X))*D(X)+0.005)*100)/100;" AT MARKET PRICE"
1350 PEN 1:PRINT"YOU HAVE ";pu$;INT((CH+ 0.005)*100)/100:PEN 2
1360 EG=0
1370 FOR V=1 TO 10
1380 IF F$(V)<>"C" THEN EG=EG+(F(V)*D(V))
1390 NEXT V
1400 IF RND>0.1 THEN 1430
1410 PRINT"THIRD PARTY WINS BID":FOR T=I TO 2000:NEXT T
1420 GOTO 1690
1430 PRINT"HOW MUCH DO YOU BID PER SHARE"
1440 INPUT Z
1450 IF Z1>Z THEN 1520
1460 K1=A(X)+(510000*(Z+0.01))
1470 K2=(510000-F(X))*(Z+0.01)
1480 IF K1>K2 AND (ZXCH+EG)>K2 THEN Z1=Z +0.01
1490 IF Z1>Z THEN PRINT M$;" BIDS ";pu$: PRINT INT((Z1+0.005)*100)/100
1500 IF Z1>Z THEN 1400
1510 IF Z1<Z THEN GOSUB 1570
1520 IF Z1>Z THEN GOSUB 2250
1530 Z1=0
1540 Z=0
1550 IF T$="PHASEH" THEN 1160
1560 IF T$="PHASEM" THEN 830
1570 REM DISPOSAL
1580 PRINT
1590 Z1=0
1600 F=0
1610 PRINT"YOU WON THE BID"
1620 CH=CH-(Z*(510000-E(X)))
1630 A(X)=A(X)+Z*(510000-E(X))
1640 E(X)=E(X)+(510000-E(X))
1650 L(X)=S-(E(X)+F(X))
1660 PRINT"DO YOU WANT TO STRIP THE ASSETS OF THIS COMPANY (Y/N)"
1670 INPUT Y$
1680 IF MID$(Y$,1,1)="N" THEN RETURN
1690 PRINT" ASSETS    ARE    BEING DISTRIBUTED    AMONGST SHAREHOLDERS."
1700 PSH=(E(X)*100)/S
1710 ZXPSH=(F(X)*100)/S
1720 OO=B(X)/100
1730 CH=CH+(PSH*OO)
1740 ZXCH=ZXCH+(ZXPSH*O)
1750 IF A(X)<=0 THEN 1790
1760 D(X)=A(X)/S
1770 CH=CH+(E(X)*D(X))
1780 ZXCH=ZXCH+(F(X)*D(X))
1790 F$(X)="C"
1800 L(X)=0 
1810 RETURN 
1820 PRINT M$;" HAS WON BID"
1830 LET ZXCH=ZXCH-(510000-F(X))*Z1)
1840 A(X)=A(X)+((510000-F(X))*Z1)
1850 F(X)=F(X)+(510000-F(X))
1860 Z1=0
1870 IF G(X)<1 THEN GOSUB 1690
1880 RETURN
1890 FOR X=1 TO 10
1900 IF F$(X)="C" THEN 2190
1910 V(X)=0 
1920 C(X)=0 
1930 IF A(X)<10000 THEN A(X)=10000
1940 J(X)=A(X)/10
1950 C(X)=C(X)+J(X)
1960 IF H(X)<J(X)/1000 THEN H(X)=J(X)/1000
1970 IF B(X)>A(X)/20 THEN 2000
1980 C(X)=C(X)+((A(X)/10)-B(X))
1990 B(X)=INT (A(X)/10) 
2000 PROD=J(X)/10
2010 RD=INT(RND*3+1)
2020 IF RD=1 THEN W(X)=W(X)-1
2030 IF RD=3 THEN W(X)=W(X)+1
2040 T(X)=PROD*W(X)
2050 C(X)=C(X)+(H(X)*5000)
2060 PROF=T(X)-C(X)
2070 A(X)=A(X)+T(X)
2080 A(X)=A(X)-C(X)
2090 IF A(X)<=10000 THEN V(X)=H(X):H(X)= J(X)/1000
2100 V(X)=V(X)-H(X)
2110 G(X)=(PROF*100)/T(X)
2120 SP1=D(X)
2130 IF A(X)<10000 THEN A(X)=10000
2140 D(X)=A(X)/S
2150 N(X)=D(X)-SP1
2160 IF A(X)<10000 THEN A(X)=10000 
2170 IF RND>0.9 THEN W(X)=W(X)+10
2180 IF RND>0.9 THEN W(X)=W(X)-10
2190 NEXT X
2200 RETURN
2210 T$="PHASEM"
2220 PRINT M$;" BID FOR"
2230 PRINT C$(X);" TAKEOVER"
2240 Z1=D(X)
2250 PRINT"AT ";(INT(D(X)+0.005)*100)/10 0;" PER SHARE"
2260 GOTO 1300
2270 PRINT"YOU HAVE WON"
2280 GOTO 2300
2290 PRINT M$;" HAS WON","WITH ";pu$;ZXCH+03
2300 PRINT" DO YOU WANT ANOTHER GAME (Y/N)"
2310 INPUT V$
2320 IF MID$(V$,1,1)="Y" THEN 40
2330 STOP
2340 REM LOOP
2350 GOSUB 1890
2360 GOSUB 1890
2370 GOSUB 110
2380 GOSUB 390
2390 GOSUB 970
2400 PRINT: PRINT"ENTER INITIAL OF CHOSEN COMPANY"
2410 PRINT"OR [P] PASS";W$;
2420 INPUT X$:IF X$="" THEN 2420 ELSE X$=UPPER$(X$)
2430 IF MID$(X$,1,1)="P" THEN 2700 
2440 FOR X=1 TO 10
2450 IF ASC(MID$(C$(X),1,1))=ASC(X$) THEN 2480
2460 NEXT X
2470 GOTO 2400
2480 IF F$(X)="C" THEN 2400
2490 PRINT
2500 CLS:PRINT C$(X)
2510 PRINT"LIQUID CAPITAL ";pu$;INT((A(X)+0.005)*100)/100
2520 PRINT:PRINT"EMPLOYEES ";INT(H(X)) 
2530 PRINT:PRINT"OVERHEADS ";pu$;INT((C(X)+0.005)*100)/100
2540 PRINT:PRINT"PROFIT PER CENT OF TURN OVER ";INT(G(X))
2550 PRINT:PRINT"SHARE PRICE ";pu$;INT((D(X)+0.005)*100)/100
2560 PRINT:PRINT"SHARES AVAILABLE ";INT(L(X))
2570 PRINT:PRINT"SHARES HELD BY YOU ";IN T(E(X))
2580 PRINT"PERCENTAGE SHARES HELD BY YOU ";INT((E(X)*100)/S)
2590 PRINT"YOU HAVE ";pu$;INT((CH+0.005) *100)/100
2600 PRINT STRING$(39,45)
2610 IF E(X)>=510000 THEN PRINT"DISPOSE OF ASSETS ":INPUT A$
2620 IF E(X)<510000 THEN A$="N"
2630 IF E(X)>=510000 AND MID$(A$,1,1)="Y" THEN GOSUB 1690
2640 IF F$(X)="C" THEN X$="P":GOTO 2660 
2650 IF F$(X)="X" THEN PRINT"BUY [B],SELL [S],OR PASS [P]":INPUT X$:IF X$="" THEN 2650 ELSE X$=UPPER$(X$):X$=LEFT$(X$,1) 
2660 IF X$<>"P"AND X$<>"S"AND X$<>"B" THEN 2400
2670 IF X$="B" THEN GOSUB 1080
2680 IF X$="S" THEN GOSUB 1180
2690 IF X$="P" THEN PRINT"WISH TO LOOK AT ANOTHER COMPANY (Y/N)?":INPUT A$:IF MID$(A$,1,1)="Y" THEN GOSUB 2390
2700 GOSUB 650
2710 GOTO 2360
2720 REM INITIALISATION
2730 RESTORE:FOR X=1 TO 10:READ C$(X):NEXT X
2740 DATA "ACME CORP.","BRN IND.","CAPRA STEEL","DELTA GROUP","ELLIOT CORP.","FOX CHEMICAL","GNS INT.","HOPE HOLDER","INCE & CO.","JONES & IAN"
2750 M$="SPECTRAL INVESTMENTS LTD" 
2760 E$=" INVESTMENTS LTD"
2770 S=1000000
2780 CH=100000
2790 ZXCH=CH
2800 AW=0
2810 T$="0"
2820 PT=0
2830 FOR X=1 TO 10
2840 A(X)=INT(RND*S/2)+I
2850 D(X)=S/A(X)
2860 B(X)=INT(RND*S/10)+1
2870 H(X)=B(X)/100/1000
2880 W(X)=60
2890 F$(X)="X"
2900 L(X)=S
2910 NEXT X
2920 GOTO 2340
2930 WIRE$=STRING$(38,46)+C$(X)+"    "+TW$+STRING$(42,46)
2940 FOR WT=1 TO LEN(WIRE$)-40:SOUND 1,1 00,10,4:LOCATE 1,10:PEN 3:PRINT MID$(WIRE$,WT,40);:NEXT:PEN 2:RETURN
2950 WIRE$=STRING$(40,46)+TW$+STRING$(40 ,46):FOR WT=1 TO LEN(WIRE$)-40:SOUND 1,7 5,10,2:LOCATE 1,10:PEN 3:PRINT MID$(WIRE$,WT,40);:NEXT:PEN 2:RETURN