home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
91xx
/
9105.d64
/
pirates-knacker
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
9KB
|
244 lines
0 REM PIRATES V4
1 REM MARTIN WALTER, CLEMENSSTR.50, 8 MUE 40
10 A$="":A=0:T$="":P=0:V$="":AW$="":I=0:J=0:C0$=CHR$(0)
20 DIMTW$(42):DIMA(12)
30 I=-1:XX=1:CR$=CHR$(13):C0$=CHR$(0):K$=":"
40 X$="----------------------------------------"
50 YE=1660
90 GOSUB3000
95 OPEN1,8,15,"I":CLOSE1
100 POKE53280,0:POKE53281,0:PRINT"[147][158]"
110 PRINT" PIRATES-KNACKER"
120 PRINT"WOLLEN SIE ..."
130 PRINT" 1[146] NUR DIE STAEDTE"
140 PRINT" 2[146] ALLES BEKANNTE"
150 PRINT" 3[146] ALLES"
160 PRINT" 4[146] DIRECTORY LESEN"
170 PRINT" 5[146] HALL OF FAME"
180 PRINT" 6[146] ENDE"
190 INPUT" EINGABE: ";EG:EG=INT(EG)
200 IFEG<1OREG>6THENPRINT"[145] [145][145][145]":GOTO190
210 ONEGGOTO220,220,220,2800,2900,3200
220 INPUT"NUMMER DES SPIELSTANDES (1-4) ";NR:NR=INT(NR):IFNR=0THENEND
230 IFNR<1ORNR>4THENPRINT"[145] [145][145]":GOTO220
240 T$="SAVEGAME"+STR$(NR)+",P,R"
250 POKE768,61:OPEN3,4:PRINT#3:CLOSE3:POKE768,139:IFST=-128THENDX=1:GOTO300
260 INPUT"AUSDRUCK ";DR$:IFDR$<>"J"THENDX=1
270 OPEN3,4,9
300 OPEN4,8,4,T$:CLOSE4:GOSUB2000:PRINT"[147]":OPEN4,8,4,T$
310 A=0:B=257:GOSUB2200
315 IFEG=3THENPRINT:IFDX=0THENPRINT#3,""
320 PRINTX$;
400 FORS=0TO40
410 FORI=1TO12:GET#4,A$:A(I)=ASC(A$+C0$):NEXT:T$=""
420 FORI=1TO12:GET#4,A$:T$=T$+A$:NEXT:TW$(S)=T$:T$=T$+":"
430 IFS>38THENIFEG<3THEN570
440 GETAW$:IFAW$<>""THENGOSUB2100
450 IFEG=3THENFORI=1TO3:T$=T$+RIGHT$(" "+STR$(A(I)),3)+K$:NEXT
460 T$=T$+MID$(C2$,A(4)*2+1,2)+RIGHT$(STR$(A(5)),1)+K$
470 T$=T$+RIGHT$(" "+STR$(A(6)*10),3)+K$+RIGHT$(" "+STR$(A(7)*100+100),4)+K$
480 T$=T$+RIGHT$(" "+STR$(A(8)*1000),6)+K$+RIGHT$(" "+STR$(A(9)),3)+" ("
490 A=A(9):L$="STRUGGL.":IFA>63THENL$="SURVIVG."
500 IFA>127THENL$="PROSPER.":IFA>191THENL$="WEALTHY "
505 T$=T$+L$+"):"
510 IFEG=3THENT$=T$+RIGHT$(" "+STR$(A(10)),3)+K$+RIGHT$(" "+STR$(A(11)),3)+K$
520 A=A(12):A$="":IFA>63THENA$="V":IFA>127THENA$="I"
530 T$=T$+RIGHT$(" "+A$+RIGHT$(STR$(AAND15),2),3)+K$
550 PRINTT$;CR$;X$;
560 IFDX=0THENPRINT#3,T$
570 NEXTS:IFEG=1THEN1770
580 IFEG=3THENPRINT:IFDX=0THENPRINT#3,""
600 A=1242:B=1281:GOSUB2200
605 PRINT:IFDX=0THENPRINT#3,""
610 GET#4,A$:J=ASC(A$+C0$)
620 FORI=1TOJ:GOSUB2500:TX$=""
630 IFC>13THENC=C-13:GOTO650
640 ONCGOTO700,710,740,750,790,800,995,810,820,850,860,870,880
650 ONCGOTO890,900,910,920,930,940,950,960,995,995,970,980,990
700 : TX$=" VISITED "+TW$(D):GOTO1000
710 : TX$=" TITLED AS A ":X1=DAND240:X2=DAND15
720 Y=1:IFX1>63THENY=8:IFX1>127THENY=15:IFX1>191THENY=22
730 TX$=TX$+MID$(C3$,Y,7)+" "+MID$(RG$,X2*7+1,7):GOTO1000
740 : TX$=" PLUNDERED "+TW$(D):GOTO1000
750 : TX$=" CAPTURED A "
760 X1=DAND112:X2=DAND15
770 Y=1:IFX1>15THENY=8:IFX1>31THENY=15:IFX1>47THENY=22:IFX1>63THENY=29
780 TX$=TX$+MID$(C3$,Y,7)+" "+MID$(TS$,X2*12+1,12):GOTO1000
790 : TX$=" SUNK A ":GOTO760
800 : TX$=" ENGAGED A ":GOTO760
810 : TX$=" FOUND BURIED TREASURE":GOTO1000
820 : X=DAND192:TX$="COLONEL ALVARADO":IFX=64THENTX$="CAPTAIN DE LOYOLA"
830 IFX>127THENTX$="COUNT SANCHEZ":IFX=192THENTX$="MAJOR DE LOYOLA"
840 X=DAND63:TX$=" "+TX$+" IN "+TW$(X):GOTO1000
850 : TX$=" "+MID$(C1$,D*7+1,7)+" OFFERS PIRATE AMNESTY":GOTO1000
860 : TX$=" * INDIANS ATTACK "+TW$(D):GOTO1000
870 : TX$=" * NEW GOLD MINE AT "+TW$(D):GOTO1000
880 : TX$=" * MALARIA STRIKES "+TW$(D):GOTO1000
890 : TX$=" * NEW GOVERNOR IN "+TW$(D):GOTO1000
900 : TX$=" * PIRATES PLUNDER "+TW$(D):GOTO1000
910 : TY$=" AT WAR WITH ":GOSUB2600:GOTO 1000
920 : TY$=" MAKES PEACE WITH ":GOSUB2600:GOTO1000
930 : TY$=" ALLIES WITH ":GOSUB2600:GOTO1000
940 : TX$=" LAND CAPTURES "+TW$(DAND63)+" ("+STR$(D)+")":GOTO1000
950 : TX$=" TREASURE FLEET IN "+TW$(D):GOTO1000
960 : TX$=" SILVER TRAIN IN "+TW$(D):GOTO1000
970 : TX$=" CAPTURED THE TREASURE FLEET":GOTO1000
980 : TX$=" CAPTURED THE SILVER TRAIN":GOTO1000
990 : TX$=" FOUND MY LOST "+MID$(FM$,D*6+1,6):GOTO1000
995 : TX$=" "+STR$(C)+STR$(D)
1000 TX$=DT$+TX$:PRINTTX$:IFDX=0THENPRINT#3,TX$
1010 GETAW$:IFAW$<>""THENGOSUB2100
1020 NEXT
1030 GET#4,A$,B$,C$,D$:IFA$+B$+C$+D$<>""THEN1030
1040 GET#4,A$,B$,C$,D$:IFA$+B$+C$+D$=""THEN1040
1100 IFEG<>3THEN1110
1105 T$=CR$+"BYTE 1535:"+STR$(ASC(A$+C0$)):PRINTT$:IFDX=0THENPRINT#3,T$
1110 A(1)=ASC(B$+C0$):A(2)=ASC(C$+C0$)
1120 TX$=CR$+"SILVER TRAIN IN ":IFA(1)=255THENTX$=TX$+"PERU":GOTO1140
1130 TX$=TX$+TW$(A(1))
1140 TX$=TX$+CR$+"TREASURE FLEET IN "
1145 IFA(2)=255THENTX$=TX$+"SPAIN"+CR$:GOTO1160
1150 TX$=TX$+TW$(A(2))+CR$
1160 GOSUB2700:GETAW$:IFAW$<>""THENGOSUB 2100
1162 IFEG<>3THEN1170
1165 T$="BYTE 1538:"+STR$(ASC(D$+C0$)):PRINTT$:IFDX=0THENPRINT#3,T$
1170 A=1539:B=1539:GOSUB2200
1175 IFEG=3THENPRINT:IFDX=0THENPRINT#3,""
1180 GET#4,A$,B$:A=ASC(A$+C0$):B=ASC(B$+C0$)
1190 TX$="VERMOEGEN :"+STR$((A+B*256)*10)+" GOLDSTUECKE"+CR$
1200 GET#4,A$,B$,C$,D$:TX$=TX$+"REPUTATION :"+STR$(ASC(A$+C0$))+CR$
1210 TX$=TX$+"GRUNDBESITZ:"+STR$(50*ASC(B$+C0$))+" MORGEN"+CR$:GOSUB2700
1220 GETAW$:IFAW$<>""THENGOSUB2100
1230 TX$="GERETTETE VERWANDTE:"+STR$(ASC(C$+C0$))+CR$+CR$
1240 FORI=1TO4:GET#4,A$:A=ASC(A$+C0$):A(I)=A
1250 AN$="NO TITLE":IFA>1THENAN$="LETTER OF MARQUE"
1260 IFA>127THENAN$="HOSTILE":IFA>252THENAN$="WARY"
1270 A$(I)=" "+AN$:NEXT
1280 TX$=TX$+"STIMMUNG DER CREW:"+STR$(ASC(D$+C0$))+CR$+CR$
1290 TX$=TX$+"ANSEHEN:"+CR$:BD$=" BEI DEN "
1300 TX$=TX$+BD$+"SPANIERN : "+RIGHT$(" "+STR$(A(1)),3)+A$(1)+CR$
1310 TX$=TX$+BD$+"ENGLAENDERN: "+RIGHT$(" "+STR$(A(2)),3)+A$(2)+CR$
1320 TX$=TX$+BD$+"FRANZOSEN : "+RIGHT$(" "+STR$(A(3)),3)+A$(3)+CR$
1330 TX$=TX$+BD$+"HOLLAENDERN: "+RIGHT$(" "+STR$(A(4)),3)+A$(4)+CR$
1340 GOSUB2700:GETAW$:IFAW$<>""THENGOSUB 2100
1350 GET#4,X$:TX$="DIENSTGRADE:"+CR$
1360 FORJ=0TO3
1370 GET#4,A$:A=ASC(A$+C0$):IFA=0THEN1390
1380 TX$=TX$+" "+MID$(C3$,J*7+1,7)+" "+MID$(RG$,A*7+1,7)+CR$
1390 NEXT:GOSUB2700
1395 IFEG=3THENT$="BYTE 1550:"+STR$(ASC(A$+C0$)):PRINTT$:IFDX=0THENPRINT#3,T$
1400 A=1555:B=1557:GOSUB2200
1410 GET#4,A$:A=ASC(A$+C0$)
1420 TX$="FAMILIENSTAND : ":IFA=0THENTX$=TX$+"LEDIG":GOTO1440
1430 TX$=TX$+"VERHEIRATET ("+STR$(A)+")"
1440 A=1559:B=1560:GOSUB2200
1450 GET#4,A$,B$:A=ASC(A$+C0$)-1
1460 TX$=TX$+CR$+CR$+"SPECIAL ABILITY : "+MID$(SK$,A*19+1,19)+CR$
1470 TX$=TX$+"SCHWIERIGKEITSSTUFE: "+MID$(SS$,ASC(B$+C0$)*12+1,12)
1480 A=1563:B=1572:GOSUB2200:TX$=TX$+CR$+CR$
1485 IFEG=3THENPRINT:IFDX=0THENPRINT#3,""
1490 GETAW$:IFAW$<>""THENGOSUB2100
1500 GET#4,A$,B$,C$
1510 TX$=TX$+"MANNSCHAFT:"+STR$(ASC(A$+C0$)+ASC(B$+C0$)*256)+" MANN "+CR$
1520 TX$=TX$+"KANONEN :"+STR$(ASC(C$+C0$)):GOSUB2700
1530 GET#4,A$,B$,C$:A=ASC(A$+C0$)
1540 TX$=CR$+"NATIONALITAET: "+MID$(SJ$,A*17+1,17)+CR$+CR$
1550 TX$=TX$+"BEUTE:"+STR$((ASC(B$+C0$)+ASC(C$+C0$)*256)*10)+" GOLSTUECKE"
1560 GOSUB2700:GETAW$:IFAW$<>""THENGOSUB2100
1570 GET#4,A$,B$,C$
1580 TX$="FOOD : "+RIGHT$(" "+STR$(ASC(A$+C0$)),3)+" TONNEN"+CR$
1590 TX$=TX$+"GOODS: "+RIGHT$(" "+STR$(ASC(B$+C0$)),3)+" TONNEN"+CR$
1600 TX$=TX$+"SUGAR: "+RIGHT$(" "+STR$(ASC(C$+C0$)),3)+" TONNEN":GOSUB2700
1605 IFEG=3THENPRINT:IFDX=0THENPRINT#3,""
1610 A=1582:B=1583:GOSUB2200
1620 GET#4,A$,B$:TX$="LADERAUM INSG. :"+STR$(ASC(A$+C0$)*10)+" TONNEN"+CR$+CR$
1630 Y=ASC(B$+C0$):TX$=TX$+"ANZAHL SCHIFFE :"+STR$(Y)+CR$
1640 A=1586:B=1589:GOSUB2200
1645 IFEG=3THENPRINT:IFDX=0THENPRINT#3,""
1650 FORI=1TOY:GET#4,A$:A=ASC(A$+C0$):L$=""
1660 TX$=TX$+" "+MID$(TS$,(AAND7)*12+1,12):IFA<8THEN1700
1670 A=AAND248:IFA>7THENL$="SAIL DAMAGE":IFA>15THENL$="LOST A MAST"
1680 IFA=32THENL$="HULL LEAKING"
1690 L$=" ("+L$+")"
1700 TX$=TX$+L$+CR$:NEXT:GOSUB2700
1710 A=1590+Y:B=1617:GOSUB2200
1720 GETAW$:IFAW$<>""THENGOSUB2100
1730 NA$=""
1740 FORI=1TO10:GET#4,A$:NA$=NA$+A$:NEXT
1750 TX$=CR$+"NAME: "+NA$+CR$+"SAVEGAME"+STR$(NR):GOSUB2700
1755 IFEG=3THENPRINT:IFDX=0THENPRINT#3,""
1760 A=1627:B=1792:GOSUB2200
1770 POKE198,0:GOSUB2100
1780 CLOSE3:CLOSE4:RUN
2000 OPEN1,8,15:INPUT#1,A,B$:CLOSE1:IFA=0THENRETURN
2010 PRINT"[147]FEHLER: ";A,B$:END
2100 GETAW$:IFAW$=""THEN2100
2110 IFAW$="M"THEN1780
2120 IFAW$="D"THENIFDX=1THENDX=0:GOTO2100
2130 IFAW$="D"THENIFDX=0THENDX=1:GOTO2100
2140 IFAW$="N"THENPOKE198,1:POKE631,8
2150 RETURN
2200 IFEG=3THENGOTO2300
2210 FORP=ATOB:GET#4,A$:NEXT:RETURN
2300 XX=1:LB=256:FORP=ATOB:GET#4,A$:A$=A$+C0$:X=ASC(A$)
2310 IFX=LBTHENXX=XX+1:GOTO2420
2320 GETAW$:IFAW$<>""THENGOSUB2100
2340 LB=X:T$="BYTE"+STR$(P)+":"+STR$(X)
2350 T$=LEFT$(T$+" ",17)
2355 IFX>32ANDX<91THENT$=T$+"("+CHR$(X)+")"
2357 T$=LEFT$(T$+" ",23):IFA=PTHEN2400
2360 IFXX=1THENV$="":GOTO2380
2370 V$="(*"+MID$(STR$(XX),2,3)+")"
2380 PRINTV$;:IFDX=0THENPRINT#3,V$;
2390 PRINT:IFDX=0THENPRINT#3,""
2400 PRINTT$;:IFDX=0THENPRINT#3,T$;
2410 XX=1
2420 NEXT:IFXX=1THEN2440
2425 V$="(*"+MID$(STR$(XX),2,3)+")"
2430 PRINTV$;:IFDX=0THENPRINT#3,V$;
2440 PRINT"":IFDX=0THENPRINT#3,""
2450 RETURN
2500 GET#4,A$:A=ASC(A$+C0$)
2510 GET#4,A$:B=ASC(A$+C0$)
2520 GET#4,A$:C=ASC(A$+C0$)
2530 GET#4,A$:D=ASC(A$+C0$)
2540 TX=A+B*256:JA=INT(TX/360):TA=TX-JA*360:MO=INT(TA/30):TA=TA-MO*30+1
2550 DT$=RIGHT$(STR$(TA),2)+"."+MID$(MX$,MO*3+1,3)+STR$(JA+YE):RETURN
2600 X1=DAND3:X2=DAND12
2610 Y=1:IFX1>0THENY=8:IFX1>1THENY=15:IFX1>2THENY=22
2620 Z=1:IFX2>3THENZ=8:IFX2>7THENZ=15:IFX2>11THENZ=22
2630 TX$=" "+MID$(C1$,Y,7)+TY$+MID$(C1$,Z,7):RETURN
2700 PRINTTX$:IFDX=0THENPRINT#3,TX$
2710 RETURN
2800 OPEN1,8,0,"$":GET#1,A$,A$:PRINT"[147]"
2810 GET#1,A$,A$:IFST=64THENCLOSE1:GOTO1770
2820 GETAW$:IFAW$<>""THENGOSUB2100
2830 GET#1,A$,B$:PRINTASC(A$+C0$)+256*ASC(B$+C0$);
2840 GET#1,A$:PRINTA$;:IFA$<>""THEN2840
2850 PRINT:GOTO2810
2900 OPEN4,8,4,"FAME,S,R":CLOSE4:GOSUB2000
2910 OPEN4,8,4,"FAME,S,R":PRINT"[147] HALL OF FAME"
2920 GET#4,A$:A=ASC(A$+C0$):IFA$=""THENA$=CHR$(0)
2930 IFST<>0THEN2990
2940 IFA<>13THENPRINTA$;:GOTO2920
2950 IFT=0THENT=12:GOTO2980
2960 IFT=12THENT=35:GOTO2980
2970 IFT=35THENT=0:PRINT
2980 PRINTTAB(T);:GOTO2920
2990 CLOSE4:GOSUB2100:RUN
3000 MX$="JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC"
3010 RG$=" ENSIGN CAPTAINMAJOR COLONELADMIRALBARON COUNT MARQUIS"
3020 RG$=RG$+"DUKE "
3030 TS$="PINNACE SLOOP BARQUE CARGO FLUYT MERCHANTMAN "
3040 TS$=TS$+"FRIGATE WAR GALLEON GALLEON FAST GALLEON"
3050 C1$="SPAIN ENGLANDFRANCE HOLLAND"
3060 C2$="S:E:F:D:"
3070 C3$="SPANISHENGLISHFRENCH DUTCH PIRATE"
3080 FM$="SISTERFATHERMOTHERUNCLE"
3090 SS$="APPRENTICE JOURNEYMAN ADVENTURER SWASHBUCKLER"
3100 SK$="SKILL AT FENCING SKILL AT NAVIGATIONSKILL AT GUNNERY "
3110 SK$=SK$+"WIT AND CHARM SKILL AT MEDICINE"
3120 SJ$="SPANISH RENEGADE ENGLISH BUCCANEERFRENCH BUCCANEER DUTCH ADVENTURER "
3130 RETURN
3200 END