home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / 91xx / 9105.d64 / pirates-knacker (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  9KB  |  244 lines

  1. 0 REM PIRATES V4
  2. 1 REM MARTIN WALTER, CLEMENSSTR.50,                            8 MUE 40
  3. 10 A$="":A=0:T$="":P=0:V$="":AW$="":I=0:J=0:C0$=CHR$(0)
  4. 20 DIMTW$(42):DIMA(12)
  5. 30 I=-1:XX=1:CR$=CHR$(13):C0$=CHR$(0):K$=":"
  6. 40 X$="----------------------------------------"
  7. 50 YE=1660
  8. 90 GOSUB3000
  9. 95 OPEN1,8,15,"I":CLOSE1
  10. 100 POKE53280,0:POKE53281,0:PRINT"[147][158]"
  11. 110 PRINT"             PIRATES-KNACKER"
  12. 120 PRINT"WOLLEN SIE ..."
  13. 130 PRINT" 1[146]  NUR DIE STAEDTE"
  14. 140 PRINT" 2[146]  ALLES BEKANNTE"
  15. 150 PRINT" 3[146]  ALLES"
  16. 160 PRINT" 4[146]  DIRECTORY LESEN"
  17. 170 PRINT" 5[146]  HALL OF FAME"
  18. 180 PRINT" 6[146]  ENDE"
  19. 190 INPUT" EINGABE: ";EG:EG=INT(EG)
  20. 200 IFEG<1OREG>6THENPRINT"[145]        [145][145][145]":GOTO190
  21. 210 ONEGGOTO220,220,220,2800,2900,3200
  22. 220 INPUT"NUMMER DES SPIELSTANDES (1-4) ";NR:NR=INT(NR):IFNR=0THENEND
  23. 230 IFNR<1ORNR>4THENPRINT"[145]                      [145][145]":GOTO220
  24. 240 T$="SAVEGAME"+STR$(NR)+",P,R"
  25. 250 POKE768,61:OPEN3,4:PRINT#3:CLOSE3:POKE768,139:IFST=-128THENDX=1:GOTO300
  26. 260 INPUT"AUSDRUCK ";DR$:IFDR$<>"J"THENDX=1
  27. 270 OPEN3,4,9
  28. 300 OPEN4,8,4,T$:CLOSE4:GOSUB2000:PRINT"[147]":OPEN4,8,4,T$
  29. 310 A=0:B=257:GOSUB2200
  30. 315 IFEG=3THENPRINT:IFDX=0THENPRINT#3,""
  31. 320 PRINTX$;
  32. 400 FORS=0TO40
  33. 410 FORI=1TO12:GET#4,A$:A(I)=ASC(A$+C0$):NEXT:T$=""
  34. 420 FORI=1TO12:GET#4,A$:T$=T$+A$:NEXT:TW$(S)=T$:T$=T$+":"
  35. 430 IFS>38THENIFEG<3THEN570
  36. 440 GETAW$:IFAW$<>""THENGOSUB2100
  37. 450 IFEG=3THENFORI=1TO3:T$=T$+RIGHT$(" "+STR$(A(I)),3)+K$:NEXT
  38. 460 T$=T$+MID$(C2$,A(4)*2+1,2)+RIGHT$(STR$(A(5)),1)+K$
  39. 470 T$=T$+RIGHT$(" "+STR$(A(6)*10),3)+K$+RIGHT$(" "+STR$(A(7)*100+100),4)+K$
  40. 480 T$=T$+RIGHT$("    "+STR$(A(8)*1000),6)+K$+RIGHT$(" "+STR$(A(9)),3)+" ("
  41. 490 A=A(9):L$="STRUGGL.":IFA>63THENL$="SURVIVG."
  42. 500 IFA>127THENL$="PROSPER.":IFA>191THENL$="WEALTHY "
  43. 505 T$=T$+L$+"):"
  44. 510 IFEG=3THENT$=T$+RIGHT$(" "+STR$(A(10)),3)+K$+RIGHT$(" "+STR$(A(11)),3)+K$
  45. 520 A=A(12):A$="":IFA>63THENA$="V":IFA>127THENA$="I"
  46. 530 T$=T$+RIGHT$(" "+A$+RIGHT$(STR$(AAND15),2),3)+K$
  47. 550 PRINTT$;CR$;X$;
  48. 560 IFDX=0THENPRINT#3,T$
  49. 570 NEXTS:IFEG=1THEN1770
  50. 580 IFEG=3THENPRINT:IFDX=0THENPRINT#3,""
  51. 600 A=1242:B=1281:GOSUB2200
  52. 605 PRINT:IFDX=0THENPRINT#3,""
  53. 610 GET#4,A$:J=ASC(A$+C0$)
  54. 620 FORI=1TOJ:GOSUB2500:TX$=""
  55. 630 IFC>13THENC=C-13:GOTO650
  56. 640 ONCGOTO700,710,740,750,790,800,995,810,820,850,860,870,880
  57. 650 ONCGOTO890,900,910,920,930,940,950,960,995,995,970,980,990
  58. 700 : TX$="   VISITED "+TW$(D):GOTO1000
  59. 710 : TX$="   TITLED AS A ":X1=DAND240:X2=DAND15
  60. 720 Y=1:IFX1>63THENY=8:IFX1>127THENY=15:IFX1>191THENY=22
  61. 730 TX$=TX$+MID$(C3$,Y,7)+" "+MID$(RG$,X2*7+1,7):GOTO1000
  62. 740 : TX$="   PLUNDERED "+TW$(D):GOTO1000
  63. 750 : TX$="   CAPTURED A "
  64. 760 X1=DAND112:X2=DAND15
  65. 770 Y=1:IFX1>15THENY=8:IFX1>31THENY=15:IFX1>47THENY=22:IFX1>63THENY=29
  66. 780 TX$=TX$+MID$(C3$,Y,7)+" "+MID$(TS$,X2*12+1,12):GOTO1000
  67. 790 : TX$="   SUNK A ":GOTO760
  68. 800 : TX$="   ENGAGED A ":GOTO760
  69. 810 : TX$="   FOUND BURIED TREASURE":GOTO1000
  70. 820 : X=DAND192:TX$="COLONEL ALVARADO":IFX=64THENTX$="CAPTAIN DE LOYOLA"
  71. 830 IFX>127THENTX$="COUNT SANCHEZ":IFX=192THENTX$="MAJOR DE LOYOLA"
  72. 840 X=DAND63:TX$="   "+TX$+" IN "+TW$(X):GOTO1000
  73. 850 : TX$="   "+MID$(C1$,D*7+1,7)+" OFFERS PIRATE AMNESTY":GOTO1000
  74. 860 : TX$="   * INDIANS ATTACK "+TW$(D):GOTO1000
  75. 870 : TX$="   * NEW GOLD MINE AT "+TW$(D):GOTO1000
  76. 880 : TX$="   * MALARIA STRIKES "+TW$(D):GOTO1000
  77. 890 : TX$="   * NEW GOVERNOR IN "+TW$(D):GOTO1000
  78. 900 : TX$="   * PIRATES PLUNDER "+TW$(D):GOTO1000
  79. 910 : TY$=" AT WAR WITH ":GOSUB2600:GOTO 1000
  80. 920 : TY$=" MAKES PEACE WITH ":GOSUB2600:GOTO1000
  81. 930 : TY$=" ALLIES WITH ":GOSUB2600:GOTO1000
  82. 940 : TX$="   LAND CAPTURES "+TW$(DAND63)+" ("+STR$(D)+")":GOTO1000
  83. 950 : TX$="   TREASURE FLEET IN "+TW$(D):GOTO1000
  84. 960 : TX$="   SILVER TRAIN IN "+TW$(D):GOTO1000
  85. 970 : TX$="   CAPTURED THE TREASURE FLEET":GOTO1000
  86. 980 : TX$="   CAPTURED THE SILVER TRAIN":GOTO1000
  87. 990 : TX$="   FOUND MY LOST "+MID$(FM$,D*6+1,6):GOTO1000
  88. 995 : TX$="     "+STR$(C)+STR$(D)
  89. 1000 TX$=DT$+TX$:PRINTTX$:IFDX=0THENPRINT#3,TX$
  90. 1010 GETAW$:IFAW$<>""THENGOSUB2100
  91. 1020 NEXT
  92. 1030 GET#4,A$,B$,C$,D$:IFA$+B$+C$+D$<>""THEN1030
  93. 1040 GET#4,A$,B$,C$,D$:IFA$+B$+C$+D$=""THEN1040
  94. 1100 IFEG<>3THEN1110
  95. 1105 T$=CR$+"BYTE 1535:"+STR$(ASC(A$+C0$)):PRINTT$:IFDX=0THENPRINT#3,T$
  96. 1110 A(1)=ASC(B$+C0$):A(2)=ASC(C$+C0$)
  97. 1120 TX$=CR$+"SILVER TRAIN IN   ":IFA(1)=255THENTX$=TX$+"PERU":GOTO1140
  98. 1130 TX$=TX$+TW$(A(1))
  99. 1140 TX$=TX$+CR$+"TREASURE FLEET IN "
  100. 1145 IFA(2)=255THENTX$=TX$+"SPAIN"+CR$:GOTO1160
  101. 1150 TX$=TX$+TW$(A(2))+CR$
  102. 1160 GOSUB2700:GETAW$:IFAW$<>""THENGOSUB 2100
  103. 1162 IFEG<>3THEN1170
  104. 1165 T$="BYTE 1538:"+STR$(ASC(D$+C0$)):PRINTT$:IFDX=0THENPRINT#3,T$
  105. 1170 A=1539:B=1539:GOSUB2200
  106. 1175 IFEG=3THENPRINT:IFDX=0THENPRINT#3,""
  107. 1180 GET#4,A$,B$:A=ASC(A$+C0$):B=ASC(B$+C0$)
  108. 1190 TX$="VERMOEGEN  :"+STR$((A+B*256)*10)+" GOLDSTUECKE"+CR$
  109. 1200 GET#4,A$,B$,C$,D$:TX$=TX$+"REPUTATION :"+STR$(ASC(A$+C0$))+CR$
  110. 1210 TX$=TX$+"GRUNDBESITZ:"+STR$(50*ASC(B$+C0$))+" MORGEN"+CR$:GOSUB2700
  111. 1220 GETAW$:IFAW$<>""THENGOSUB2100
  112. 1230 TX$="GERETTETE VERWANDTE:"+STR$(ASC(C$+C0$))+CR$+CR$
  113. 1240 FORI=1TO4:GET#4,A$:A=ASC(A$+C0$):A(I)=A
  114. 1250 AN$="NO TITLE":IFA>1THENAN$="LETTER OF MARQUE"
  115. 1260 IFA>127THENAN$="HOSTILE":IFA>252THENAN$="WARY"
  116. 1270 A$(I)="  "+AN$:NEXT
  117. 1280 TX$=TX$+"STIMMUNG DER CREW:"+STR$(ASC(D$+C0$))+CR$+CR$
  118. 1290 TX$=TX$+"ANSEHEN:"+CR$:BD$="   BEI DEN "
  119. 1300 TX$=TX$+BD$+"SPANIERN   : "+RIGHT$(" "+STR$(A(1)),3)+A$(1)+CR$
  120. 1310 TX$=TX$+BD$+"ENGLAENDERN: "+RIGHT$(" "+STR$(A(2)),3)+A$(2)+CR$
  121. 1320 TX$=TX$+BD$+"FRANZOSEN  : "+RIGHT$(" "+STR$(A(3)),3)+A$(3)+CR$
  122. 1330 TX$=TX$+BD$+"HOLLAENDERN: "+RIGHT$(" "+STR$(A(4)),3)+A$(4)+CR$
  123. 1340 GOSUB2700:GETAW$:IFAW$<>""THENGOSUB 2100
  124. 1350 GET#4,X$:TX$="DIENSTGRADE:"+CR$
  125. 1360 FORJ=0TO3
  126. 1370 GET#4,A$:A=ASC(A$+C0$):IFA=0THEN1390
  127. 1380 TX$=TX$+"   "+MID$(C3$,J*7+1,7)+" "+MID$(RG$,A*7+1,7)+CR$
  128. 1390 NEXT:GOSUB2700
  129. 1395 IFEG=3THENT$="BYTE 1550:"+STR$(ASC(A$+C0$)):PRINTT$:IFDX=0THENPRINT#3,T$
  130. 1400 A=1555:B=1557:GOSUB2200
  131. 1410 GET#4,A$:A=ASC(A$+C0$)
  132. 1420 TX$="FAMILIENSTAND : ":IFA=0THENTX$=TX$+"LEDIG":GOTO1440
  133. 1430 TX$=TX$+"VERHEIRATET ("+STR$(A)+")"
  134. 1440 A=1559:B=1560:GOSUB2200
  135. 1450 GET#4,A$,B$:A=ASC(A$+C0$)-1
  136. 1460 TX$=TX$+CR$+CR$+"SPECIAL ABILITY    : "+MID$(SK$,A*19+1,19)+CR$
  137. 1470 TX$=TX$+"SCHWIERIGKEITSSTUFE: "+MID$(SS$,ASC(B$+C0$)*12+1,12)
  138. 1480 A=1563:B=1572:GOSUB2200:TX$=TX$+CR$+CR$
  139. 1485 IFEG=3THENPRINT:IFDX=0THENPRINT#3,""
  140. 1490 GETAW$:IFAW$<>""THENGOSUB2100
  141. 1500 GET#4,A$,B$,C$
  142. 1510 TX$=TX$+"MANNSCHAFT:"+STR$(ASC(A$+C0$)+ASC(B$+C0$)*256)+" MANN "+CR$
  143. 1520 TX$=TX$+"KANONEN   :"+STR$(ASC(C$+C0$)):GOSUB2700
  144. 1530 GET#4,A$,B$,C$:A=ASC(A$+C0$)
  145. 1540 TX$=CR$+"NATIONALITAET: "+MID$(SJ$,A*17+1,17)+CR$+CR$
  146. 1550 TX$=TX$+"BEUTE:"+STR$((ASC(B$+C0$)+ASC(C$+C0$)*256)*10)+" GOLSTUECKE"
  147. 1560 GOSUB2700:GETAW$:IFAW$<>""THENGOSUB2100
  148. 1570 GET#4,A$,B$,C$
  149. 1580 TX$="FOOD : "+RIGHT$(" "+STR$(ASC(A$+C0$)),3)+" TONNEN"+CR$
  150. 1590 TX$=TX$+"GOODS: "+RIGHT$(" "+STR$(ASC(B$+C0$)),3)+" TONNEN"+CR$
  151. 1600 TX$=TX$+"SUGAR: "+RIGHT$(" "+STR$(ASC(C$+C0$)),3)+" TONNEN":GOSUB2700
  152. 1605 IFEG=3THENPRINT:IFDX=0THENPRINT#3,""
  153. 1610 A=1582:B=1583:GOSUB2200
  154. 1620 GET#4,A$,B$:TX$="LADERAUM INSG. :"+STR$(ASC(A$+C0$)*10)+" TONNEN"+CR$+CR$
  155. 1630 Y=ASC(B$+C0$):TX$=TX$+"ANZAHL SCHIFFE :"+STR$(Y)+CR$
  156. 1640 A=1586:B=1589:GOSUB2200
  157. 1645 IFEG=3THENPRINT:IFDX=0THENPRINT#3,""
  158. 1650 FORI=1TOY:GET#4,A$:A=ASC(A$+C0$):L$=""
  159. 1660 TX$=TX$+"  "+MID$(TS$,(AAND7)*12+1,12):IFA<8THEN1700
  160. 1670 A=AAND248:IFA>7THENL$="SAIL DAMAGE":IFA>15THENL$="LOST A MAST"
  161. 1680 IFA=32THENL$="HULL LEAKING"
  162. 1690 L$=" ("+L$+")"
  163. 1700 TX$=TX$+L$+CR$:NEXT:GOSUB2700
  164. 1710 A=1590+Y:B=1617:GOSUB2200
  165. 1720 GETAW$:IFAW$<>""THENGOSUB2100
  166. 1730 NA$=""
  167. 1740 FORI=1TO10:GET#4,A$:NA$=NA$+A$:NEXT
  168. 1750 TX$=CR$+"NAME: "+NA$+CR$+"SAVEGAME"+STR$(NR):GOSUB2700
  169. 1755 IFEG=3THENPRINT:IFDX=0THENPRINT#3,""
  170. 1760 A=1627:B=1792:GOSUB2200
  171. 1770 POKE198,0:GOSUB2100
  172. 1780 CLOSE3:CLOSE4:RUN
  173. 2000 OPEN1,8,15:INPUT#1,A,B$:CLOSE1:IFA=0THENRETURN
  174. 2010 PRINT"[147]FEHLER: ";A,B$:END
  175. 2100 GETAW$:IFAW$=""THEN2100
  176. 2110 IFAW$="M"THEN1780
  177. 2120 IFAW$="D"THENIFDX=1THENDX=0:GOTO2100
  178. 2130 IFAW$="D"THENIFDX=0THENDX=1:GOTO2100
  179. 2140 IFAW$="N"THENPOKE198,1:POKE631,8
  180. 2150 RETURN
  181. 2200 IFEG=3THENGOTO2300
  182. 2210 FORP=ATOB:GET#4,A$:NEXT:RETURN
  183. 2300 XX=1:LB=256:FORP=ATOB:GET#4,A$:A$=A$+C0$:X=ASC(A$)
  184. 2310 IFX=LBTHENXX=XX+1:GOTO2420
  185. 2320 GETAW$:IFAW$<>""THENGOSUB2100
  186. 2340 LB=X:T$="BYTE"+STR$(P)+":"+STR$(X)
  187. 2350 T$=LEFT$(T$+"          ",17)
  188. 2355 IFX>32ANDX<91THENT$=T$+"("+CHR$(X)+")"
  189. 2357 T$=LEFT$(T$+"          ",23):IFA=PTHEN2400
  190. 2360 IFXX=1THENV$="":GOTO2380
  191. 2370 V$="(*"+MID$(STR$(XX),2,3)+")"
  192. 2380 PRINTV$;:IFDX=0THENPRINT#3,V$;
  193. 2390 PRINT:IFDX=0THENPRINT#3,""
  194. 2400 PRINTT$;:IFDX=0THENPRINT#3,T$;
  195. 2410 XX=1
  196. 2420 NEXT:IFXX=1THEN2440
  197. 2425 V$="(*"+MID$(STR$(XX),2,3)+")"
  198. 2430 PRINTV$;:IFDX=0THENPRINT#3,V$;
  199. 2440 PRINT"":IFDX=0THENPRINT#3,""
  200. 2450 RETURN
  201. 2500 GET#4,A$:A=ASC(A$+C0$)
  202. 2510 GET#4,A$:B=ASC(A$+C0$)
  203. 2520 GET#4,A$:C=ASC(A$+C0$)
  204. 2530 GET#4,A$:D=ASC(A$+C0$)
  205. 2540 TX=A+B*256:JA=INT(TX/360):TA=TX-JA*360:MO=INT(TA/30):TA=TA-MO*30+1
  206. 2550 DT$=RIGHT$(STR$(TA),2)+"."+MID$(MX$,MO*3+1,3)+STR$(JA+YE):RETURN
  207. 2600 X1=DAND3:X2=DAND12
  208. 2610 Y=1:IFX1>0THENY=8:IFX1>1THENY=15:IFX1>2THENY=22
  209. 2620 Z=1:IFX2>3THENZ=8:IFX2>7THENZ=15:IFX2>11THENZ=22
  210. 2630 TX$="   "+MID$(C1$,Y,7)+TY$+MID$(C1$,Z,7):RETURN
  211. 2700 PRINTTX$:IFDX=0THENPRINT#3,TX$
  212. 2710 RETURN
  213. 2800 OPEN1,8,0,"$":GET#1,A$,A$:PRINT"[147]"
  214. 2810 GET#1,A$,A$:IFST=64THENCLOSE1:GOTO1770
  215. 2820 GETAW$:IFAW$<>""THENGOSUB2100
  216. 2830 GET#1,A$,B$:PRINTASC(A$+C0$)+256*ASC(B$+C0$);
  217. 2840 GET#1,A$:PRINTA$;:IFA$<>""THEN2840
  218. 2850 PRINT:GOTO2810
  219. 2900 OPEN4,8,4,"FAME,S,R":CLOSE4:GOSUB2000
  220. 2910 OPEN4,8,4,"FAME,S,R":PRINT"[147]          HALL OF FAME"
  221. 2920 GET#4,A$:A=ASC(A$+C0$):IFA$=""THENA$=CHR$(0)
  222. 2930 IFST<>0THEN2990
  223. 2940 IFA<>13THENPRINTA$;:GOTO2920
  224. 2950 IFT=0THENT=12:GOTO2980
  225. 2960 IFT=12THENT=35:GOTO2980
  226. 2970 IFT=35THENT=0:PRINT
  227. 2980 PRINTTAB(T);:GOTO2920
  228. 2990 CLOSE4:GOSUB2100:RUN
  229. 3000 MX$="JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC"
  230. 3010 RG$="       ENSIGN CAPTAINMAJOR  COLONELADMIRALBARON  COUNT  MARQUIS"
  231. 3020 RG$=RG$+"DUKE   "
  232. 3030 TS$="PINNACE     SLOOP       BARQUE      CARGO FLUYT MERCHANTMAN "
  233. 3040 TS$=TS$+"FRIGATE     WAR GALLEON GALLEON     FAST GALLEON"
  234. 3050 C1$="SPAIN  ENGLANDFRANCE HOLLAND"
  235. 3060 C2$="S:E:F:D:"
  236. 3070 C3$="SPANISHENGLISHFRENCH DUTCH  PIRATE"
  237. 3080 FM$="SISTERFATHERMOTHERUNCLE"
  238. 3090 SS$="APPRENTICE  JOURNEYMAN  ADVENTURER  SWASHBUCKLER"
  239. 3100 SK$="SKILL AT FENCING   SKILL AT NAVIGATIONSKILL AT GUNNERY   "
  240. 3110 SK$=SK$+"WIT AND CHARM      SKILL AT MEDICINE"
  241. 3120 SJ$="SPANISH RENEGADE ENGLISH BUCCANEERFRENCH BUCCANEER DUTCH ADVENTURER "
  242. 3130 RETURN
  243. 3200 END
  244.