Kaiser 2 - Datei "KAISER3.TUR"
0 POKE 106,160:GRAPHICS %0:POKE 559,%0:SP=%1:POKE 77,%0 10 DIM TEXT$(40),NAMEN$(160),TITEL$(90),LAND$(60) 100 COM ACKER(6),LEUTE(6),KRIEG(6),LKORN(6),LAND(6),KPREIS(6),MUHL(6),MARKT(6),GELD(6),LPREIS(6),APREIS(6) 101 COM VERALAND(6),PUNKTE(6),VERBLAND(6),JUSTIZ(6),ENTHOB(6),BD(6) 110 COM MWST(6),EIN(6),ZOLL(6),DOM(6),BURG(6),INFANT(6),ARTELL(6),KAVALL(6),MANOV(6),TOD(6),TITEL(6),VERKORN(6),HH(6) 111 FOR U=%1 TO 6 112 ACKER(U)=10000:LEUTE(U)=500:LKORN(U)=15000:LAND(U)=5000:JUSTIZ(U)=%2 113 KPREIS(U)=100:GELD(U)=10000:LPREIS(U)=20:APREIS(U)=20:PUNKTE(U)=%3 114 MWST(U)=10:EIN(U)=5:ZOLL(U)=25:INFANT(U)=%1:TOD(U)=RAND(10)+35 115 JAHR=1700:VERKORN(U)=10000:VERALAND(U)=2500:VERBLAND(U)=2500:HH(%0)=RAND(20)+30 119 NEXT U:WETTER=5 120 OPEN #%1,4,%0,"D8:NAMEN.DAT" 130 BGET #%1,ADR(NAMEN$),160 140 CLOSE #%1 150 NAMEN$(160)="#" 160 ANZAHL=VAL(NAMEN$(%1,%1)) 161 IF PEEK(1790)=100 THEN EXEC LOAD 170 TITEL$="Verwalter Baron Landgraf Markgraf Herzog F^rst Kurf^rst K]nig " 180 LAND$="Anloor Kachjian Andorin GarenhellSemedal Galador " 200 # SCHLEIFE 220 SAVE "D8:KAISER3" 230 EXEC HANDEL 1000 GO# KORN 1010 GO# KORNAUS 1020 PAUSE 20:GO# LAND:TRAP 40000 1030 PAUSE 10:GO# CHRONIK 1040 EXEC SAVE 1050 TRAP 1060:RUN "D8:KAISER4.TUR" 1060 RUN "D:KAISER4.TUR" 9999 END 10000 ------------------------------ 10010 # KORN 10020 POKE 559,%0 10080 BACKER=ACKER(SP)-LEUTE(SP)/5 10090 BACKER=ACKER(SP)-BACKER*(BACKER>=0) 10100 FAUL=RAND(50)+%1 10110 ZPSK=RAND(2000)+%1 10120 WETTER=RAND(10)+%1 10130 KORN=BACKER*1.9+ACKER(SP)/10*WETTER+ZPSK 10140 KORN=ABS(KORN-KRIEG(SP)*1000) 10150 LKORN(SP)=LKORN(SP)*FAUL/100+KORN 10160 VKORN=LEUTE(SP)*22+RAND(100)+%1 10170 KLAGER=VKORN*100/80 10180 EXEC KORNSPEICH 10190 GRAPHICS %0:POKE 559,%0 10200 DL=DPEEK(560) 10210 DPOKE 1560,DL+%3 10220 POKE DL,%1:POKE DL+28,6 10230 DPOKE DL+%1,1536 10240 EXEC DL2_INIT 10250 POKE 710,228:POKE 709,236:POKE 708,5:POKE 752,%1:POKE 82,%0:POKE 756,PEEK(106):POKE 559,34:TRAP 10190 10260 POSITION %1,%1:? FAUL;"% Ihrer Kornreserven sind verfault!" 10270 RESTORE #WETTER 10280 FOR U=%1 TO WETTER 10290 READ TEXT$ 10300 NEXT U 10400 POSITION %2,%3:? TEXT$ 10410 POSITION %1,4:? "ESC^\ Korn kaufen ESC^] Korn verkaufen" 10420 REPEAT 10430 ST=STICK(%0) 10440 IF ST=14 10450 POSITION 4,6:? "Wieviel Korn wollen Sie kaufen?":PAUSE 5 10460 XPOS=29:YPOS=8:STEL=6 10470 EXEC UJZER 10480 IF ERGB>VERKORN(HAN) 10481 POSITION %0,10:? "vorraete erschoepft":PUT 253:PAUSE 50:POSITION %0,10:? " " 10482 ERGB=VERKORN(HAN) 10484 ENDIF 10490 LKORN(SP)=LKORN(SP)+ERGB:IF ERGB>50000 THEN PUNKTE(SP)=PUNKTE(SP)+%1 10491 LKORN(HAN)=LKORN(HAN)-ERGB 10492 GELD(HAN)=GELD(HAN)+ERGB*(KPREIS(HAN))/500 10493 VERKORN(HAN)=VERKORN(HAN)-ERGB 10500 GELD(SP)=GELD(SP)-ERGB*KPREIS(HAN)/500:GOTO 10180 10510 ENDIF 10520 IF ST=13 10530 POSITION 4,6:? "Wieviel Korn wollen Sie verkaufen?":PAUSE 5 10540 XPOS=29:YPOS=8:STEL=6 10550 EXEC UJZER 10560 IF ERGB>LKORN(SP) THEN PUT 253:GOTO 10530 10570 LKORN(SP)=LKORN(SP)-ERGB 10580 GELD(SP)=GELD(SP)+ERGB*KPREIS(HAN)/500:GOTO 10180 10585 VERKORN(HAN)=VERKORN(HAN)+ERGB 10586 LKORN(HAN)=LKORN(HAN)+ERGB 10587 GELD(HAN)=GELD(HAN)-ERGB*(KPREIS(HAN)/500) 10590 ENDIF 10600 UNTIL STRIG(%0)=%0 10610 GOTO 1010 10620 ------------------------------ 10630 # KORNAUS 10640 POKE 710,PEEK(710)-%2:POKE 559,%0 10641 CLS :POSITION %1,%1:? " Sie m^ssen zwischen 20% und 80% " 10642 POSITION %1,%2:? "Ihrer Kornreserven an das Volk ausgeben" 10643 POSITION %3,%3:? " 20 % = 80 % = " 10650 POSITION 0,4:? " KORNAUSGABE " 10660 POSITION %1,6:? " W\hlen Sie: ESC^\ f^r das Maximum" 10670 POSITION %1,7:? " ESC^_ f^r das Ben]tigte " 10680 POSITION %1,8:? " ESC^] f^r das Minimum " 10690 POSITION %1,9:? " oder ESC^^ f^r eine eigene Menge" 10700 P20=INT(LKORN(SP)*20/100) 10710 P80=INT(LKORN(SP)*80/100) 10720 POSITION 11,%3:? P20 10730 POSITION 30,%3:? P80 10735 POSITION %0,10:? " ":POKE 559,34 10740 REPEAT :KAUS=%0 10750 UNTIL STICK(%0)<>15:ST=STICK(%0) 10760 IF ST=14 THEN KAUS=P80:LKORN(SP)=LKORN(SP)-KAUS 10770 IF ST=13 THEN KAUS=P20:LKORN(SP)=LKORN(SP)-KAUS 10780 IF ST=7 10781 IF VKORN>P80 THEN POSITION %1,10:? "das ist zuwenig";:PUT 253:PAUSE 150:GOTO 10641 10782 KAUS=VKORN:LKORN(SP)=LKORN(SP)-KAUS 10783 ENDIF 10790 IF ST=11 10800 POSITION %0,8:? " " 10810 XPOS=20:YPOS=8:STEL=6 10820 EXEC UJZER 10830 IF ERGB<P20 THEN POSITION %1,10:? " das ist zuwenig":PUT 253:PAUSE 10:GOTO 10650 10840 IF ERGB>P80 THEN POSITION %1,10:? " das ist zuviel":PUT 253:PAUSE 10:GOTO 10650 10850 KAUS=ERGB 10860 LKORN(SP)=LKORN(SP)-KAUS 10870 ENDIF 10875 LKORN(SP)=INT(LKORN(SP)):GELD(SP)=INT(GELD(SP)) 10880 GOTO 1020 10890 ------------------------------ 10900 # LAND 10910 GRAPHICS %0:POKE 559,%0 10920 POKE 752,%1:POKE 756,PEEK(106) 10930 DL=DPEEK(560) 10940 DPOKE 1560,DL+%3 10950 POKE DL,%1:DPOKE DL+%1,1536 10960 POKE 710,130:POKE 709,140:POKE 708,250 10970 POSITION 17,%1:? " LAND" 10980 POSITION 17,%2:? "======" 10990 POSITION %1,5:? "Sie besitzen:" 10995 POSITION 21,5:? "Angebot:" 11000 A=LEN(STR$(LAND(SP))):POSITION %2+5-A,8:? LAND(SP) 11010 POSITION 8,8:? "Ha. Bauland " 11011 A=LEN(STR$(LAND(HAN))):POSITION 22+5-A,8:? LAND(HAN) 11012 POSITION 28,8:? "Ha. Bauland " 11020 A=LEN(STR$(ACKER(SP))):POSITION %2+5-A,7:? ACKER(SP) 11021 A=LEN(STR$(ACKER(HAN))):POSITION 22+5-A,7:? ACKER(HAN) 11030 POSITION 8,7:? "Ha. Ackerl.":POSITION 28,7:? "Ha. Ackerl." 11031 POSITION 7,11:? "Verm]gen" 11032 A=LEN(STR$(GELD(SP))):POSITION 20+5-A,11:? GELD(SP);" Taler" 11033 POSITION 4,14:? "Preis des Baulandes " 11034 A=LEN(STR$(LPREIS(HAN))):POSITION 27+5-A,14:? LPREIS(HAN);" Taler" 11035 POSITION 4,13:? "Preis des Ackerlandes" 11036 A=LEN(STR$(APREIS(HAN))):POSITION 27+5-A,13:? APREIS(HAN);" Taler" 11040 POSITION %0,16:? "W\hlen Sie: ESC^^ f^r Ackerland kaufen" 11050 POSITION %0,17:? " ESC^_ f^r Ackerland verkaufen" 11060 POSITION %0,18:? " ESC^\ f^r Bauland kaufen" 11070 POSITION %0,19:? " oder ESC^] f^r Bauland verkaufen" 11080 POKE DL+28,6:POSITION 7,23:? "knopf";:POKE 559,34 11090 REPEAT 11100 ST=STICK(%0) 11110 IF ST=14 11120 XPOS=32:YPOS=21:STEL=6 11130 POSITION %3,21:? "Wieviel Bauland wollen Sie:":PAUSE 20 11140 EXEC UJZER 11150 IF ERGB>VERBLAND(HAN) 11160 PUT 253 11170 POSITION %1,23:? " das ist zuviel"; 11180 PAUSE 150 11181 LAND(SP)=LAND(SP)+VERBLAND(HAN) 11182 LAND(HAN)=LAND(HAN)-VERBLAND(HAN) 11183 GELD(SP)=GELD(SP)-VERBLAND(HAN)*LPREIS(HAN)/10 11184 GELD(HAN)=GELD(HAN)+VERBLAND(HAN)*LPREIS(HAN)/10 11185 VERBLAND(HAN)=%0 11190 GO# LAND 11200 ENDIF 11210 LAND(SP)=LAND(SP)+ERGB 11220 LAND(HAN)=LAND(HAN)-ERGB:VERBLAND(HAN)=VERBLAND(HAN)-ERGB 11230 GELD(SP)=GELD(SP)-ERGB*LPREIS(HAN)/10:GELD(HAN)=GELD(HAN)+ERGB*LPREIS(HAN)/10 11240 GO# LAND 11245 ENDIF 11250 IF ST=13 11260 XPOS=32:YPOS=21:STEL=6 11270 POSITION %1,21:? "Wieviel Bauland verkaufen Sie:":PAUSE 20 11280 EXEC UJZER 11290 IF ERGB>LAND(SP) 11300 PUT 253 11310 POSITION %1,23:? " das ist zuviel"; 11320 PAUSE 150 11330 GO# LAND 11340 ENDIF 11350 LAND(SP)=LAND(SP)-ERGB 11360 LAND(HAN)=LAND(HAN)+ERGB:VERBLAND(HAN)=VERBLAND(HAN)+ERGB 11370 GELD(SP)=GELD(SP)+ERGB*LPREIS(HAN)/10 11380 GELD(HAN)=GELD(HAN)-ERGB*LPREIS(HAN)/10 11390 GO# LAND 11400 ENDIF 11410 IF ST=11 11420 XPOS=32:YPOS=21:STEL=6 11430 POSITION 3,21:? "Wieviel Acker kaufen Sie:":PAUSE 20 11440 EXEC UJZER 11450 IF ERGB>VERALAND(HAN) 11460 PUT 253 11470 POSITION %1,23:? " das ist zuviel"; 11480 PAUSE 150 11481 ACKER(SP)=ACKER(SP)+VERALAND(HAN) 11482 ACKER(HAN)=ACKER(HAN)-VERALAND(HAN) 11483 GELD(SP)=GELD(SP)-VERALAND(HAN)*APREIS(HAN)/10 11484 GELD(HAN)=GELD(HAN)+VERALAND(HAN)*APREIS(HAN)/10 11485 VERALAND(HAN)=%0 11490 GO# LAND 11500 ENDIF 11510 ACKER(SP)=ACKER(SP)+ERGB 11520 ACKER(HAN)=ACKER(HAN)-ERGB:VERALAND(HAN)=VERALAND(HAN)-ERGB 11530 GELD(SP)=GELD(SP)-ERGB*APREIS(HAN)/10 11540 GELD(HAN)=GELD(HAN)+ERGB*APREIS(HAN)/10 11550 GO# LAND 11560 ENDIF 11570 IF ST=7 11580 XPOS=32:YPOS=21:STEL=6 11590 POSITION %3,21:? "Wieviel Acker verkaufen Sie:":PAUSE 20 11600 EXEC UJZER 11610 IF ERGB>ACKER(SP) 11620 PUT 253 11630 POSITION %1,23:? " das ist zuviel"; 11640 PAUSE 150 11650 GO# LAND 11660 ENDIF 11670 ACKER(SP)=ACKER(SP)-ERGB 11680 ACKER(HAN)=ACKER(HAN)+ERGB:VERALAND(HAN)=VERALAND(HAN)+ERGB 11690 GELD(SP)=GELD(SP)+ERGB*APREIS(HAN)/10 11700 GELD(HAN)=GELD(HAN)-ERGB*APREIS(HAN)/10 11710 GO# LAND 11720 ENDIF 11730 UNTIL STRIG(%0)=%0 11740 GOTO 1030 11750 ------------------------------ 11760 # CHRONIK 11770 GRAPHICS 24:POKE 559,%0:TRAP 40000 11780 DL=DPEEK(560) 11790 DPOKE 1560,DL+%3 11800 POKE DL,%1:DPOKE DL+%1,1536 11810 OPEN #%1,4,%0,"D8:CHRONIK.PIC" 11820 BGET #%1,DPEEK(88),1600 11830 BGET #%1,DPEEK(88)+6480,1200 11840 CLOSE #%1 11850 COLOR %1:POKE 756,PEEK(106) 11860 PLOT 43,40:DRAWTO 18,162 11870 PLOT 312,40:DRAWTO 284,162 11880 TEXT 266,16,JAHR 11890 POKE 710,100:POKE 709,108:POKE 708,200:POKE 559,34 11900 GEB=ABS(INT(LEUTE(SP)/44+(KAUS-VKORN)/150))+RAND(%2)*WETTER 11910 GES=ABS(INT(LEUTE(SP)/42.55+(VKORN-KAUS)/150))+RAND(5)*(10-WETTER) 11911 PUNKTE(SP)=PUNKTE(SP)+INT(GEB/10-GES/10+EINW/5) 11920 LEUTE(SP)=LEUTE(SP)+GEB-GES 11930 EINW=INT((KAUS-VKORN)/1300) 11940 EINW=(EINW+RAND(10))*(EINW>0) 11941 PUNKTE(SP)=PUNKTE(SP)+INT(GEB/10-GES/10+EINW/5) 11950 IF MWST(SP)+EIN(SP)+ZOLL(SP)>60 OR JUSTIZ=4 THEN AUSW=INT(RAND(10)*LEUTE(SP)/100) 11960 IF KAUS/1000>MUHL(SP) 11970 MAXK=MUHL(SP) 11980 ELSE 11990 MAXK=KAUS/1000 12000 ENDIF 12010 MG1=INT(MAXK*(280+RAND(50))*WETTER/5) 12020 IF KAUS/333>MARKT(SP) 12030 MAXK=MARKT(SP) 12040 ELSE 12050 MAXK=KAUS/333 12060 ENDIF 12070 MG2=INT((MAXK*(100+RAND(50)))*WETTER/5):LEUTE(SP)=LEUTE(SP)+EINW-AUSW 12080 SOLD=INFANT(SP)*(KAVALL(SP)+%1)+60+ARTELL(SP)*80*(MANOV(SP)+%1):P=%0:W=%0 12090 IF GEB>%0 12100 TEXT 52,42,GEB 12110 TEXT 82,42,"B^rger wurden heuer geboren." 12120 PAUSE 5 12130 ENDIF 12140 IF GES>%0 12150 TEXT 47,53,GES 12160 TEXT 79,53,"B^rger sind heuer gestorben." 12170 PAUSE 5 12180 ENDIF 12190 IF EINW>%0 12200 P=P+11 12210 TEXT 47,53+P,EINW 12220 TEXT 79,53+P,"Einwanderer kamen heuer.":W=W+%3 12230 PAUSE 5 12240 ENDIF 12250 IF AUSW>%0 12260 P=P+11 12270 TEXT 45,53+P,AUSW 12280 TEXT 78-W,53+P,"Opfer des Staatshaushaltes" 12290 P=P+11 12300 TEXT 42-W,53+P,"verlie'en das Land.":W=W+6 12310 PAUSE 5 12320 ENDIF 12340 IF MG1>%0 12350 P=P+13:GELD(SP)=GELD(SP)+MG1 12360 TEXT 42-W,53+P,"Ihre M^hlen erwirtschafteten":P=P+9 12370 TEXT 42-W,53+P,"einen Gewinn von" 12380 TEXT 178-W,53+P,MG1:W=W+4 12381 TEXT 218-W+4,53+P," Talern." 12390 PAUSE 5 12400 ENDIF 12410 IF MG2>%0 12420 P=P+11:GELD(SP)=GELD(SP)+MG2 12430 TEXT 42-W,53+P,"Ihre M\rkte erwirtschafteten":P=P+9 12431 TEXT 42-W,53+P,"einen Gewinn von" 12432 TEXT 178-W,53+P,MG2:W=W+4 12433 TEXT 218-W+4,53+P," Talern." 12434 PAUSE 5 12435 ENDIF 12439 IF SOLD>%0:P=P+13:GELD(SP)=GELD(SP)-SOLD 12440 TEXT 42-W,53+P,"Der Geheimdienst erhielt einen" 12450 P=P+9 12460 TEXT 42-W,53+P,"Sold von" 12470 TEXT 114-W,53+P,SOLD 12480 TEXT 156-W,53+P," Talern." 12490 PAUSE 5 12500 ENDIF 12520 GOTO 1040 12530 ------------------------------ 12540 PROC SAVE 12550 OPEN #%1,8,%0,"D8:DATEN.DAT" 12560 %PUT #%1,SP 12570 FOR U=%1 TO 6 12580 %PUT #%1,ACKER(U):%PUT #%1,LEUTE(U) 12590 %PUT #%1,KRIEG(U):%PUT #%1,LKORN(U) 12600 %PUT #%1,LAND(U):%PUT #%1,KPREIS(U) 12610 %PUT #%1,MUHL(U):%PUT #%1,MARKT(U) 12620 %PUT #%1,GELD(U):%PUT #%1,LPREIS(U) 12630 %PUT #%1,APREIS(U):%PUT #%1,VERALAND(U) 12640 %PUT #%1,PUNKTE(U):%PUT #%1,VERBLAND(U) 12650 %PUT #%1,JUSTIZ(U):%PUT #%1,MWST(U) 12660 %PUT #%1,EIN(U):%PUT #%1,ZOLL(U) 12670 %PUT #%1,DOM(U):%PUT #%1,BURG(U) 12680 %PUT #%1,INFANT(U):%PUT #%1,ARTELL(U) 12690 %PUT #%1,KAVALL(U):%PUT #%1,MANOV(U) 12700 %PUT #%1,TOD(U):%PUT #%1,TITEL(U) 12701 %PUT #%1,HH(U):%PUT #%1,BD(U) 12710 %PUT #%1,VERKORN(U):%PUT #%1,ENTHOB(U):NEXT U:%PUT #%1,MG1 12720 %PUT #%1,MG2:%PUT #%1,JAHR:%PUT #%1,HH(%0) 12730 CLOSE #%1 12740 ENDPROC 12750 ------------------------------ 19999 END 20000 ------------------------------ 20010 PROC UJZER 20020 ZAEHL=%0:ERGB=%0 20030 FOR U=%1 TO STEL 20040 POSITION XPOS+U-%1,YPOS 20050 ? ZAEHL 20060 NEXT U 20070 STE=STEL 20080 REPEAT 20090 ST=STICK(%0) 20100 IF ST<15 20110 SOUND %0,40+10*(ST=13 OR ST=14),10,6 20120 PAUSE 0.7:SOUND 20130 ENDIF 20140 IF ST=11 AND STE>%1 THEN STE=STE-%1 20150 IF ST=7 AND STE<STEL THEN STE=STE+%1 20160 IF ST=11 OR ST=7 THEN LOCATE XPOS-%1+STE,YPOS,ZAEHL:ZAEHL=ZAEHL-48 20170 POSITION XPOS-%1+STE,YPOS+%1 20180 ? "ESC^\":PAUSE %1 20190 POSITION XPOS-%1+STE,YPOS+%1:? " " 20210 IF ST=14 THEN ZAEHL=ZAEHL+%1 20220 IF ST=13 THEN ZAEHL=ZAEHL-%1 20230 IF ZAEHL<%0 THEN ZAEHL=9 20240 IF ZAEHL>9 THEN ZAEHL=%0 20250 POSITION XPOS-%1+STE,YPOS 20260 ? ZAEHL 20270 UNTIL STRIG(%0)=%0 20280 FOR U=%1 TO STEL 20290 LOCATE XPOS-%1+U,YPOS,ZAEHL 20300 ERGB=ERGB+((ZAEHL-48)*10^(STEL-U)) 20310 NEXT U:SOUND %1,20,12,6:SOUND %0,70,10,6:PAUSE %3:SOUND 20320 ENDPROC 20330 ------------------------------ 20340 PROC DL2_INIT 20350 POKE 1024,79 20360 DPOKE 1025,(PEEK(106)+16)*256 20370 FOR U=1027 TO 1125 20380 POKE U,15 20390 NEXT U 20400 POKE 1126,%0:POKE 1127,66 20410 DPOKE 1128,DPEEK(88)+4*40 20420 POKE 1130,%1 20430 DPOKE 1131,DPEEK(560)+23 20440 DL=DPEEK(560) 20450 POKE DL+9,%1 20460 DPOKE DL+10,1024 20470 ENDPROC 20480 ------------------------------ 20490 PROC KORNSPEICH 20500 GRAPHICS 8:POKE 559,%0:POKE 756,PEEK(106) 20510 OPEN #%1,4,%0,"D8:KORN.PIC" 20520 BGET #%1,DPEEK(88),4080 20530 CLOSE #%1 20540 P=100*LKORN(SP)/KLAGER:IF P>100 THEN P=100 20550 P=53*P/100 20560 COLOR %1 20570 PLOT 52,93-P:DRAWTO 70,93-P 20580 PAINT 53,94-P 20590 BS=(PEEK(106)+16)*256 20600 A=INT(LKORN(SP)):TEXT 232+8*(A<10000)+8*(A<1000)+8*(A<100)+8*(A<10),16,A 20610 A=VKORN:TEXT 232+8*(A<10000)+8*(A<1000)+8*(A<100)+8*(A<10),24,VKORN 20620 A=KPREIS(HAN):TEXT 232+8*(A<10000)+8*(A<1000)+8*(A<100)+8*(A<10),32,KPREIS(HAN) 20630 A=ABS(INT(GELD(SP))):TEXT 232+8*(A<10000)+8*(A<1000)+8*(A<100)+8*(A<10)-8*(GELD(SP)<0),48,INT(GELD(SP)) 20640 MOVE DPEEK(88),BS,4080 20650 ENDPROC 20660 ------------------------------ 20670 # WETTER 20680 DATA Ein Orkan vernichtete die Ernte 20690 DATA Eine D^rre zerst]rte die Ernte 20700 DATA Sturm und Regen minderten die Ernte 20710 DATA Schlechtes Wetter - Schlechte Ernte 20720 DATA Normales Wetter - Normale Ernte 20730 DATA Wetter O.K. - Durchschnittliche Ernte 20735 DATA Mildes Wetter ergab gute Ernte 20740 DATA Gutes Wetter - Reiche Ernte 20750 DATA Hervorragendes Wetter - Rekordernte 20760 DATA Rekordsommer - sensationelle Ernte 20790 ------------------------------ 20900 PROC HANDEL 20910 GRAPHICS %0:POKE 559,%0 20920 POKE 756,PEEK(106) 20930 DL=DPEEK(560):POKE 752,%1 20940 DPOKE 1560,DL+%3 20950 POKE DL,%1 20960 DPOKE DL+%1,1536 20970 FOR U=%1 TO ANZAHL 20980 KPREIS(%0)=KPREIS(%0)+KPREIS(U) 20990 APREIS(%0)=APREIS(%0)+APREIS(U) 21000 LPREIS(%0)=LPREIS(%0)+LPREIS(U) 21010 NEXT U 21011 KPREIS(%0)=INT(KPREIS(%0)/ANZAHL)+RAND(KPREIS(%0)/5)-RAND(KPREIS(%0)/5) 21020 IF KPREIS(%0)<80 THEN KPREIS(%0)=80+RAND(10) 21030 APREIS(%0)=INT(APREIS(%0)/ANZAHL)+RAND(APREIS(%0)/10)-RAND(APREIS(%0)/10) 21031 IF APREIS(%0)<16 THEN APREIS(%0)=16+RAND(10) 21040 LPREIS(%0)=INT(LPREIS(%0)/ANZAHL)+RAND(LPREIS(%0)/10)-RAND(LPREIS(%0)/10) 21041 IF LPREIS(%0)<16 THEN LPREIS(%0)=16+RAND(10) 21050 POSITION 15,%3:? " HANDEL" 21060 POSITION 15,4:? "--------" 21070 POSITION 5,9:? "Die Preise der H\ndler :" 21080 W=%0:LET TEXT$="der Kaiser" 21085 REPEAT 21090 POSITION 10,11:? "Kornpreis :";KPREIS(W);" " 21100 POSITION 10,13:? "Bauland :";LPREIS(W);" " 21110 POSITION 10,15:? "Ackerland :";APREIS(W);" " 21120 POKE 710,34:POKE 709,46:POKE 708,148 21140 POSITION %2,20:? "Ihr Handelspartner ist ";TEXT$;" ":POKE 559,34 21150 ST=STICK(%0) 21160 IF ST=14 THEN W=W-%1:IF W<%0 THEN W=ANZAHL+%1*(ANZAHL=5) 21170 IF ST=13 THEN W=W+%1:IF W>ANZAHL+%1*(ANZAHL=5) THEN W=%0 21180 TRAP 21200:LET TEXT$=NAMEN$(W*20+1,W*20+20) 21190 IF W=SP THEN GOTO 21150 21200 IF W=%0 THEN LET TEXT$="der Kaiser" 21210 IF ST<>15 THEN SOUND %0,50,10,6:PAUSE %1:SOUND :PAUSE %2 21220 UNTIL STRIG(%0)=%0 21230 HAN=W 21240 VERKORN(%0)=8000*WETTER+RAND(1000) 21250 LKORN(%0)=VERKORN 21260 ACKER(%0)=2000*RAND(10):VERALAND(%0)=ACKER(%0) 21270 LAND(%0)=2000*RAND(10):VERBLAND(%0)=LAND(%0) 21280 ENDPROC 21290 ------------------------------ 21300 PROC LOAD 21310 OPEN #%1,4,%0,"D8:DATEN.DAT" 21320 %GET #%1,SP 21330 FOR U=%1 TO 6 21340 %GET #%1,A:%GET #%1,B:ACKER(U)=A:LEUTE(U)=B 21350 %GET #%1,A:%GET #%1,B:KRIEG(U)=A:LKORN(U)=B 21360 %GET #%1,A:%GET #%1,B:LAND(U)=A:KPREIS(U)=B 21370 %GET #%1,A:%GET #%1,B:MUHL(U)=A:MARKT(U)=B 21380 %GET #%1,A:%GET #%1,B:GELD(U)=A:LPREIS(U)=B 21390 %GET #%1,A:%GET #%1,B:APREIS(U)=A:VERALAND(U)=B 21400 %GET #%1,A:%GET #%1,B:PUNKTE(U)=A:VERBLAND(U)=B 21410 %GET #%1,A:%GET #%1,B:JUSTIZ(U)=A:MWST(U)=B 21420 %GET #%1,A:%GET #%1,B:EIN(U)=A:ZOLL(U)=B 21430 %GET #%1,A:%GET #%1,B:LET DOM(U)=A:BURG(U)=B 21440 %GET #%1,A:%GET #%1,B:INFANT(U)=A:ARTELL(U)=B 21450 %GET #%1,A:%GET #%1,B:KAVALL(U)=A:MANOV(U)=B 21460 %GET #%1,A:%GET #%1,B:TOD(U)=A:TITEL(U)=B 21461 %GET #%1,A:%GET #%1,B:HH(U)=A:BD(U)=B 21470 %GET #%1,A:VERKORN(U)=A:%GET #%1,B:ENTHOB(U)=B:NEXT U:%GET #%1,MG1 21480 %GET #%1,MG2:%GET #%1,JAHR:%GET #%1,U:HH(%0)=U 21490 CLOSE #%1 21500 ENDPROC 21510 ------------------------------
Kaiser II (c) 1989-2020 PhöniX SoftCrew
Carsten Strotmann / Björn Israel
Atari und PC Software
https://kaiser2.strotmann.de