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