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

Datum: 2020-05-10 Sun 00:00

Autor: Carsten Strotmann

Created: 2020-05-10 Sun 21:50

Validate