Advertisement
Guest User

Apple II? Taipan squished code

a guest
Nov 26th, 2023
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.44 KB | None | 0 0
  1. 10 CLEAR:WK$="*":CH$="*":CH%=0:WU%=0:R1%=0:I=0:J=0:K=0:II=0:IJ=0:IK=0:T=300:LT=LOG(10):T$="Taipan":GOTO10000
  2. 90 REM
  3. 92 FORII=1TOT:II=II+(PEEK(-16384)>127)*9999:NEXTII
  4. 94 FORII=1TOT/2:II=II+(PEEK(-16384)>127)*9999:NEXTII
  5. 96 FORII=1TOT/2:II=II+(PEEK(-16384)>127)*9999:NEXTII
  6. 98 POKE-16368,0:RETURN
  7. 100 CALL2560:RETURN
  8. 150 WK$=""+" ":CALL2680:W=VAL(WK$):R1%=LEFT$(WK$,1)="A":RETURN
  9. 200 REM
  10. 210 PRINTFS$;HM$;CS$;SPC(12-LEN(H$)/2):PRINT"Firm: ";CA$;H$;CS$;", ";:X=USR(1):PRINT
  11. 220 VTAB2:PRINTCG$;"[";:&45,26:PRINT"]":FORII=1TO5:PRINT"!";TAB(28);"!":NEXTII:PRINT"(";:&61,26:PRINT")":FORII=1TO5:PRINT"!";TAB(28);"!":NEXTII:PRINT"<";:&58,26:PRINT">";CS$
  12. 230 VTAB3:HTAB2:X=USR(1)+USR(2):VTAB4:HTAB21:PRINT"In use:":VTAB6:HTAB21:PRINT"Vacant:":VTAB9:HTAB2:PRINT"Hold Guns";
  13. 240 FORII=3TO9STEP6:FORIJ=1TO4:VTABII+IJ:HTAB5:PRINTLEFT$(CO$(IJ),7);:NEXTIJ,II
  14. 250 VTAB3:HTAB33:PRINT"Date":VTAB6:HTAB31:X=USR(3):VTAB9:HTAB33:PRINT"Debt":VTAB12:HTAB29:PRINT" Ship status":
  15. 260 VTAB16:HTAB1:PRINTCG$;:&45,40:PRINTCS$
  16. 270 RETURN
  17. 300 REM
  18. 310 VTAB4:HTAB30:PRINT"15 ";YE:VTAB4:HTAB33:PRINTIV$;MID$("JanFebMarAprMayJunJulAugSepOctNovDec",(MO-1)*3+1,3);NV$
  19. 311 VTAB7:HTAB31:PRINT" ":VTAB7:HTAB35-LEN(LO$(LO))/2+.5:PRINTIV$;LO$(LO);NV$
  20. 312 VTAB10:HTAB29:PRINT" ":VTAB10:WW=DW:GOSUB600:HTAB35-LEN(WW$)/2:PRINTIV$;WW$;NV$
  21. 313 WW=100-INT(DM/SC*100+.5):WW=WW*(WW>0):W=INT(WW/20):VTAB13:HTAB30:IFW<2THENPRINTIV$;
  22. 314 PRINTST$(W);":";WW;:IFPEEK(36)>30THENPRINTTAB(40);" ";
  23. 315 PRINTNV$;
  24. 316 VTAB5:HTAB22:PRINT" ";:HTAB22:PRINTWS:VTAB7:HTAB22:PRINT" ";:HTAB22:PRINTWC-WS
  25. 320 POKE32,12:FORII=1TO2:POKE33,(II-1)*9+6:IK=II*6-3:POKE34,IK:POKE35,IK+4:PRINTHM$:FORIJ=1TO4:VTABIK+IJ:HTAB1:PRINTST(II,IJ);:NEXTIJ,II
  26. 330 PRINTFS$:VTAB15:HTAB1:WW=CA:GOSUB600:PRINT"Cash:";WW$;TAB(21);:WW=BA:GOSUB600:PRINT"Bank:";WW$;TAB(40);" ":VTAB9:HTAB22:PRINTGN;:HTAB7:PRINT" ";:HTAB7
  27. 340 IFMW<0THENPRINTIV$;"Overload";NV$
  28. 350 IFMW>=0THENPRINTMW;
  29. 360 RETURN
  30. 400 REM
  31. 410 POKE32,0:POKE33,40:POKE34,18:POKE35,24:PRINTHM$;:RETURN
  32. 480 VTAB17:HTAB1:X=USR(4):RETURN
  33. 490 VTAB17:HTAB1:X=USR(5):RETURN
  34. 500 REM
  35. 510 GOSUB400:X=USR(6):GOSUB150:IFR1%THENW=CA
  36. 530 IFCA>=WTHENCA=CA-W:BA=BA+W:GOSUB300:GOTO550
  37. 540 PRINT:PRINT:PRINTT$;:X=USR(8):PRINTCA:PRINT"in cash.":CALL2518:GOSUB94:GOTO510
  38. 550 GOSUB400:X=USR(7):GOSUB150:IFR1%THENW=BA
  39. 570 IFBA>=WTHENBA=BA-W:CA=CA+W:GOSUB300:GOTO590
  40. 580 PRINT:PRINT:PRINTT$;:X=USR(8):PRINTBA:PRINT"in the bank.":CALL2518:GOSUB94:GOTO550
  41. 590 RETURN
  42. 600 IFWW<1E6THENWW$=STR$(INT(WW)):RETURN
  43. 610 II=INT(LOG(WW)/LT):IJ=INT(II/3)*3:IK=10^(II-2):WW$=LEFT$(STR$(INT(WW/IK+.5)*IK/10^IJ),4)+" "
  44. 620 IFIJ=3THENW$="Thousand"
  45. 630 IFIJ=6THENW$="Million"
  46. 640 IFIJ=9THENW$="Billion"
  47. 650 IFIJ=12THENW$="Trillion"
  48. 680 WW$=WW$+W$
  49. 690 RETURN
  50. 1000 REM
  51. 1010 IFD<>0THENGOSUB490:GOSUB400:X=USR(9):PRINTLO$(D):GOSUB96:BA=INT(BA+BA*.005):DW=INT(DW+DW*.1):TI=TI+1:MO=MO+1:LO=D
  52. 1020 IFMO>12THENYE=YE+1:MO=1:EC=EC+10:ED=ED+.5:FORI=1TO7:FORJ=1TO4:BP%(I,J)=BP%(I,J)+FNR(2):NEXTJ,I
  53. 1030 GOSUB400:GOSUB480:GOSUB300:IFLO<>1THEN1500
  54. 1040 IFLI<>0ORCA=0THEN1120
  55. 1050 WW=0:W=1.8:IFTI>12THENWW=FNR(1000*TI)+1000*TI:W=1
  56. 1060 I=FNR(CA/W)+WW:WW=I:GOSUB600:GOSUB400:X=USR(10):PRINTWW$;" ";:X=USR(11):CH$="NY":GOSUB100:IFCH%<>2THEN1120
  57. 1065 LI=1:CA=CA-I:IFCA>0THEN1100
  58. 1070 GOSUB400:PRINTT$;:X=USR(12):CALL2512:PRINT:PRINT:X=USR(13):CH$="YN":GOSUB100
  59. 1080 IFCH%=1THENDW=DW-CA:CA=0:GOSUB400:X=USR(14):CALL2521:GOSUB94
  60. 1090 IFCH%=2THENCA=0:LI=0:GOSUB400:X=USR(15):PRINTT$;".":CALL2518:GOSUB94
  61. 1100 GOSUB300
  62. 1120 IFDM=0THEN1210
  63. 1130 GOSUB400:PRINTT$;:X=USR(16):CH$="YN":GOSUB100:IFCH%=2THEN1210
  64. 1140 BR=INT((FNR(60*(TI+3)/4)+25*(TI+3)/4)*SC/50)
  65. 1142 WW=INT(DM/SC*100+.5)
  66. 1145 GOSUB400:X=USR(17):PRINTWW;"% damaged.":PRINT:WW=BR*DM+1:GOSUB600:X=USR(18):PRINTWW$;","
  67. 1150 X=USR(19):GOSUB150:IFR1%=1THENW=BR*DM+1:IFCA<WTHENW=CA
  68. 1155 IFCA<WTHENGOSUB400:PRINTT$;:X=USR(12):GOSUB96:GOTO1142
  69. 1160 WW=INT(W/BR+.5):DM=DM-WW:CA=CA-W:DM=INT(DM*(DM>0)):GOSUB300:GOSUB400
  70. 1210 IFDW<10000ORWNORD=0THEN1300
  71. 1220 GOSUB400:PRINT"Elder Brother Wu has sent ";FNR(100)+50;" braves":PRINT"to escort you to the Wu mansion, ";T$;".":WN=1:GOSUB94
  72. 1230 GOSUB400:X=USR(20):GOSUB92
  73. 1240 GOSUB400:X=USR(21):PRINTT$;".";:GOSUB92
  74. 1300 REM
  75. 1310 GOSUB400:X=USR(22):CH$="NY":WU%=1:GOSUB100:WU%=0:IFCH%<>2THEN1500
  76. 1320 W=0:FORI=1TO2:FORJ=1TO4:W=W+ST(I,J):NEXTJ,I:IFCAORBAORWORGNTHEN1360
  77. 1330 BL%=BL%+1:I=INT(FNR(1500)+500):J=FNR(2000)*BL%+1500:GOSUB400:PRINT"Elder Brother is aware of your plight, ";T$;". He is willing to loan you an additional ";I;" if you will pay back"
  78. 1340 PRINTJ;". Are you willing, ";T$;"? ";:CH$="YN":GOSUB100:IFCH%=2THENGOSUB400:PRINT:PRINT"Very well, Taipan, the game is over!":CALL2512:GOTO2698
  79. 1350 CA=CA+I:DW=DW+J:GOSUB400:PRINT"Very well, ";T$;". Good joss!!":CALL2521:GOSUB300:GOSUB96:GOTO1500
  80. 1360 IFDW=0ORCA=0THEN1400
  81. 1370 GOSUB400:X=USR(23):GOSUB150:IFR1%THENW=CA:IFCA>DWTHENW=DW
  82. 1380 IFCA>=WTHENCA=CA-W:DW=DW-W:GOSUB300:GOTO1400
  83. 1390 PRINT:PRINT:PRINTT$;", you have only ";CA:PRINT"in cash.":CALL2518:GOSUB94:GOTO1370
  84. 1400 GOSUB400:X=USR(24):GOSUB150:IFR1%THENW=2*CA
  85. 1420 IFCA*2>=WTHENCA=CA+W:DW=DW+W:GOSUB300:GOTO1450
  86. 1430 PRINT:PRINT:PRINT"He won't loan you so much, ";T$;"!":CALL2518:GOSUB94:GOTO1400
  87. 1450 REM
  88. 1460 IFDW>20000ANDNOT(FNR(5))THENGOSUB400:PRINT"Bad joss!!":PRINTFNR(3)+1;" of your bodyguards have been killed":PRINT"by cutthroats and you have been robbed of all your cash, ";T$;"!!":CALL2512:CA=0:GOSUB300:GOSUB94
  89. 1500 REM
  90. 1610 I=INT(1000+FNR(1000*(TI+5)/6))*(INT(SC/50)*(DM>0)+1):IFCA<IORFNR(4)THEN1700
  91. 1615 W$=CHR$(15)+CHR$(15)+"damaged_______"+CHR$(15)+CHR$(16)+"fine":WW=I:GOSUB600
  92. 1620 GOSUB400:PRINT"Do you wish to trade in your ";MID$(W$,(DM=0)*25+1,25):PRINT"ship for one with 50 more capacity by paying an additional ";WW$;", ";T$;"? ";
  93. 1630 CH$="YN":GOSUB100:IFCH%=1THENCA=CA-I:MW=MW+50:SC=SC+50:DM=0:GOSUB300
  94. 1700 REM
  95. 1710 I=INT(FNR(1000*(TI+5)/6)+500):IFCA<IORFNR(3)THEN1900
  96. 1720 WW=I:GOSUB600:GOSUB400:PRINT"Do you wish to buy a ship's gun":PRINT"for ";WW$;", ";T$;"? ";:CH$="NY":GOSUB100:IFCH%=1THEN1900
  97. 1730 IFMW>=10THENCA=CA-I:GN=GN+1:MW=MW-10:GOSUB300:GOTO1900
  98. 1740 PRINT:PRINT:PRINT"Your ship would be overburdened, ";T$;"!":CALL2518:GOSUB94
  99. 1900 IFST(2,1)=0ORLO=1ORFNR(18)THEN2000
  100. 1910 I=FNR(CA/1.8):WW=I:GOSUB600:GOSUB400:CALL2512:X=USR(25)+USR(26):PRINTWW$;", ";T$;"!":MW=MW+ST(2,1):ST(2,1)=0:CA=CA-I:GOSUB300:GOSUB94
  101. 2000 W=0:FORJ=1TO4:W=W+ST(1,J):NEXTJ:IFW=0ORFNR(50)THEN2100
  102. 2030 GOSUB400:CALL2512:X=USR(25)+USR(27):PRINTT$;"!":FORJ=1TO4:W=ST(1,J):WW=FNR(W/1.8):WS=WS-W+WW:ST(1,J)=WW:NEXTJ:GOSUB300:GOSUB96
  103. 2100 FORI=1TO4:CP(I)=BP%(LO,I)/2*(FNR(3)+1)*10^(4-I):NEXTI
  104. 2310 LI=LIANDFNR(20):IFLI=0ANDLI%>0THENLI%=LI%+1:IFLI%>4THENLI%=0
  105. 2330 IFLI=0ANDLO<>1ANDFNR(4)THENGOSUB400:X=USR(28):CALL2521:GOSUB94
  106. 2410 IFFNR(9)THEN2500
  107. 2420 GOSUB400:I=FNR(4)+1:J=FNR(2):K=FNR(2)*5:PRINTT$;"!! The price of ";CO$(I)
  108. 2430 IFJ=0THENCP(I)=INT(CP(I)/5):PRINT"has dropped to ";CP(I);"!!":CALL2518
  109. 2440 IFJ=1THENCP(I)=CP(I)*(FNR(5)+5):WW=CP(I):GOSUB600:PRINT"has risen to ";WW$;"!!":CALL2518
  110. 2450 GOSUB94
  111. 2500 REM
  112. 2501 GOSUB400:IFCA>25000ANDNOT(FNR(20))THENI=FNR(CA/1.4):WW=I:GOSUB600:X=USR(25):PRINT"You've been beaten up and robbed of":PRINTWW$;" in cash, ";T$;"!!":CALL2512:CA=CA-I:GOSUB300:GOSUB94:VTAB22:HTAB1:PRINTCE$
  113. 2510 GOSUB400:PRINTT$;:X=USR(29)
  114. 2515 FORI=1TO3STEP2:PRINTTAB(4);LEFT$(CO$(I),7);": ";CP(I);TAB(18);LEFT$(CO$(I+1),7);": ";CP(I+1):NEXTI
  115. 2520 I=CA+BA-DW:VTAB22:HTAB1:PRINTCE$
  116. 2522 IFLO<>1THENX=USR(30):CH$="BSQ"
  117. 2524 IFLO=1ANDI<1E6THENX=USR(31)+USR(32):CH$="BSQTV"
  118. 2526 IFLO=1ANDI>=1E6THENX=USR(31)+USR(33):CH$="BSQTVR"
  119. 2528 GOSUB100:ONCH%GOTO2530,2570,2700,2620,2680,2695
  120. 2530 VTAB23:HTAB1:PRINTCE$;"What do you wish me to buy, ";T$;"? ";:CH$="OSAG":GOSUB100:CO$=CO$(CH%):CP=CP(CH%)
  121. 2540 VTAB22:HTAB1:PRINTCE$,IV$;:HTAB31:PRINT" You can ";:VTAB23:HTAB31:PRINT" afford ";:VTAB24:HTAB31:PRINT" ";:W=INT(CA/CP):IFW>1E9THENW=1E9-1
  122. 2542 HTAB36-LEN(STR$(W))/2:PRINTW;NV$;:VTAB23:HTAB1:PRINT"How much ";CO$;" shall":PRINT"I buy, ";T$;"? ";:GOSUB150:IFR1%THENW=INT(CA/CP):IFW>1E9THENW=1E9-1
  123. 2550 IFW<0ORCA<W*CPTHENCALL2524:GOTO2540
  124. 2560 MW=MW-W:CA=CA-W*CP:ST(2,CH%)=ST(2,CH%)+W:GOSUB300:VTAB22:HTAB1:CALL-958:GOTO2520
  125. 2570 VTAB23:HTAB1:PRINTCE$;"What do you wish me to sell, ";T$;"? ";:CH$="OSAG":GOSUB100:CO$=CO$(CH%):CP=CP(CH%)
  126. 2580 VTAB22:HTAB1:PRINTCE$:PRINT"How much ";CO$;" shall":PRINT"I sell, ";T$;"? ";:GOSUB150:IFR1%THENW=ST(2,CH%)
  127. 2590 IFW<0ORST(2,CH%)<WTHENCALL2524:GOTO2580
  128. 2600 MW=MW+W:CA=CA+W*CP:ST(2,CH%)=ST(2,CH%)-W:GOSUB300:VTAB22:HTAB1:PRINTCE$;:GOTO2520
  129. 2620 REM
  130. 2622 W=0:FORI=1TO2:FORJ=1TO4:W=W+ST(I,J):NEXTJ,I:IFW=0THENVTAB22:HTAB1:PRINTCE$;"You have no cargo, ";T$;".":CALL2518:GOSUB94:GOTO2520
  131. 2624 FORJ=1TO4:FORK=1TO2:I=3-K:IFST(I,J)=0THEN2634
  132. 2626 GOSUB400:PRINT"How much ";CO$(J);" shall I move":PRINTMID$("to the warehouseaboard ship",K*16-15,16);", ";T$;"? ";:GOSUB150:IFR1%THENW=ST(I,J):IFW>(WC-WS)ANDK=1THENW=(WC-WS)
  133. 2627 IFK=2THEN2630
  134. 2628 IFW>0ANDWS=WCTHENPRINT:PRINT:PRINT"Your warehouse is full, ";T$;"!":CALL2518:GOSUB94:GOTO2626
  135. 2629 IFW>(WC-WS)THENPRINT:PRINT:PRINT"Your warehouse will only hold an":PRINT"additional ";WC-WS;", ";T$;"!";:CALL2518:GOSUB94:GOTO2626
  136. 2630 IFW>ST(I,J)THENPRINT:PRINT:PRINT"You have only ";ST(I,J);", ";T$;".":CALL2518:GOSUB94:GOTO2626
  137. 2632 ST(I,J)=ST(I,J)-W:ST(K,J)=ST(K,J)+W:MW=MW+SGN(I-K)*W:WS=WS+SGN(I-K)*W:GOSUB300
  138. 2634 NEXTK,J:GOTO2500
  139. 2680 REM
  140. 2690 GOSUB500:GOTO2500
  141. 2695 OK=16
  142. 2696 GOSUB400:PRINTIV$;TAB(26):PRINT:PRINT" Y o u ' r e a";TAB(26):PRINT:PRINTTAB(26):PRINT:PRINT" M I L L I O N A I R E ! ":PRINTTAB(26):PRINTNV$:GOSUB96
  143. 2698 :GOSUB20000
  144. 2699 PRINT"Play again? ";:CH$="NY":GOSUB100:ONCH%GOTO63999:RUN
  145. 2700 REM
  146. 2810 IFMW<0THENGOSUB400:PRINT"You're ship is overloaded, ";T$;"!!":CALL2518:GOSUB94:GOTO2500
  147. 3010 GOSUB400:PRINTT$;", do you wish to go to:":PRINT"1) Hong Kong, 2) Shanghai, 3) Nagasaki, 4) Saigon, 5) Manila, 6) Singapore, or 7) Batavia ? ";
  148. 3020 CH$="1234567":GOSUB100:D=CH%:IFD=LOTHENPRINT:PRINT:PRINT"You're already here, ";T$;".";:CALL2518:GOSUB94:GOTO3010
  149. 3030 LO=0:GOSUB300:GOSUB400:GOSUB490
  150. 3100 REM
  151. 3110 IFFNR(BP)THEN3200
  152. 3120 SN=FNR(SC/10+GN)+1:GOSUB400:CALL2512:PRINTSN;" hostile ship";MID$("s",(SN=1)+1,1);" approaching, ";T$;"!!":GOSUB96:F1=1:GOTO5000
  153. 3200 REM
  154. 3210 IFFNR(4+8*LI)THEN3300
  155. 3220 GOSUB400:PRINT"Li Yuen's pirates, ";T$;"!!":CALL2521:GOSUB94:IFLITHENPRINT:PRINT"Good joss!! They let us be!!":CALL2521:GOSUB94:GOTO3300
  156. 3230 SN=FNR(SC/5+GN)+5:GOSUB400:PRINTSN;" ships of Li Yuen's pirate":PRINT"fleet, ";T$;"!!":CALL2512:GOSUB94:F1=2:GOTO5000
  157. 3300 REM
  158. 3310 IFFNR(10)THEN3350
  159. 3320 GOSUB400:PRINT"Storm, ";T$;"!!":CALL2521:GOSUB94:IFNOT(FNR(30))THENPRINT:PRINT" I think we're going down!!":CALL2521:GOSUB94:IFFNR(DM/SC*3)THENPRINT:PRINT"We're going down, Taipan!!":CALL2512:OK=1:GOTO2698
  160. 3330 PRINT:PRINT" We made it!!":CALL2521:GOSUB94:IFFNR(3)THEN3350
  161. 3340 LO=FNR(7)+1:ON(LO=D)GOTO3340:GOSUB400:PRINT"We've been blown off course":PRINT"to ";LO$(LO):D=LO:GOSUB94
  162. 3350 LO=D:GOTO1000
  163. 5000 REM
  164. 5030 LC=0:CMD=0:PRINTFS$;HM$
  165. 5050 VTAB1:HTAB1:PRINT" ships attacking, ";T$;"!":VTAB1:HTAB32:PRINTCG$;"!":VTAB2:HTAB32:PRINT"!":VTAB3:HTAB32:PRINT"<::::::::";CS$:VTAB2:HTAB37:PRINT"guns":VTAB1:HTAB34:PRINT"We have";
  166. 5060 PRINT"Your orders are to:"
  167. 5080 FORI=0TO9:AM%(I,0)=0:AM%(I,1)=0:NEXTI:SA=SN:S0=SN:BT=FNR(TI/4*1000*SN^1.05)+FNR(1000)+250:SS=0
  168. 5090 REM
  169. 5100 GOSUB5760:GOSUB5700:LC=CMD:VTAB12:HTAB40:PRINTMID$("+ ",NOT(SA)+1,1)
  170. 5160 DM=INT(DM):WW=100-INT(DM/SC*100):IFWW<0THENWW=0
  171. 5162 VTAB4:PRINT"Current seaworthiness: ";ST$(INT(WW/20));" (";WW;"%)":GOSUB5600:VTAB4:PRINTCL$
  172. 5165 IFWW=0THENOK=0:GOTO5900
  173. 5175 GOSUB5600
  174. 5180 ONCMDGOTO5200,5300,5400
  175. 5190 VTAB4:PRINTT$;", what shall we do??":CALL2512:GOSUB5600:ON(CMD=0)+1GOTO5500,5180
  176. 5200 REM
  177. 5205 VTAB4:HTAB1:PRINTCL$:VTAB4:PRINT"Aye, we'll run, ";T$;"!":GOSUB96:VTAB4:PRINTCL$
  178. 5207 IFLC=1ORLC=3THENOK=OK+IK:IK=IK+1
  179. 5208 IFLC=0ORLC=2THENOK=3:IK=1
  180. 5210 IFFNR(OK)>FNR(SN)THENVTAB4:PRINT"We got away from 'em, ";T$;"!!":CALL2518:GOSUB96:VTAB4:PRINTCL$:OK=3:GOTO5900
  181. 5220 VTAB4:PRINT"Can't lose 'em!!":GOSUB5600:VTAB4:PRINTCL$
  182. 5230 IFSN>2ANDFNR(5)=0THENW=FNR(SN/2)+1:SN=SN-W:SA=SA-W:GOSUB5680:GOSUB5750:VTAB4:PRINT"But we escaped from ";W;" of 'em, ";T$;"!":GOSUB5600:VTAB4:PRINTCL$
  183. 5240 GOTO5500
  184. 5300 REM
  185. 5302 IFGN=0THENVTAB4:HTAB1:PRINT"We have no guns, ";T$;"!!":GOSUB5600:VTAB4:PRINTCL$:GOTO5500
  186. 5305 VTAB4:HTAB1:PRINTCL$:VTAB4:PRINT"Aye, we'll fight 'em, ";T$;"!":GOSUB5600:VTAB4:PRINTCL$
  187. 5310 SK=0:VTAB4:PRINT"We're firing on 'em, ";T$;"!":FORK=1TOGN:IFSN=0THEN5340
  188. 5320 I=FNR(10):IFAM%(I,0)=0THEN5320
  189. 5330 GOSUB5840:AM%(I,1)=AM%(I,1)+FNR(30)+10:IFAM%(I,1)>AM%(I,0)THENAM%(I,0)=0:AM%(I,1)=0:GOSUB5860:GOSUB5820:SK=SK+1:SN=SN-1:SS=SS-1:GOSUB5750:IFSS=0THENGOSUB5700
  190. 5340 NEXTK:IFSK>0THENVTAB4:HTAB1:PRINT"Sunk ";SK;" of the buggers, ";T$;"!":CALL2521:GOSUB5600:VTAB4:PRINTCL$
  191. 5350 IFSK=0THENVTAB4:HTAB1:PRINT"Hit 'em, but didn't sink 'em, ";T$;"!":GOSUB5600:VTAB4:PRINTCL$
  192. 5360 IFFNR(S0)<SN*.6/F1ORSN=0ORSN=S0ORSN<3THEN5500
  193. 5362 W=FNR(SN/3/F1)+1:SN=SN-W:SA=SA-W:GOSUB5680
  194. 5390 VTAB4:PRINTW;" ran away, ";T$;"!":GOSUB5750:CALL2521:GOSUB5600:VTAB4:PRINTCL$:GOTO5500
  195. 5400 REM
  196. 5410 GOSUB400:PRINT"You have the following on board, ";T$;":";:FORJ=1TO4:VTAB20+(J=3ORJ=4):HTAB1+19*(J=2ORJ=4):PRINTRIGHT$(" "+LEFT$(CO$(J),7),9);": ";ST(2,J):NEXTJ
  197. 5420 VTAB4:PRINT"What shall I throw overboard, ";T$;"? ";:CH$="OSAG*":GOSUB100:VTAB4:HTAB1:PRINTCL$
  198. 5430 IFCH%=5THENII=1:IJ=4:IK=1E9:GOTO5450
  199. 5440 VTAB4:PRINT"How much, ";T$;"? ";:GOSUB150:II=CH%:IJ=CH%:IFR1%THENW=ST(2,II)
  200. 5450 WW=0:FORJ=IITOIJ:IK=ST(2,J):IFW>IKTHENW=IK
  201. 5460 ST(2,J)=ST(2,J)-W:WW=WW+W:MW=MW+W:NEXTJ:VTAB4:HTAB1:PRINTCL$
  202. 5470 IFWW=0THENVTAB4:PRINT"There's nothing there, ";T$;"!":CALL2518:GOSUB5600:VTAB4:PRINTCL$
  203. 5480 GOSUB400:IFWW>0THENRF=RF+WW/3:OK=OK+WW/10:VTAB4:PRINT"Let's hope we lose 'em, ";T$;"!":CALL2521:GOSUB5600:VTAB4:PRINTCL$:GOTO5210
  204. 5500 REM
  205. 5505 IFSN=0THENVTAB4:PRINT"We got 'em all, ";T$;"!!":CALL2521:GOSUB5600:OK=1:GOTO5900
  206. 5510 VTAB4:PRINT"They're firing on us, ";T$;"!":GOSUB5600:VTAB4:PRINTCL$
  207. 5540 FORI=1TO10:POKE-16298,0:POKE-16299,0:POKE-16297,0:POKE-16300,0:FORJ=1TO10:NEXTJ,I
  208. 5542 VTAB4:PRINT"We've been hit, ";T$;"!!":CALL2512
  209. 5545 I=SN:IFI>15THENI=15
  210. 5550 IFGNTHENIFFNR(100)<(DM/SC)*100OR(DM/SC)*100>80THENI=1:GOSUB5600:VTAB4:PRINTCL$:VTAB4:PRINT"The buggers hit a gun, ";T$;"!!":CALL2512:GN=GN-1:MW=MW+10:GOSUB5600:VTAB4:PRINTCL$
  211. 5555 DM=DM+FNR(ED*I*F1)+I/2
  212. 5560 IFNOT(FNR(20))ANDF1=1THENOK=2:GOTO5900
  213. 5590 GOTO5090
  214. 5600 VTAB2:HTAB21:FORII=1TOT/3
  215. 5610 W=PEEK(-16384):IFW<128THENNEXTII:PRINT:RETURN
  216. 5620 IFW=210THENCMD=1:PRINT"Run "
  217. 5630 IFW=198THENCMD=2:PRINT"Fight "
  218. 5640 IFW=212THENCMD=3:PRINT"Throw cargo"
  219. 5650 POKE-16368,0:PRINT
  220. 5670 RETURN
  221. 5680 IFSA>=0THENRETURN
  222. 5681 I=9:FORIJ=SATO-1
  223. 5682 IFAM%(I,0)=0THENI=I-1:GOTO5682
  224. 5683 AM%(I,0)=0:AM%(I,1)=0:GOSUB5880:GOSUB5820:I=I-1:SS=SS-1:NEXTIJ:RETURN
  225. 5700 REM
  226. 5710 FORI=0TO9:IFAM%(I,0)THEN5740
  227. 5720 SA=SA-1:IFSA<0THENSA=0:RETURN
  228. 5730 AM%(I,0)=FNR(EC)+20:AM%(I,1)=0:GOSUB5800:SS=SS+1
  229. 5740 NEXTI:RETURN
  230. 5750 REM
  231. 5760 VTAB1:HTAB1:PRINTRIGHT$(" "+STR$(SN),4)
  232. 5770 VTAB2:HTAB33:PRINTRIGHT$(" "+STR$(GN),3):RETURN
  233. 5800 GOSUB5880:HTABX:VTABY:PRINTSH$:RETURN
  234. 5820 GOSUB5880:HTABX:VTABY:PRINTSB$:RETURN
  235. 5840 GOSUB5880:POKE2493,(Y+4)*8-1:POKE2494,X-1:FORJ=0TO1:IJ=FNR(6):II=DL%(IJ,J):HTABX+INT(II/10):VTABY+II-INT(II/10)*10:PRINTDM$(IJ,J):NEXTJ:CALL2368:RETURN
  236. 5860 GOSUB5880:POKE2361,(Y+4)*8-1:POKE2362,X-1:POKE2300,FNR(FNR(192)):CALL2224:RETURN
  237. 5880 X=(I-INT(I/5)*5)*8+1:Y=INT(I/5)*6+7:RETURN
  238. 5900 GOSUB200:GOSUB300:GOSUB400
  239. 5910 IFOK=0THENPRINT"The buggers got us, ";T$;"!!!":PRINT"It's all over, now!!!":OK=1:GOTO2698
  240. 5920 IFOK=1THENGOSUB400:PRINT"We've captured some booty":WW=BT:GOSUB600:PRINT"It's worth ";WW$;"!":CALL2518:CA=CA+BT:GOSUB96:GOTO3300
  241. 5930 IFOK=2THENPRINT"Li Yuen's fleet drove them off!":GOSUB96:GOTO3220
  242. 5940 IFOK=3THENPRINT"We made it, ";T$;"!":CALL2518:GOSUB96:GOTO3300
  243. 10000 REM
  244. 10010 CALL6147:POKE1013,76:POKE1014,224:POKE1015,9:POKE10,76:POKE11,16:POKE12,11:POKE1010,102:POKE1011,213:POKE1012,112:DIMLO$(7),CO$(4),CP(4),BP%(7,4),ST(2,4),AM%(9,1),DM$(5,1),DL%(5,1),ST$(5)
  245. 10020 DEFFNR(X)=INT(USR(0)*X)
  246. 10040 HM$=CHR$(16):CS$=CHR$(1)+"0":CA$=CHR$(1)+"1":CG$=CHR$(1)+"2":BD$=CHR$(2):CD$=CHR$(3):DD$=CHR$(4):IV$=CHR$(9):NV$=CHR$(14):FS$=CHR$(25):CE$=CHR$(6):CL$=CHR$(5)
  247. 10045 IFPEEK(2367)=236THEN10070
  248. 10050 POKE-16368,0
  249. 10060 FORI=1TO400:CH%=PEEK(-16384):X=USR(0):IFCH%<128THENNEXT
  250. 10062 VTAB20:HTAB31:PRINTIV$;CA$;"'ESC'";:FORI=1TO20:X=USR(0):IFPEEK(-16384)<>155THENNEXT:VTAB20:HTAB31:PRINTNV$;CA$+"'ESC'";:FORI=1TO20:X=USR(0):IFPEEK(-16384)<>155THENNEXT:GOTO10062
  251. 10070 POKE2367,236:POKE-16368,0:PRINTNV$;FS$;HM$
  252. 10110 VTAB8:HTAB1:PRINTCG$;"[";:&45,38:PRINT"]";:FORI=1TO8:PRINT"!";TAB(40);"!";:NEXTI:PRINT"<";:&58,38:PRINT">";CS$
  253. 10120 VTAB10:HTAB7:PRINTCS$;T$;",":VTAB12:HTAB3:PRINT"What will you name your":VTAB15:HTAB13:&45,22:VTAB14:HTAB7:PRINT"Firm: ";CA$;:&32,27:VTAB14:HTAB13:POKE33,39:CALL2200:POKE33,40:WK$=MID$(WK$,1):IFWK$=""THENCALL2521:GOTO10120
  254. 10130 IFLEN(WK$)>22THENPRINT:VTAB18:PRINTIV$;:&32,42:PRINT"Please limit your Firm's name to 22 characters or less.";:&32,59:PRINTNV$:CALL2518:GOSUB92:VTAB18:PRINTCE$:GOTO10120
  255. 10140 H$=WK$:PRINTHM$;CS$:VTAB6:PRINT"Do you want to start . . .":PRINT:PRINT:PRINT" 1) With cash (and a debt)":PRINT:PRINT:PRINT,">> or <<":PRINT:PRINT:PRINT" 2) With five guns and no cash":PRINT,"(But no debt!)"
  256. 10150 PRINT:PRINT:PRINTTAB(10);" ?";:CH$="12":GOSUB100:MO=1:YE=1860:SC=60:BA=0:LO=1:TI=1:WC=10000:WS=0
  257. 10160 IFCH%=1THENDW=5000:CA=400:MW=60:GN=0:BP=10
  258. 10170 IFCH%=2THENDW=0:CA=0:MW=10:GN=5:BP=7
  259. 10180 FORI=0TO7:READLO$(I):NEXTI:DATAAtsea,HongKong,Shanghai,Nagasaki,Saigon,Manila,Singapore,Batavia
  260. 10190 FORI=1TO4:READCO$(I):FORJ=1TO7:READBP%(J,I):NEXTJ,I
  261. 10200 DATAOpium,11,16,15,14,12,10,13,Silk,11,14,15,16,10,13,12,Arms,12,16,10,11,13,14,15,GeneralCargo,10,11,12,13,14,15,16
  262. 10210 FORI=0TO5:READST$(I):NEXTI:DATA"Critical"," Poor"," Fair"," Good"," Prime","Perfect"
  263. 10250 SH$=BD$+CG$+"ABCDEFG"+CD$+"HIJKLMN"+CD$+"OIJKLPQ"+CD$+"RSTUVWX"+CD$+"YJJJJJZ"+DD$
  264. 10260 SB$=BD$:FORII=1TO5:SB$=SB$+" "+CD$:NEXTII:SB$=SB$+DD$
  265. 10270 FORI=0TO5:FORJ=0TO1:CH$=BD$+CG$
  266. 10280 READWK$:CH$=CH$+WK$:IFRIGHT$(CH$,1)="*"THENCH$=MID$(CH$,1,LEN(CH$)-1)+CD$:GOTO10280
  267. 10290 DM$(I,J)=CH$+DD$:READDL%(I,J):NEXTJ,I
  268. 10300 DATAcde,20,r,3,fg*,mn,50,tu,23,ij,11,vw,43,0,22,x*,z,63,kl,32,12,14,pq,52,345,34
  269. 10310 EC=20:ED=.5
  270. 10990 GOSUB200:GOTO1000
  271. 20000 REM
  272. 20010 WW=CA+BA-DW:GOSUB600:WW=INT((CA+BA-DW)/100/TI^1.1)
  273. 20020 PRINTFS$;HM$;CS$;:PRINT"Your final status:":PRINT:PRINT"Net Cash: ";WW$:PRINT:PRINT"Ship size: ";SC;" units with ";GN;" guns":PRINT
  274. 20030 PRINT"You traded for ";INT(TI/12);" year";MID$("s",(TI>11ANDTI<24)+1,1);" and ";TI-INT(TI/12)*12;" month";MID$("s",((TI-INT(TI/12)*12)=1)+1,1):PRINT:PRINTIV$;"Your score is ";WW;".";NV$
  275. 20040 VTAB14:PRINT"Your Rating:":PRINTCG$;"[";:&45,31:PRINT"]":FORI=1TO5:PRINT"!";:HTAB33:PRINT"!":NEXTI:PRINT"<";:&58,31:PRINT">";CS$:VTAB16
  276. 20050 HTAB2:IFWW>49999THENPRINTIV$;
  277. 20060 PRINT"Ma Tsu";NV$;" 50,000 and over "
  278. 20070 HTAB2:IFWW<50000ANDWW>7999THENPRINTIV$;
  279. 20080 PRINT"Master ";T$;NV$;" 8,000 to 49,999"
  280. 20090 HTAB2:IFWW<8000ANDWW>999THENPRINTIV$;
  281. 20100 PRINTT$;NV$;" 1,000 to 7,999"
  282. 20110 HTAB2:IFWW<1000ANDWW>499THENPRINTIV$;
  283. 20120 PRINT"Compradore";NV$;" 500 to 999"
  284. 20130 HTAB2:IFWW<500THENPRINTIV$;
  285. 20140 PRINT"Galley Hand";NV$;" less than 500"
  286. 20170 VTAB11
  287. 20180 IFWW<99ANDWW>=0THENPRINT"Have you considered a land based job?":PRINT
  288. 20190 IFWW<0THENPRINT"The crew has requested that you stay on shore for their safety!!":PRINT
  289. 20900 VTAB23:RETURN
  290. 63999 PRINTFS$;HM$:TEXT:HOME:POKE103,1:POKE104,8:END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement