home *** CD-ROM | disk | FTP | other *** search
/ The Glitch Apple Disk Collection / 2014.glitch.apple.collection.zip / indexed / CARTELS.DSK / BS-MOD1.bas < prev    next >
BASIC Source File  |  2014-09-09  |  18KB  |  157 lines

  1. 1  CALL 54915: IF A$ = "qzq"  THEN  HOME : GOTO 5000
  2. 10  DEF  FN S(A) =  PEEK( -16336): GOTO 900
  3. 30 B = 0: FOR J = 1 TO 12:B = B + RND(1): NEXT :B = B -6: RETURN 
  4. 40  DATA "TIME WAITS FOR NO MAN.","TIME MARCHES ON.","THERE IS A TIME FOR EVERY PURCHASE.","TIME FLIES (WHEN YOU'RE HAVING FUN).","THERE'S NO TIME LIKE THE PRESENT.","IF YOU GOT THE MONEY, I GOT THE TIME.","YOU MAY DELAY, BUT TIME WILL NOT."
  5. 60  FOR I = 0 TO M:SL%(I) = 0: NEXT : FOR I = 0 TO M:K =  -1E10: FOR J = 0 TO M: IF EX(J) > = K  THEN K = EX(J):B = J
  6. 65  NEXT :SL%(I) = B:EX(B) =  -2E10: NEXT : RETURN 
  7. 70  HTAB 14: PRINT A;: HTAB 14: GOSUB 80: IF  LEN(A$)  THEN A =  INT( VAL(A$)): IF A >32000  THEN A = 32000: PRINT "<CTRL-G>";
  8. 72  IF A <J  THEN A = J: PRINT "<CTRL-G>";
  9. 75  PRINT "<CTRL-K>";: HTAB 14: PRINT A;"<CTRL-N>": RETURN 
  10. 80  IF X < > INT(X/2) *2  THEN A$ = "": PRINT : RETURN 
  11. 82 L =  PEEK(37): POKE 35,L: POKE 34,L: POKE 32, PEEK(36): POKE 33,20: CALL 64546: POKE 36,0: INPUT "";A$: POKE 32,0: POKE 37,L: POKE 34,0: POKE 35,24: POKE 33,40: PRINT : RETURN 
  12. 83  RETURN 
  13. 85  GOSUB 80:A =  PEEK(512): IF A = 32  AND  LEN(A$) = 0  THEN A$ = "  "
  14. 87  RETURN 
  15. 90 A = QT +A:A$ =  STR$(YR -(A <1) +(A >4)) +"/" + STR$(A +4 *(A <1) -4 *(A >4)): RETURN 
  16. 900  IN# 0: PR# 0: IF G >0  THEN  CALL 3072
  17. 901  IF G <1  THEN  TEXT : CALL 2834
  18. 902  IF NN  THEN 1900
  19. 903 K = 0: FOR I = 0 TO T:J = K%(I):K = K +(J = 0  OR J = 1): IF J <0  THEN T = I -1: GOTO 910
  20. 905  NEXT 
  21. 910  HOME : PRINT "<CTRL-L>";:Q = T +1: IF T <0  OR QQ = 0  OR K = 0  THEN 1000
  22. 915  IF QT < >4  OR YR = 0  THEN 945
  23. 920 A$ = "ANNUAL REPORT":B$ = "continue": GOSUB 1005: PRINT "<CTRL-L>";:J = 0: FOR I = 0 TO T:J = J +(CP(I) <KK): NEXT :A$ = "ies are": IF J <2  THEN A$ = "y is": IF J = 0  THEN 945
  24. 925  IF G >0  THEN  PRINT "The following compan";A$;" not per-<CTRL-M>forming acceptably as compared to<CTRL-M>the overall economy:<CTRL-M><CTRL-M>": FOR I = 0 TO T: IF CP(I) <KK  THEN  PRINT "  ";C$(I)
  25. 935  IF G >0  THEN  NEXT : PRINT "<CTRL-M><CTRL-M><CTRL-M>": IF QQ <0  THEN  PRINT "PRESS ANY KEY TO CONTINUE": GET A$
  26. 945  IF QQ <0  OR G <0  THEN 4900
  27. 950  POKE  -16368,0: IF G = 1  THEN  PRINT "PRESS `SPACE' WHEN ALL PLANS ARE READY": IF YR  THEN  PRINT "           (`Q' to quit game)<CTRL-M>"
  28. 951  IF G = 2  THEN  PRINT "      PRESS `SPACE' TO CONTINUE": IF YR  THEN  PRINT "           (`Q' to quit game)<CTRL-M>"
  29. 952  IF G = 0  THEN  PRINT "PRESS 'SPACE' WHEN ALL PLANS ARE READY": PRINT "  ('Q' TO QUIT GAME, 'S' TO SAVE GAME)<CTRL-M>"
  30. 955 A =  PEEK( -16384): IF A <128  THEN 955
  31. 957  POKE  -16368,0: IF A = 211  AND G = 0  THEN 4900
  32. 960  IF A < >209  OR YR = 0  THEN 2000
  33. 1000 A$ = "FINAL REPORT":B$ = "end": GOSUB 1005: GOTO 5120
  34. 1003  IF K = 0  THEN  PRINT "EVEN A DUMB COMPUTER CAN WIN SOMETIMES!<CTRL-G><CTRL-G><CTRL-G><CTRL-G><CTRL-M>"
  35. 1005  PRINT "<CTRL-L>The ";A$;" is being prepared.<CTRL-M>":C$ = "08": IF G <1  THEN C$ = "14"
  36. 1007  FOR I = 0 TO 5:S$(1,I) = "":S$(2,I) = "": NEXT : FOR I = 0 TO T:EX(I) = R(I): NEXT :M = T: GOSUB 60: IF T < >TT  THEN  FOR I = T +1 TO TT:SL%(I) = I: NEXT 
  37. 1010  IF T > = 0  THEN S$(1,1) = "<CTRL-L><CTRL-W><CTRL-^>" +C$ +A$ +"<CTRL-M><CTRL-R><CTRL-^>17(" +LD$ +")<CTRL-M><CTRL-^>07REAL DOLLAR EQUITY GROWTH<CTRL-M><CTRL-M><CTRL-^>12Total $<CTRL-^>22Avg Rate<CTRL-^>32% Growth<CTRL-M> Company<CTRL-^>12Increase<CTRL-^>23Return<CTRL-^>32Last Yr.<CTRL-M>"
  38. 1012  IF T <0  THEN S$(1,1) = "<CTRL-L><CTRL-^>08<CTRL-W>" +A$ +"<CTRL-R><CTRL-M><CTRL-M><CTRL-M><CTRL-M><CTRL-M>"
  39. 1015 K = 2:X = ((YR -1) *4 +QT)/4: FOR I = 0 TO TT:J = SL%(I):A$ = B$(J): IF K%(J) <0  THEN A$ = A$ +"<CTRL-^>13went bankrupt on turn " + STR$( -K%(J)): GOTO 1025
  40. 1020 A = R(J) +SE:A = A *(A >0):B = (E(J,1)/D%(2,1) +E(J,2)/D%(2,2) +E(J,3)/D%(2,3) +E(J,4)/D%(2,4)) *B2:CP(J) =  INT(((A/SE) ^(1/X) -1) *100 +.5):A$ = A$ +"<CTRL-[>" + STR$( INT(R(J) +.5)) +"<CTRL-]>18<CTRL-[>" + STR$(CP(J)): IF (A -B)  THEN A$ = A$ +"<CTRL-^>26<CTRL-[>" + STR$( INT(B/(A -B) *100 +.5)) +"<CTRL-^>37"
  41. 1025 K =  INT(I/2 +1):S$(1,K) = S$(1,K) +A$ +"<CTRL-M>":K =  INT(I/2 +1): NEXT : IF T <0  THEN 1050
  42. 1030 KK =  INT((D%(3,1) -100)/X +.5):S$(1,5) = "<CTRL-Y>  Economic Growth  ] ] ]     ] ] ] ]<CTRL-[>  " + STR$(KK) +"<CTRL-^>26<CTRL-[>  " + STR$( INT(D%(3,1) -EC +.5)) +"<CTRL-^>37<CTRL-Z>": FOR I = 0 TO TT:EX(I) = 0: IF S(I,0)  THEN EX(I) = (E(I,0)/S(I,0))
  43. 1032  NEXT :M = TT: GOSUB 60: FOR I = 0 TO TT:X%(I) = SL%(I): NEXT : FOR I = 0 TO TT:EX(I) = U(I): NEXT : GOSUB 60
  44. 1035 S$(2,1) = "<CTRL-M><CTRL-M><CTRL-M><CTRL-^>02INCOME PER SALES<CTRL-^>26TOTAL SOLD<CTRL-M><CTRL-M> Company<CTRL-^>14%<CTRL-^>22 Company<CTRL-^>35Units": FOR I = 0 TO TT:J = X%(I):K = SL%(I):M =  INT(I/2 +1):S$(2,M) = S$(2,M) +"<CTRL-M>" +B$(J): IF S(J,0)  THEN S$(2,M) = S$(2,M) +"<CTRL-[>" + STR$( INT(E(J,0)/S(J,0) *100 +.5)) +"<CTRL-^>15"
  45. 1037 S$(2,M) = S$(2,M) +"<CTRL-^>22" +B$(K) +"<CTRL-[>" + STR$(U(K)) +"<CTRL-]>38": NEXT 
  46. 1050 S$(3,1) = "<CTRL-L><CTRL-^>10SUMMARY COST ANALYSIS<CTRL-M><CTRL-^>05(overall %'s of total revenues)<CTRL-M><CTRL-M>": FOR I = 1 TO TT  STEP 2:S$(3,1) = S$(3,1) +"<CTRL-^>" + STR$(12 +I *5) + LEFT$(B$(I),4): NEXT : IF TT <5  OR  LEN(B$(5)) <4  THEN S$(3,1) = S$(3,1) +"<CTRL-M>"
  47. 1052  FOR I = 0 TO TT  STEP 2:S$(3,1) = S$(3,1) +"<CTRL-^>" + STR$(12 +I *5) + LEFT$(B$(I),4): NEXT 
  48. 1055 S$(3,2) = "<CTRL-M><CTRL-M>RM Storage": FOR I = 0 TO TT:EX(I) = S(I,0):CG(I) = C(I,0) +C(I,1) +C(I,2) +C(I,3):A = C(I,0):A = A -RM(I) *A/(A +C(I,1)) -FM(I) *A/CG(I): IF EX(I)  THEN S$(3,2) = S$(3,2) +"<CTRL-[>" + STR$( INT(A/EX(I) *100 +.5)) +"<CTRL-]>" + STR$(14 +I *5)
  49. 1057  NEXT :S$(3,2) = S$(3,2) +"<CTRL-M>Raw Costs ": FOR I = 0 TO TT: IF EX(I)  THEN A = C(I,1):A = A -RM(I) *A/(A +C(I,0)) -FM(I) *A/CG(I):S$(3,2) = S$(3,2) +"<CTRL-[>" + STR$( INT(A/EX(I) *100 +.5)) +"<CTRL-]>" + STR$(14 +I *5)
  50. 1060  NEXT :S$(3,3) = "<CTRL-M>Labor Cost": FOR I = 0 TO TT: IF EX(I)  THEN A = C(I,2):A = A -FM(I) *A/CG(I):S$(3,3) = S$(3,3) +"<CTRL-[>" + STR$( INT(A/EX(I) *100 +.5)) +"<CTRL-]>" + STR$(14 +I *5)
  51. 1062  NEXT :S$(3,3) = S$(3,3) +"<CTRL-M>FG Storage": FOR I = 0 TO TT: IF EX(I)  THEN A = C(I,3):A = A -FM(I) *A/CG(I):S$(3,3) = S$(3,3) +"<CTRL-[>" + STR$( INT(A/EX(I) *100 +.5)) +"<CTRL-]>" + STR$(14 +I *5)
  52. 1065  NEXT :S$(3,4) = "<CTRL-M><CTRL-Y> COG Sold ": FOR I = 0 TO TT: IF EX(I)  THEN S$(3,4) = S$(3,4) +"<CTRL-[>" + STR$( INT((CG(I) -RM(I) -FM(I))/EX(I) *100 +.5)) +"<CTRL-]>" + STR$(14 +I *5)
  53. 1067  NEXT :S$(3,4) = S$(3,4) +"<CTRL-Z><CTRL-M>Overhead  ": FOR I = 0 TO TT: IF EX(I)  THEN S$(3,4) = S$(3,4) +"<CTRL-[>" + STR$( INT(C(I,4)/EX(I) *100 +.5)) +"<CTRL-]>" + STR$(14 +I *5)
  54. 1070  NEXT :S$(3,5) = "<CTRL-M>Depreciat.": FOR I = 0 TO TT: IF EX(I)  THEN S$(3,5) = S$(3,5) +"<CTRL-[>" + STR$( INT(C(I,5)/EX(I) *100 +.5)) +"<CTRL-]>" + STR$(14 +I *5)
  55. 1072  NEXT :S$(3,5) = S$(3,5) +"<CTRL-M>Adv & Mrkt": FOR I = 0 TO TT: IF EX(I)  THEN S$(3,5) = S$(3,5) +"<CTRL-[>" + STR$( INT(C(I,6)/EX(I) *100 +.5)) +"<CTRL-]>" + STR$(14 +I *5)
  56. 1075  NEXT :S$(4,1) = "<CTRL-M>Res & Devl": FOR I = 0 TO TT: IF EX(I)  THEN S$(4,1) = S$(4,1) +"<CTRL-[>" + STR$( INT(C(I,7)/EX(I) *100 +.5)) +"<CTRL-]>" + STR$(14 +I *5)
  57. 1077  NEXT :S$(4,1) = S$(4,1) +"<CTRL-M>Misc Expns": FOR I = 0 TO TT: IF EX(I)  THEN S$(4,1) = S$(4,1) +"<CTRL-[>" + STR$( INT(C(I,8)/EX(I) *100 +.5)) +"<CTRL-]>" + STR$(14 +I *5)
  58. 1080  NEXT :S$(4,2) = "<CTRL-M><CTRL-Y> Oper Expn": FOR I = 0 TO TT: IF EX(I)  THEN S$(4,2) = S$(4,2) +"<CTRL-[>" + STR$( INT((C(I,4) +C(I,5) +C(I,6) +C(I,7) +C(I,8))/EX(I) *100 +.5)) +"<CTRL-]>" + STR$(14 +I *5)
  59. 1082  NEXT :S$(4,2) = S$(4,2) +"<CTRL-Z><CTRL-M>Interest  ": FOR I = 0 TO TT: IF EX(I)  THEN S$(4,2) = S$(4,2) +"<CTRL-[>" + STR$( INT(C(I,9)/EX(I) *100 +.5)) +"<CTRL-]>" + STR$(14 +I *5)
  60. 1085  NEXT :S$(4,3) = "<CTRL-M>Taxes     ": FOR I = 0 TO TT: IF EX(I)  THEN S$(4,3) = S$(4,3) +"<CTRL-[>" + STR$( INT(C(I,10)/EX(I) *100 +.5)) +"<CTRL-]>" + STR$(14 +I *5)
  61. 1087  NEXT :S$(4,3) = S$(4,3) +"<CTRL-M><CTRL-Y> TTL Costs": FOR I = 0 TO TT: IF EX(I)  THEN S$(4,3) = S$(4,3) +"<CTRL-[>" + STR$( INT((EX(I) -E(I,0))/EX(I) *100 +.5)) +"<CTRL-]>" + STR$(14 +I *5)
  62. 1090  NEXT :S$(4,4) = "<CTRL-Z><CTRL-M><CTRL-M>Net Income": FOR I = 0 TO TT: IF EX(I)  THEN S$(4,4) = S$(4,4) +"<CTRL-[>" + STR$( INT((E(I,0) -C(I,11))/EX(I) *100 +.5)) +"<CTRL-]>" + STR$(14 +I *5)
  63. 1092  NEXT :S$(4,5) = "<CTRL-M>Other Incm": FOR I = 0 TO TT: IF EX(I)  THEN S$(4,5) = S$(4,5) +"<CTRL-[>" + STR$( INT(C(I,11)/EX(I) *100 +.5)) +"<CTRL-]>" + STR$(14 +I *5)
  64. 1095  NEXT : IF G <1  THEN 1200
  65. 1100  CALL 3072:X = 99:Z = 0: PRINT "<CTRL-G><CTRL-G><CTRL-G><CTRL-L>";: IF IO  THEN 1160
  66. 1102  PRINT "  Turn the paddle to its lowest setting<CTRL-M>and press the button to begin.  View<CTRL-M>the reports by dialing the paddle.  Wheneveryone has finished viewing, press thebutton to ";B$;" the game."
  67. 1105 Z =   NOT Z: IF  PDL(Z) >5  OR  PEEK( -16287 +Z) <128  THEN 1105
  68. 1110 X =  -1: PRINT "<CTRL-G>";: FOR J = 1 TO 100: NEXT J: GOTO 1120
  69. 1115  IF  PEEK( -16287 +Z) >127  THEN  PRINT "<CTRL-G>";: FOR I = 0 TO 11: FOR J = 0 TO 6:S$(I,J) = "": NEXT : NEXT :A =  FRE(0): RETURN 
  70. 1120 A = ( PDL(Z) <120): IF A  AND A < >X  THEN  FOR J = 1 TO 2: FOR I = 1 TO 5: PRINT S$(J,I);: NEXT : NEXT :X = A
  71. 1125  IF A = 0  AND A < >X  THEN : FOR J = 3 TO 4: FOR I = 1 TO 5: PRINT S$(J,I);: NEXT : NEXT :X = A
  72. 1150  GOTO 1115
  73. 1160  POKE  -16368,0: PRINT "  Press the RETURN key to begin.  Use<CTRL-M>the forward and backward arrow keys<CTRL-M>to `page through' the reports.  Press<CTRL-M>the ESC key when everyone has finished<CTRL-M>viewing to ";B$;" the game."
  74. 1165 A =  PEEK( -16384): IF A <128  THEN 1165
  75. 1167  POKE  -16368,0: IF A < >141  THEN 1165
  76. 1170  PRINT "<CTRL-G>";: FOR J = 1 TO 100: NEXT J:Z = 1
  77. 1172  IF Z = 1  THEN  FOR J = 1 TO 2: FOR I = 1 TO 5: PRINT S$(J,I);: NEXT : NEXT 
  78. 1175  IF Z = 2  THEN  FOR J = 3 TO 4: FOR I = 1 TO 5: PRINT S$(J,I);: NEXT : NEXT 
  79. 1178 A =  PEEK( -16384): IF A <128  THEN 1178
  80. 1180  POKE  -16368,0: IF A = 155  THEN  PRINT "<CTRL-G>";: FOR I = 0 TO 11: FOR J = 0 TO 6:S$(I,J) = "": NEXT : NEXT :A =  FRE(0): RETURN 
  81. 1182  IF A = 149  AND Z = 1  THEN Z = 2: GOTO 1172
  82. 1185  IF A = 136  AND Z = 2  THEN Z = 1: GOTO 1172
  83. 1187  GOTO 1178
  84. 1200  PRINT "<CTRL-M><CTRL-M>THE REPORT IS READY.": INPUT "HOW MANY COPIES WOULD YOU LIKE? ";B: IF B < = 0  THEN  RETURN 
  85. 1205  PR# 0: IN# 0: TEXT : FOR J = 1 TO B: FOR K = 1 TO 3  STEP 2: IN# 0: PR# 0: CALL 2751: HOME : FOR I = 0 TO 1: FOR L = 1 TO 5: PRINT S$(K +I,L);: NEXT L: NEXT I: CALL 2621: IF PS >7  THEN  CALL PS
  86. 1210  IF PS <8  THEN  IN# 0: PR# 0: CALL 1002: PRINT "<CTRL-D>PR#";PS
  87. 1220  PRINT I$: PRINT  SPC( SP);: POKE 2,SP: CALL 2676: IF K = 1  THEN  PRINT : PRINT  SPC( SP);: FOR L = 1 TO 40: HTAB 1: PRINT "_";: NEXT L: PRINT 
  88. 1230  NEXT K: PRINT : PRINT : PRINT "<CTRL-L>";: PRINT : NEXT J: PR# 0: IN# 0: CALL 2834: RETURN 
  89. 1900  IF PS <8  OR G >0  THEN 2000
  90. 1910  POKE  -16368,0: HOME : PRINT "REMOVE THE GAME PROGRAM DISKETTE AND<CTRL-M>INSERT A DISK WITH YOUR PRINTER DRIVER<CTRL-M>NAMED '"P$"' ON IT.<CTRL-M><CTRL-M>PRESS 'RETURN' WHEN YOU ARE READY.": INPUT "";A$
  91. 1920  ONERR  GOTO 1940
  92. 1930  PR# 0: IN# 0: CALL 1002: PRINT "<CTRL-D>BLOAD";P$: POKE 216,0: HOME : POKE  -16368,0: PRINT "RE-INSERT THE GAME PROGRAM DISKETTE ANDPRESS ANY KEY WHEN READY.": GET A$: HOME : IN# 0: PR# 0: CALL 2834: GOTO 2000
  93. 1940 X =  PEEK(222): POKE 216,0: CALL 54915: POKE  -16368,0: PRINT "<CTRL-G><CTRL-G>DOS ERROR=";X: PRINT "<CTRL-M><CTRL-M>PRESS ANY KEY TO CONTINUE": GET A$: GOTO 1910
  94. 2000 NN = 0:QT = QT +1:YR = YR +(QT >4):QT = QT *(QT <5) +(QT >4):A = 0: GOSUB 90:LD$ = A$:Z = T: IF G = 2  AND QQ >0  THEN 2085
  95. 2001 X = 0: FOR I = 0 TO T: IF K%(I) <2  THEN O%(I) = 0:M%(I) = 0:RB%(I) = 0:PP%(I) = 0:SP%(I) = 0:MK(I,1) = 0:RD(I,1) = 0:LW(I) = 0:F1%(I) = 0:S$(1,I) = ""
  96. 2002  NEXT 
  97. 2003  FOR I = 0 TO T: PRINT "<CTRL-L>";: IF K%(I) >1  THEN 2080
  98. 2005 J = 0: PRINT C$(I)"<CTRL-M>PLANNING SHEET<CTRL-M>for the "NM$(QT)" quarter of year "YR".": PRINT "<CTRL-M><CTRL-M>RM Purchase:";:A = RB%(I): GOSUB 70:RB%(I) = A: PRINT "<CTRL-M>Production:";:A = PP%(I): GOSUB 70:PP%(I) = A: PRINT "<CTRL-M>FG Price:";:A = SP%(I): GOSUB 70:SP%(I) = A
  99. 2020  PRINT : PRINT "Adv & Mark:  ";MK(I,1);: HTAB 14: GOSUB 80: IF  LEN(A$)  THEN A =  INT( VAL(A$) +.5):MK(I,1) = A *(A >0)
  100. 2025  PRINT "<CTRL-K>";: HTAB 14: PRINT MK(I,1);"<CTRL-N>": PRINT : PRINT "Res & Dev:   ";RD(I,1);: HTAB 14: GOSUB 80: IF  LEN(A$)  THEN A =  INT( VAL(A$) +.5):RD(I,1) = A *(A >0)
  101. 2030  PRINT "<CTRL-K>";: HTAB 14: PRINT RD(I,1);"<CTRL-N>": PRINT : PRINT "Loans:       ";LW(I);: HTAB 14: GOSUB 80: IF  LEN(A$)  THEN LW(I) =  INT( VAL(A$) +.5)
  102. 2035 J =  -F%(I):B$ = S$(1,I): PRINT "<CTRL-K>";: HTAB 14: PRINT LW(I);"<CTRL-N>": PRINT "<CTRL-M>Factories:";:A = F1%(I): GOSUB 70:F1%(I) = A: PRINT "<CTRL-M>Special Memos: ";B$: IF X =  INT(X/2) *2  THEN  PRINT "  (put all letters on one line.)<CTRL-K>";: HTAB 16: GOSUB 85: IF  LEN(A$)  THEN B$ = A$:S$(1,I) = A$
  103. 2048  PRINT "<CTRL-K>";: HTAB 16: PRINT B$;"<CTRL-O>";: CALL  -958: PRINT 
  104. 2050  VTAB 23: HTAB 1: PRINT "<CTRL-O>  IS THIS RIGHT? ";: GOSUB 82: IF  LEN(A$) = 0  THEN A$ = "P"
  105. 2055  IF  ASC(A$) < > ASC("Y")  AND  ASC(A$) < > ASC("N")  THEN  PRINT "<CTRL-G><CTRL-G>";: GOTO 2050
  106. 2060  IF  ASC(A$) =  ASC("N")  THEN  VTAB 23: HTAB 1: PRINT "<CTRL-O>";: INVERSE : PRINT "PRESS 'RETURN' TO KEEP THE SAME DATA": NORMAL :X = 2 *(X >0): VTAB 1: HTAB 1: GOTO 2005
  107. 2065  IF  LEN(B$) = 0  THEN 2080
  108. 2070  FOR J = 1 TO  LEN(B$):A$ =  MID$ (B$,J,1): FOR K = 1 TO 5: IF A$ =  MID$ (R$,K,1)  THEN R%(I,K) = 2 *(R%(I,K) < >0)
  109. 2075  NEXT : NEXT 
  110. 2080 X = (X >0): NEXT : IF QQ <0  THEN QQ =  -QQ: IF G = 2  THEN 2085
  111. 2082  PRINT "<CTRL-L>DID YOU ENTER ALL THE DATA OFF THE PLAN-NING SHEETS CORRECTLY?<CTRL-M>  ";: POKE  -16368,0: GOSUB 82: IF  LEN(A$)  THEN  IF  ASC(A$) =  ASC("N")  THEN X = 1: GOTO 2003
  112. 2085  PRINT "<CTRL-L>";:I =  RND( -1 *( PEEK(78) + PEEK(79) *256)): FOR I = 0 TO T: IF K%(I) >1  THEN SP%(I) = DP%(I)
  113. 2087  IF R%(I,5) = 2  AND T%(I) = 15  THEN T1%(I) = 0:M%(I) = M%(I) +1000: IF  RND(1) >.5  THEN T1%(I) = 1
  114. 2090  IF R%(I,5) = 2  AND T%(I) = 16  THEN M%(I) = M%(I) +700: IF  RND(1) <.5  THEN R%(I,5) = 0:T%(I) = 0
  115. 2100 A = UQ%(I):B = PP%(I):PP%(I) = B *(B <2 *A) +2 *A *(B > = 2 *A): IF (A)  THEN A = A *1.2: IF PP%(I) >A  AND PU%(I) >A  AND  RND(1) <((.1 +V)/2 *PP%(I)/UQ%(I))  AND R%(I,5) = 0  THEN R%(I,5) = 2:T%(I) = 5:PU%(I) = PP%(I) *.9 +.5:J =  INT( RND(1) *4 +4) *100:T1%(I) = J:M%(I) = M%(I) +J: GOTO 3120
  116. 2990 PU%(I) = PP%(I): IF FM%(I) > = 10  AND  RND(1) <V  AND R%(I,5) = 0  AND ZP < >6  THEN R%(I,5) = 2:T%(I) = 6:A =  INT(FM(I)/FM%(I) *10 +.5):T1%(I) = A:FM%(I) = FM%(I) -10:FM(I) = FM(I) -A
  117. 2995 J = 0:A = 0: IF R%(I,5) < >0  OR  RND(1) >V  THEN 3120
  118. 3000 R%(I,5) = 2:T1%(I) = 0:A =  INT( RND(1) *14 +1):J = J +1: IF A = ZP  OR A = 5  OR A = 6  THEN 3000
  119. 3010  IF J >6  THEN R%(I,5) = 0:A = 0: GOTO 3120
  120. 3015  IF ((A = 13  OR A = 8)  AND MK(I,1) <100)  THEN 3000
  121. 3020  IF ((A = 3  OR A = 4  OR A = 7)  AND F%(I) +F1%(I) <1)  OR (A = 10  AND RB%(I) = 0)  THEN 3000
  122. 3030  IF ((A = 2  OR A = 12  OR A = 11)  AND (FM%(I) = 0  OR PU%(I) = 0))  THEN 3000
  123. 3040  FOR K = 1 TO I: IF A = T%(I)  THEN 3000
  124. 3050  NEXT : IF A <9  AND K%(I) = 1  AND  RND(I) <.5  THEN 3000
  125. 3055 ZP = A: IF A = 9  THEN K =  INT( RND(1) *4 +12) *100:O%(I) = O%(I) +K:T1%(I) = K
  126. 3060  IF A = 7  THEN J = 1/F%(I):A =  INT(FV(I) *J +.5):B =  INT(AM(I) *J +.5):FV(I) = FV(I) -A:AM(I) = AM(I) -B:CS(I) = CS(I) +A +B:DF%(I) = DF%(I) -DF%(I) *J:DA%(I) = DA%(I) -DA%(I) *J:F%(I) = F%(I) -1:T1%(I) = A +B:A = UQ%(I):UQ%(I) = A - INT(A *J +.5):A = 7: IF F%(I) = 0  THEN L%(I) = 400
  127. 3070  IF A = 14  THEN K =  INT( RND(1) *6 +15) *100:O%(I) = O%(I) +K:T1%(I) = K
  128. 3080  IF A = 4  THEN A%(I) = A%(I) *1.05:T1%(I) = 5
  129. 3090  IF A = 1  THEN K =  INT( RND(1) *4 +8) *100:M%(I) = M%(I) +K:T1%(I) = K
  130. 3100  IF A = 3  THEN K =  INT( RND(1) *10 +15) *100:FV(I) = FV(I) +K:CS(I) = CS(I) -K:T1%(I) = K:DF%(I) = DF%(I) +K/80
  131. 3110 T%(I) = A
  132. 3120 T%(I) = T%(I) *(R%(I,5) >0): NEXT : PRINT "<CTRL-L>"
  133. 4075  IF G <1  THEN  HOME : HTAB 16: FLASH : PRINT "WORKING": POKE 34,1: NORMAL 
  134. 4077  IF TQ >6  THEN TQ = TQ/2:TZ = TZ/2
  135. 4080 I = 1: IF G <1  THEN  IN# 0: PR# 0: CALL 1002: CALL 16392"BS-MOD2"
  136. 4090  RESTORE :NX = NX *(NX <7) +1: FOR J = 1 TO NX: READ A$: NEXT : VTAB 10: PRINT  SPC( (40 - LEN(A$))/2)"<CTRL-T>"A$: IN# 0: PR# 0: CALL 1002: CALL 16392"BS-GRAF"
  137. 4900  POKE  -16368,0: IN# 0: PR# 0: CALL 1002: TEXT : HOME : IF F  THEN 5000
  138. 4910  PRINT "WOULD YOU LIKE TO INITIALIZE A DISKETTE<CTRL-M>FOR USE WITH THIS GAME? ";: INPUT "";A$: IF  LEN(A$) = 0  THEN A$ = "P"
  139. 4920  IF  ASC(A$) =  ASC("N")  THEN  HOME : GOTO 5000
  140. 4930  IF  ASC(A$) < > ASC("Y")  THEN  HOME : PRINT "<CTRL-G><CTRL-G>";: GOTO 4910
  141. 4950 A$ = "qzq": CALL 16392"BS-INIT"
  142. 5000  IF G <0  THEN  POKE  -16368,0: PRINT "<CTRL-L>REMOVE THE GAME PROGRAM DISKETTE AND<CTRL-M>INSERT A DATA DISK (13 SECTOR).  PRESS<CTRL-M>'RETURN' WHEN READY.": INPUT "";A$: GOTO 5020
  143. 5005  POKE  -16368,0: PRINT "<CTRL-L>REMOVE THE GAME PROGRAM DISKETTE AND<CTRL-M>INSERT A DISK (13 SECTOR).  TYPE THE<CTRL-M>NAME UNDER WHICH YOU WOULD LIKE TO<CTRL-M>SAVE THIS GAME.  PRESS 'RETURN' FOLLOW-"
  144. 5006  PRINT "ING THE NAME WHEN YOU ARE READY.<CTRL-M> (TO RESUME THE GAME WITHOUT SAVING,<CTRL-M> DO NOT REMOVE THE GAME DISK AND PRESS<CTRL-M> 'RETURN' WITHOUT ANY NAME).<CTRL-M>"
  145. 5007  POKE  -16368,0: INPUT "NAME: ";G$: IF  LEN(G$) = 0  THEN 5100
  146. 5010  IF  LEN(G$) >10  THEN  PRINT "<CTRL-G><CTRL-G>TOO LONG, 10 LETTERS MAXIMUM!": FOR A = 1 TO 1000: NEXT A: GOTO 5005
  147. 5020  ONERR  GOTO 5050
  148. 5025 F = 1: PRINT "<CTRL-D>BSAVEP-";G$;",A$69,L12": PRINT "<CTRL-D>BSAVEV-";G$;",A"; PEEK(106) *256 + PEEK(105);",L";( PEEK(116) - PEEK(106)) *256 + PEEK(115) - PEEK(105) +1: POKE 216,0:F = 1: IF G > = 0  THEN  GOTO 5100
  149. 5030  GOTO 5120
  150. 5050 A =  PEEK(222): POKE 216,0: PRINT "<CTRL-G><CTRL-G>DOS ERROR=";A: CALL 54915: POKE  -16368,0: PRINT : PRINT : PRINT "PRESS ANY KEY TO CONTINUE";: GET A$: GOTO 5005
  151. 5100  POKE  -16368,0: HOME : INPUT "WOULD YOU LIKE TO CONTINUE THE GAME?<CTRL-M> ";A$: IF  LEN(A$) = 0  THEN A$ = "P"
  152. 5102  IF  ASC(A$) =  ASC("N")  THEN 5120
  153. 5105  IF  ASC(A$) < > ASC("Y")  THEN  PRINT "<CTRL-G><CTRL-G>": GOTO 5100
  154. 5110  POKE  -16368,0: PRINT : PRINT : PRINT "RE-INSERT THE GAME PROGRAM DISKETTE AND<CTRL-M>PRESS ANY KEY WHEN READY. ";: GET A$
  155. 5115  HOME : IN# 0: PR# 0: CALL 2834: IF G >0  THEN  CALL 3072: PRINT "<CTRL-L>";
  156. 5117  GOTO 950
  157. 5120  IN# 0: PR# 0: TEXT : HOME : PRINT "THATS ALL FOLKS!": CALL 1002: NEW