Asset Stripper   (Model A)


This is an investment simulation in which you compete with the computer's company, Spectral Investments, to acquire £1 million. Starting with £100,000 you must study market intelligence reports and buy and sell shares on the stock market. If you find a company which is rich in capital assets but running at a loss, you can make a bid for the company with a mind to distributing its assets amongst the shareholders. To make a takeover bid you must attempt to buy 51 per cent of the shares, at which point the opposition will start bidding against you. Occasionally, Spectral will initiate its own takeover bids. The longer the bidding continues, the greater the possibility that a 'third party' will intervene.

Ordinary shares may be bought and sold in any quantity and a regular review of share prices is given, together with a market 'wire service'. If you want to look more closely at the performance of a particular company, you have the option of calling up a copy of its annual report which will give you information on assets, share prices, profits and other useful data. During each round, all the companies manufacture and trade their produce, and it is this activity which determines profitability. Frequently a company will invest in new capital equipment and this expenditure will cause a small drop in the share price. Don't be too hasty to sell your shares when a rise in productivity might just be around the corner.

    1  REM ** ASSET STRIPPER ** **BBC VERSION
**
   10 REM CONVERTED TO BBC MICRO BY C.R.TANNE
R
   20 CLEAR:DIM a(10),b(10),c(10),d(10),e(10)
,f(10),g(10),h(10),i(10),j(10),l(10),m(10),n(
10),p(10),t(10),w(10),v(10),f$(10),c$(10)
   30 @%=&0002020A
   40 MODE7:PRINT TAB(11,0);CHR$(141);CHR$(12
9);"ASSET STRIPPER"'TAB(11);CHR$(141);CHR$(12
9);"ASSET STRIPPER";TAB(10,2);CHR$(132);"@  R
. Erskine 1982";TAB(5,4);"What is your surnam
e?"
   50 INPUT n$
   60 PRINT TAB(5,4);"Enter difficulity leval
 ";TAB(0,5);"           (1,2 or 3)       "
   70 INPUT lev
   80 PRINT TAB(10,7);"Please wait"
   90 GOTO 1670
  100 CLS:PRINT TAB(13);CHR$(141);CHR$(129);"
ACCOUNTS"'TAB(13);CHR$(141);CHR$(131);"ACCOUN
TS"
  110 PRINT 'CHR$(133);n$;e$'
  120 PRINT "Liquid assets";TAB(25);"`";INT((
ch+.005)*100)/100
  130 q=0:q1=q:FOR x=1 TO 10:q=q+e(x):IF f$(x
)="c" THEN GOTO 150
  140   q1=q1+(e(x)*d(x))
  150 NEXT x:@%=10:PRINT "Shares held";TAB(26
);INT(q):@%=&0002020A
  160 PRINT "Total share value";TAB(25);"`";q
1
  170 PRINT "Total assets";TAB(25);"`";q1+ch
  180 IF q1+ch>s THEN GOTO 1280
  190 IF q1+ch<0 THEN GOTO 1290
  200 q3=0:FOR x=1 TO 10:IF f$(x)="c" THEN GO
TO 220
  210   q3=q3+(f(x)*d(x))
  220 NEXT x
  230 IF q3+zxch>s THEN GOTO 1290
  240 IF q3+zxch<0 THEN GOTO 1280
  250 IF t$="x" AND ch+q1>zxch+q3 THEN GOTO 1
280
  260 IF t$="x" AND ch+q1<zxch+q3 THEN GOTO 1
290
  270 PRINT m$'" claims assets of";TAB(25);"`
";INT(q3+zxch)
  280 RETURN
  290 PRINT''TAB(11);CHR$(141);CHR$(129);"WIR
E SERVICE"'TAB(11);CHR$(141);CHR$(129);"WIRE 
SERVICE"'
  300 q=0:q1=0:m(1)=asa:FOR x=1 TO 10
  310   IF f$(x)="c" THEN PRINT c$(x);TAB(15)
;"Ceased trading":GOTO 390
  320   q=q+1
  330   IF b(x)>a(x) AND e(x)<510000 AND f(x)
<510000 THEN PRINT c$(x);TAB(15);"May be ripe
 for takeover"
  340   IF g(x)<1 AND w(x)>59 THEN PRINT c$(x
);TAB(15);"Profits low"
  350   IF w(x)<60 THEN PRINT c$(x);TAB(15);"
Heads for trouble"
  360   IF g(x)>5 THEN PRINT c$(x);TAB(15);"S
et for good profits"
  370   IF v(x)>0 AND v(x)>=1 THEN @%=&10:PRI
NT c$(x);TAB(15);"Announces ";INT(v(x));" Red
undancies":@%=&0002020A
  380   q1=q1+d(x):TIME=0:REPEAT UNTIL TIME>2
00
  390 NEXT x:IF q=0 THEN t$="x":GOTO 110
  400 asa=q1/q
  410 PRINT "All shares average ";INT((asa+.0
05)*100)/100;
  420 IF asa>m(1) THEN PRINT " up ";INT(((asa
-m(1))+.005)*100)/100
  430 IF asa<m(1) THEN PRINT " down ";INT(((m
(1)-asa)+.005)*100)/100
  440 IF asa>i(2) THEN PRINT "All time high":
i(2)=asa
  450 IF asa<i(3) THEN PRINT "All time low":i
(3)=asa
  460 RETURN
  470 FOR x=1 TO 10:IF f$(x)="c" THEN GOTO 61
0
  480   IF lev<>1 AND lev<>2 THEN IF f$(x)="x
" AND f(x)>0 AND f(x)<510000 THEN GOSUB 650
  490   IF w(x)<61 AND f(x)<510000 THEN GOSUB
 650
  500   IF f$(x)="c" OR zxch<100 THEN GOTO 61
0
  510   IF lev=1 AND RND(1)>.5 THEN GOTO 550
  520   f=((((s/100)*51)-f(x))*d(x))
  530   IF (b(x)/100)*51>f AND f<zxch AND f(x
)<510000 AND e(x)<510000 AND g(x)<1 THEN GOTO
 1270
  540   IF f$(x)="c" OR zxch<100 THEN GOTO 61
0
  550   IF zxch<100 THEN GOTO 610
  560   tenth=zxch/10:IF w(x)>60 AND g(x)>0 T
HEN GOSUB 630
  570   IF lev=1 THEN GOTO 610
  580   IF w(x)>60 AND g(x)>1 THEN GOSUB 630
  590   IF w(x)>60 AND g(x)>5 THEN GOSUB 630
  600   IF w(x)>60 AND g(x)>10 THEN GOSUB 630
  610 NEXT x
  620 RETURN
  630 IF (tenth/d(x))+e(x)+f(x)>l(x) THEN RET
URN ELSE IF f(x)<510000 AND (f(x)+(tenth/d(x)
))>s/2 THEN RETURN
  640 a(x)=a(x)+tenth*1.05:zxch=zxch-tenth:f(
x)=f(x)+INT(tenth/d(x)):l(x)=l(x)-INT(tenth/d
(x)):RETURN
  650 a(x)=a(x)-((f(x)*d(x))*1.05):zxch=zxch+
f(x)*d(x):l(x)=l(x)+f(x):f(x)=0:RETURN
  660 PRINT 'TAB(11);CHR$(141);CHR$(129);"SHA
RE PRICES"'TAB(11);CHR$(141);CHR$(129);"SHARE
 PRICES"'
  670 PRINT "COMPANY";TAB(19);"SHARE PRICE";T
AB(32);"UP/DOWN"'
  680 FOR x=1 TO 10:IF f$(x)="c" THEN PRINT c
$(x);TAB(21);"CLOSED DOWN":GOTO 710
  690   IF n(x)+.005<0 THEN tab=33 ELSE tab=3
4
  700   PRINT c$(x);TAB(22);d(x)+.005;TAB(tab
)n(x)+.005
  710 NEXT x:PRINT '"ALL SHARE AVERAGE ";TAB(
20);INT((asa+.005)*100)/100
  720 PRINT "You have ";TAB(20);"`";INT((ch+.
005)*100)/100'
  730 RETURN
  740 PRINT "BUY HOW MANY?"
  750 INPUT y
  760 IF y*d(x)>ch THEN PRINT "You have insuf
ficient cash":GOTO 740
  770 IF y>l(x) THENN PRINT "Not enough share
s available":GOTO 740
  780 IF y+e(x)>500000 AND e(x)<510000 THEN G
OTO 850
  790 ch=ch-(y*d(x)):l(x)=l(x)-y:a(x)=(a(x)+(
y*d(x)))*1.05:e(x)=e(x)+y
  800 x$="p":RETURN
  810 PRINT "How many do you wish to sell?":I
NPUT y
  820 IF y>e(x) THEN PRINT "You donot hold th
at many":GOTO 810
  830 ch=ch+(y*d(x)):l(x)=l(x)+y:a(x)=a(x)-((
y*d(x))*1.05):e(x)=e(x)-y:x$="p"
  840 RETURN
  850 t$="phaseh":z1=.01:CLS:PRINT TAB(12);CH
R$(141);CHR$(129);"TAKEOVER BID"'TAB(12);CHR$
(141);CHR$(129);"TAKEOVER BID"'CHR$(141)'
  860 PRINT "Your shareholding is";TAB(26);(e
(x)*100)/s;" %"
  870 PRINT "Current share price is";TAB(25);
"`";d(x)+.005
  880 @%=&10:PRINT "There are ";INT(l(x));" a
vailable"
  890 PRINT "You need ";INT((510000-e(x)));" 
for a majority":@%=&0002020A
  900 PRINT "These cost ";(510000-e(x))*d(x)+
.005;" at market price"
  910 PRINT "You have ";TAB(25);"`";ch+.005'
  920 FOR v=1 TO 10:IF f$(v)<>"c" THEN eg=eg+
(f(v)*d(v)):NEXT v
  930 IF RND(1)>.1 THEN GOTO 950
  940 PRINT "Third party wins bid":GOSUB 1080
:GOTO 1030
  950 PRINT "How much do you bid per share?":
INPUT z
  960 IF z1>z THEN GOTO 1020
  970 k1=a(x)+(510000*(z+.01)):k2=(510000-f(x
))*(z+.01)
  980 IF k1>k2 AND (zxch+eg)>=k2 THEN z1=z+.0
1
  990 IF z1>z THEN PRINT m$;" bids ";z1+.005
 1000 IF z1>z THEN GOTO 930
 1010 IF z1<z THEN GOSUB 1040
 1020 IF z1>z THEN GOSUB 1120
 1030 z1=0:z=0:IF t$="phaseh" THEN GOTO 800 E
LSE IF t$="phasem" THEN GOTO 610
 1040  z1=0:f=0:PRINT'"YOU HAVE WON THE BID"
 1050 ch=ch-(z*(510000-e(x))):a(x)=a(x)+(z*(5
10000-e(x))):e(x)=e(x)+(510000-e(x)):l(x)=s-(
e(x)+f(x))
 1060 PRINT "Do you want to strip the assets 
of this company?":INPUT y$
 1070 IF y$="n" OR y$="N" THEN RETURN
 1080 PRINT "Assets are being distributed"'"a
mongst shareholders"
 1090 psh=(e(x)*100)/s:zxpsh=(f(x)*100)/s:oo=
b(x)/100:ch=ch+(psh*oo):zxch=zxch+(zxpsh*oo)
 1100 IF a(x)>0 THEN d(x)=a(x)/s:ch=ch+(e(x)*
d(x)):zxch=zxch+(f(x)*d(x))
 1110 f$(x)="c":l(x)=0:RETURN
 1120 IF z1*(510000-f(x))>zxch THEN PRINT "Sp
ectrul withdraws":RETURN
 1130 PRINT m$;" has won bid"
 1140 zxch=zxch-((510000-f(x))*z1):a(x)=a(x)+
((510000-f(x))*z1):f(x)=f(x)+(510000-f(x)):z1
=0
 1150 IF g(x)<1 THEN GOSUB 1080 ELSE RETURN
 1160 FOR x=1 TO 10:IF f$(x)="c" THEN GOTO 12
60
 1170   v(x)=0:c(x)=0:IF a(x)<10000 THEN a(x)
=10000
 1180   j(x)=a(x)/10:c(x)=c(x)+j(x):IF h(x)<j
(x)/1000 THEN h(x)=j(x)/1000
 1190   IF b(x)<a(x)/20 THEN c(x)=c(x)+((a(x)
/10)-b(x)):b(x)=INT(a(x)/10)
 1200   prod=j(x)/10:rnd=INT(RND(3555)+1):IF 
rnd=1 THEN w(x)=w(x)-1 ELSE IF rnd=3 THEN w(x
)=w(x)+1
 1210   t(x)=prod*w(x):c(x)=c(x)+(h(x)*5000):
prof=t(x)-c(x):a(x)=a(x)+t(x)-c(x):IF a(x)<=1
0000 THEN v(x)=h(x):h(x)=j(x)/1000
 1220   v(x)=v(x)-h(x):g(x)=(prof*100)/t(x):s
p1=d(x):IF a(x)<10000 THEN a(x)=10000
 1230   d(x)=a(x)/s:n(x)=d(x)-sp1:IF a(x)<100
00 THEN a(x)=10000
 1240   IF RND(1)>.9 THEN w(x)=w(x)+10
 1250   IF RND(1)>.9 THEN w(x)=w(x)-10
 1260 NEXT x:RETURN
 1270 t$="phasem":CLS:PRINTm$;" bid for"'CHR$
(129);c$(x);CHR$(135);"takeover at ";d(x)+.00
5;" per share":z1=d(x):GOTO 860
 1280 PRINT "You have won":GOTO 1300
 1290 PRINT m$;" has won"'"with `";zxch+q3
 1300 PRINT "Do you want another game?":INPUT
 v$
 1310 IF v$="y" OR v$="Y" THEN 10
 1320 END
 1330 GOSUB 1160
 1340 GOSUB 1160
 1350 GOSUB 100
 1360 GOSUB 290
 1370 GOSUB 660
 1380 PRINT "ENTER INITIAL OF CHOSEN COMPANY 
OR      P(PASS)";w$
 1390 INPUT x$
 1400 IF x$="P" OR x$="p" THEN GOTO 1660
 1410 FOR x=1 TO 10:IF MID$(c$(x),1,1)=x$ THE
N A%=x:x=10:NEXT:x=A%:GOTO 1430
 1420 NEXT x:GOTO 1380
 1430 IF f$(x)="c" THEN GOTO 1380
 1440 CLS:PRINT CHR$(129);CHR$(141);c$(x)'CHR
$(131);CHR$(141);c$(x)'
 1450 PRINT "Liquid capital";TAB(25);"`";a(x)
+.005
 1460 PRINT "Capital equipment";TAB(25);"`";b
(x)+.005
 1470 @%=&10:PRINT "Employees";TAB(26);INT(h(
x)):@%=&0002020A
 1480 PRINT "Overheads";TAB(25);"`";c(x)+.005
 1490 PRINT "Profit";TAB(25);"`";t(x)-c(x)+.0
05
 1500 PRINT "Profit % of turnover";TAB(26);g(
x)
 1510 PRINT "Share price";TAB(25);"`";d(x)+.0
05
 1520 @%=&10:PRINT "Share available"TAB(26);I
NT(l(x))
 1530 PRINT "Share held by you"TAB(26);INT(e(
x)):@%=&0002020A
 1540 PRINT "% shares held by you"TAB(26);(e(
x)*100)/s
 1550 PRINT "You have";TAB(25);"`";ch+.005
 1560 PRINT "--------------------------------
--------"
 1570 IF e(x)>=510000 THEN PRINT "Dispose of 
assets?":INPUT a$:
 1580 IF e(x)<510000 THEN a$="n"
 1590 IF e(x)>=510000 AND (a$="y" OR a$="Y") 
THEN GOSUB 1080
 1600 IF f$(x)="x" THEN PRINT "Buy(B),Sell(S)
 or Pass(P)":INPUT x$
 1610 IF f$(x)="c" THEN x$="P"
 1620 IF x$<>"P" AND x$<>"S" AND x$<>"B" THEN
 GOTO 1380
 1630 IF x$="B" THEN GOSUB 740
 1640 IF x$="S" THEN GOSUB 810
 1650 IF x$="P" THEN PRINT "Look at another c
ompany?(Y or N)":INPUT a$:IF a$="Y" THEN GOTO
 1370
 1660 GOSUB 470:GOTO 1340
 1670 m$="Spectral Investments Ltd":c$(1)="AC
ME CORP":c$(2)="BRN IND.":c$(3)="CAPRA STEEL"
:c$(4)="DELTA GROUP":c$(5)="ELLIOT CORP":c$(6
)="FORAX CHEM.":c$(7)="GNS INT.":c$(8)="HOPE 
HOLDING":c$(9)="INCE & CO.":c$(10)="JONES & P
EEKE"
 1680 w$="            ":e$=" Investments Ltd"
 1690 s=1000000:ch=100000:zxch=ch:aw=5000:asa
=0:t$="o":pt=0
 1700 FOR x=1 TO 10:a(x)=INT(RND(s/2)+1):d(x)
=s/a(x):b(x)=INT(RND(s/10)+1):h(x)=b(x)/10/10
00:w(x)=60:f$(x)="x":l(x)=s:NEXT x
 1710 CLS:GOTO 1330