10 REM SANTA PARAVIA AND FIUMACCIO VERSION 6 2
20 REM  COPVRIGHT 1978 REV. GEORGE BLANK LEECHBURG, PA 15656
30 REM  OCTOBER 16
100 CLEAR 700:DEF FNRN(X)=INT(RND(1)*X)+1
160 Y(0)=1400
200 DATA "Sir ","Baron ","Count ","Marquis ","Duke ","Grand Duke ","Prince ","* H.R.H. King "
210 DATA "Lady ","Baroness ","Countess ","Marquise ","Duchess ","Grand Duchess ","Princess ","* H.R.H. Queen "
220 DATA "Santa Paravia","Fiumaccio","Torricella","Molinetto","Fontanile","Romagna"
299 REM  SET UP MATRICES
300 SCREEN 1:COLOR 15,2,2:PRINT:PRINT "SANTA PARAVIA AND FIUMACCIO"
310 PRINT:FOR A=1TO16:READ A$:NEXT
320 PRINT "How many people want to play,":PRINT "from 1 to 6? ";
325 GOSUB 8400:PRINT KE:IF KE<ASC("1") OR KE>ASC("6") THEN 325
330 PRINT CHR$(KE):F=KE-48:FOR A=1 TO F:READ T$(A)
340 PRINT:PRINT "Who is the ruler of":PRINT T$(A);
350 INPUT N$(A):IF N$(A)="" THEN 340
360 N$(A)=N$(A)+" of "+T$(A)
370 PRINT "Is ";N$(A):PRINT " a Man or a Woman? ";:V(A)=0
380 GOSUB 8400:IF KE=ASC("W") THEN V(A)=8:PRINT "Wo";
390 PRINT "man"
400 G(A)=25:H(A)=10:I(A)=5:J(A)=2:O(A)=1420+FNRN(35)
410 K(A)=1000:L(A)=10000:R(A)=5000:T(A)=1:U(A)=1
420 N(A)=4:P(A)=25:Q(A)=5:M(A)=25:S(A)=2000
430 NEXT
440 FOR A=1 TO F
450 RESTORE
460 B=V(A)+T(A)
470 FOR C=1 TO B
480 READ T$(A)
490 NEXT C
500 NEXT A
510 PRINT "Do you wish instructions?"
520 GOSUB 8400:IF KE=ASC("N") THEN 540
530 GOSUB 10000:SCREEN 1:COLOR 15,2,2
540 PRINT "1. Apprentice   2. Journeyman":PRINT "3. Master       4. Grand Master"
550 PRINT "Enter level of play": PRINT "desired: ";
560 GOSUB 8400:IF KE<ASC("1") OR KE>ASC("4") THEN 560
570 U(0)=KE-48
580 U(0)=U(0)+5
599 REM  CONTROL ROUTINE
600 E=E+1
610 IF T(E)=-1 THEN E=E+1
619 REM  TEST FOR END OF GAME AFTER DEATH
620 IF (T(1)<1)AND(T(2)<1)AND(T(3)<1)AND(T(4)<1)AND(T(5)<1)AND(T(6)<1) THEN 11000
630 IF E>F THEN E=0:Y(0)=Y(0)+1:GOTO 600
640 IF Y(0)>O(E) THEN 600
645 IF Y(0)=O(E) THEN 1100
650 GOSUB 2000
660 GOSUB 2600
670 GOSUB 4000
680 GOSUB 3000
690 GOSUB 5000
700 GOSUB 6000
710 GOSUB 7000
990 GOTO 600
999 REM  COMPARISON ROUTINE
1000 CLS
1010 PRINT "Nobles Soldiers Clergy Merchants";:PRINT "Serfs  Land    Treasury"
1020 PRINT:FOR A=1TOF:PRINT T$(A);N$(A)
1030 PRINT N(A);TAB(7);P(A);TAB(16);Q(A);TAB(23);M(A)
1040 PRINT S(A);TAB(40);L(A);TAB(50);K(A):NEXT
1050 PRINT:PRINT "  (press a key)":GOSUB 8400
1060 RETURN
1099 REM  OBITUARY
1100 CLS:PRINT:PRINT "Very sad news":PRINT
1110 PRINT T$(E);N$(E);" has just died"
1120 T(E)=-1:Y=FNRN(8)
1130 IF Y(0)>1450 THEN PRINT "of old age after a long reign":GOTO 1190
1140 IF Y<4 THEN PRINT "of penumonia after a cold winter":PRINT"in a drafty castle"
1150 IF Y=5 THEN PRINT "in a smallpox epidemic"
1160 IF Y=4 THEN PRINT "of typhoid after drinking contaminated water"
1170 IF Y=6 THEN PRINT "after being attacked by robbers while traveling"
1180 IF Y>6 THEN PRINT "of food poisoning"
1190 PRINT
1200 PRINT "(press a key)":GOSUB 8400
1210 GOSUB 5000
1220 GOSUB 1000
1290 GOTO 600
1299 REM MINOR SUBROUTINES
1300 II=INT(II):RETURN
1310 CI=INT(CI):RETURN
1320 SI=INT(SI):RETURN
1330 K(E)=INT(K(E)):RETURN
1500 Z=FNRN(A)*S(E)#100:ZP=Z:PRINT ZP;"Serfs born this year":S(E)=S(E)+ZP:RETURN
1510 Z=FNRN(A)*S(E)#100:ZP=Z:PRINT ZP;"Serfs die this year":S(E)=S(E)-ZP:RETURN
1999 REM  AGRICULTURAL CALCULATIONS
2000 W=(FNRN(5)+FNRN(6))#2
2010 ON W GOTO 2020,2040,2060,2080,2100
2020 W$="Droughts        Famine threatens"
2030 GOTO 2110
2040 W$="Bad weather     Poor harvest"
2050 GOTO 2110
2060 W$="Normal weather  Average harvest"
2070 GOTO 2110
2080 W$="Good weather    Fine harvest"
2090 GOTO 2110
2100 W$="Excell. weather Great harvest"
2109 REM RATS EAT GRAIN
2110 R=FNRN(50)
2120 R(E)=(R(E)*100-R(E)*R)/100
2129 REM  GRAIN HARVEST
2130 X=L(E):Y=(S(E)-D(E)*100)*5:IF Y<0 THEN Y=0
2140 IF Y<X THEN X=Y
2150 Y=R(E)*2:IF Y<X THEN X=Y
2160 Y=W-0.5:HI=X*Y:R(E)=R(E)+HI
2169 REM GRAIN DEMAND
2170 DI=N(E)*100+C(E)*40+M(E)*30+P(E)*10+S(E)*5
2179 REM  PRICE OF LAND
2180 L=(3*W+FNRN(6)+FNRN(6)+10)/10
2190 IF HI<1 THEN Y=2:GOTO 2210
2200 Y=DI/HI:IF Y>2 THEN Y=2
2210 IF Y<0.8 THEN Y=0.8
2220 L=L*Y:L=INT(L*10):L=L/10
2229 REM PRICE OF GRAIN
2230 Z=6-W
2240 G=(Z*3+FNRN(5)+FNRN(5))/5*Y*20
2290 RETURN
2299 REM  DISPLAY HARVEST (ALTERNATE ENTRY - 2340)
2300 PRINT
2310 PRINT "Rats ate";R;"% of your grain":PRINT "reserves "
2320 PRINT:PRINT W$:PRINT"(";HI;" steres)"
2340 PRINT:IF K(E)<32766 THEN GOSUB 1330
2350 PRINT "Grain reserve :";R(E);"steres"
2355 PRINT "Grain demand  :";DI;"steres"
2360 PRINT "Price of grain:";G;"/1000 st."
2365 PRINT "Price of land :";L;"/hectare"
2370 PRINT "Treasury      :";K(E);"gold fl."
2380 RETURN
2399 REM  TAXES
2400 J=(J(E)*300-500)*T(E):ON J(E) GOTO 2410,2430,2450,2470
2410 J$="Very fair"
2420 GOT0 2475
2430 J$="Moderate"
2440 GOTO 2475
2450 J$="Harsh"
2460 GOTO 2475
2470 J$="Outragous"
2475 Y=150-G(E)-H(E)-I(E):IF Y<1 THEN Y=1
2479 REM CALCULATE TAX YIELD
2480 CI=(N(E)*180+Q(E)*75+M(E)*20)*(Y/100)+U(E)*100
2490 SI=(N(E)*50+M(E)*25+U(E)*10)*(Y/100)*(5-J(E))/2
2500 II=N(E)*250+U(E)*20+(10*J(E)*N(E))*(Y/100)
2510 CI=CI*G(E)/100:IF CI<32760 THEN GOSUB 1310
2520 SI=SI*H(E)/100:IF SI<32760 THEN GOSUB 1320
2530 II=II*I(E)/100:IF II<32760 THEN GOSUB 1300
2540 PRINT "State revenues";J+CI+SI+II;"FL"
2545 PRINT "Customs duty";G(E);"%":PRINT CI;"FL"
2550 PRINT "Sales tax";H(E);"%":PRINT SI;"FL"
2555 PRINT "Income tax";I(E);"%":PRINT II;"FL"
2560 PRINT "Justice: ";J$:PRINT J;"FL"
2590 RETURN
2599 REM MANAGE HARVEST
2600 CLS:PRINT:PRINT T$(E);N$(E)
2610 GOSUB 2300
2620 PRINT
2630 PRINT " 1. Buy grain    2. Sell grain"
2635 PRINT " 3. Buy land     4. Sell land"
2640 PRINT "Choose (enter 0 to continue): ";
2650 GOSUB 8400:IF KE<ASC("0") OR KE>ASC("4") THEN 2650
2660 PRINT CHR$(KE):II=KE-48:IF II<1 THEN RETURN
2670 ON II GOTO 2700,2750,2800,2850
2700 PRINT "How much grain do you want":INPUT "to buy";II
2710 K(E)=K(E)-(II*G/1000):R(E)=R(E)-II
2720 CLS:PRINT:PRINT T$(E);N$(E):GOSUB 2340
2730 GOTO 2620
2750 PRINT "How much grain do you wish":INPUT "to sell";II
2760 IF II>R(E) THEN PRINT "You don't have it":PRINT:GOTO 2750
2770 K(E)=K(E)+(II*G/1000):R(E)=R(E)-II
2780 GOTO 2720
2800 PRINT "How many hectares do you want":INPUT "to buy";II
2810 L(E)=L(E)+II:K(E)=K(E)-(II*L)
2820 GOTO 2720
2850 PRINT "ow many hectares do you want":INPUT "to sell";II
2860 IF II>(L(E)-5000) THEN PRINT "You can't sell that much":GOTO 2850
2870 L(E)=L(E)-II:K(E)=K(E)+(II*L)
2880 GOTO 2720
2999 REM  DISPLAY TAXES
3000 CLS:PRINT:PRINT T$(E);N$(E)
3010 PRINT:GOSUB 2400
3020 PRINT:PRINT " 1. Customs duty  2. Sales tax"
3025 PRINT " 3. Health tax    4. Justice"
3030 PRINT "Enter tax number for changes,":PRINT "0 to continue ";
3040 GOSUB 8400:IF KE<ASC("0") OR KE>ASC("4") THEN 3035
3050 I=KE-48:IF I<1 THEN 3200
3060 ON I GOTO 3070,3110,3140,3170
3070 PRINT "New Customs duty":INPUT "(0 to 100)";I
3080 IF I>100 THEN I=100
3090 IF I<0 THEN I=0
3100 G(E)=I:GOTO 3000
3110 INPUT "New Sales tax (0 to 50)";I
3120 IF(I>50) OR (I<0) THEN I=5
3130 H(E)=I:GOTO 3000
3140 INPUT "New health tax (0 to 25)";I
3150 IF(I<0) OR (I>25) THEN I=8
3160 I(E)=I:GOTO 3000
3170 PRINT "JUSTICE:":PRINT " 1. Very Fair   2. Moderate"
3175 PRINT " 3. Harsh";TAB(16);"4. Outragous";I
3177 GOSUB 8400:IF KE<ASC("1") OR KE>ASC("4") THEN 3177
3180 I=KE-48
3190 J(E)=I:GOTO 3000
3200 K(E)=K(E)+CI+SI+II+J
3209 REM  INTEREST CHARGE
3210 IF K(E)<0 THEN K(E)=K(E)*1.5
3219 REM REM BANKRUPTCY TEST
3220 IF K(E)<(-10000*T(E)) GOTO 8000
4000 PRINT:PRINT "How much grain will you release"
4010 INPUT "for consumption";GI
4020 IF GI<(R(E)/5) THEN 4024:ELSE 4030
4024 PRINT "You must release at least 20%"
4026 PRINT "(";(R(E5)#5);") of your reserves":GOTO 4010
4030 IF GI>(R(E)-(R(E)/5)) THEN 4032:ELSE 4035
4032 PRINT "You must keep al least 20%":PRINT"(";(R(E)#5);")":GOTO 4010
4035 R(E)=R(E)-GI :CLS:PRINT:PRINT T$(E);N$(E):PRINT
4040 Z=GI/DI-1:IF Z>0 THEN Z=Z/2
4050 IF Z>0.25 THEN Z=Z/10+0.25
4060 ZP=50-G(E)-H(E)-I(E):IF ZP<0 THEN ZP=ZP+J(E)
4070 ZP=ZP/10:IF ZP>0 THEN ZP=ZP+3-J(E)
4080 Z=Z+(ZP/10):IF Z>0.5 THEN Z=0.5
4100 IF GI<(DI-1) THEN 4500
4110 A=7:GOSUB 1500
4120 A=3:GOSUB 1510
4130 IF (G(E)+H(E))<35 THEN M(E)=M(E)+FNRN(4)
4140 IF I(E)<FNRN(20) THEN N(E)=N(E)+FNRN(2)-1:Q(E)=Q(E)+FNRN(3)-1
4190 IF GI<(DI+DI*. 3) THEN 4300
4200 ZP=S(E)/1000
4210 Z=(GI-DI)/DI*10
4220 Z=Z*ZP*FNRN(25)+FNRN(40):IF Z>32000 THEN Z=32000
4230 ZP=Z:Z=FNRN(ZP)
4240 PRINT Z;"Serfs move to the city":S(E)=S(E)+Z
4250 ZP=Z/5:Z=FNRN(ZP):IF Z>50 THEN Z=50
4260 M(E)=M(E)+Z
4270 N(E)=N(E)+1
4280 Q(E)=Q(E)+2
4299 REM INJUSTICE PENALTY
4300 IF J(E)<3 THEN 4490
4310 JI=S(E)/100*(J(E)-2)*(J(E)-2)
4320 JI=FNRN(JI)
4330 S(E)=S(E)-JI
4340 PRINT JI;"Serfs flee harsh justice"
4490 GOTO 4900
4499 REM  FOOD SHORTAGE
4500 X=(DI-GI)/DI*100-9:XP=X:IF X>65 THEN X=65
4505 IF X<0 THEN XP=0:X=0
4510 A=3:GOSUB 1500
4520 A=XP+8:GOSUB 1510
4530 GOTO 4300
4900 Z=A(E)*75:K(E)=K(E)+Z:IF Z>0 THEN 4905:ELSE 4910
4905 PRINT "Your market earned":PRINT Z;"florins rent"
4910 IF S(E)<32766 THEN SI=S(E):GOSUB 1320:S(E)=SI
4920 Z=D(E)*(55+FNRN(250)):IF Z>O THEN 4925:ELSE 4930
4925 K(E)=K(E)+Z:PRINT "Your woolen mill earned":PRINT Z;"Florins"
4930 Z=P(E)*3:PRINT "You paid you soldiers"
4935 PRINT Z;"Florins":K(E)=K(E)-Z
4939 REM  INVASION
4940 IF (L(E)/1000)>P(E) THEN 8100
4945 IF (L(E)/500)<P(E) THEN 4980
4950 FOR A=1 TO F:IF A=E THEN 4970
4960 IF P(A)>(P(E)*2.4) THEN 8100
4970 NEXT
4980 PRINT "(press a key)":GOSUB 8400
4990 RETURN
4999 REM  DRAW MAP
5000 SCREEN 2:COLOR 15,2,2
5010 LP=(L(E)/1000):IF LP<10 THEN X=80:Y=27:GOTO 5100
5020 IF LP<30 THEN X=80:Y=27-(LP-10):GOTO 5100
5030 IF LP<50 THEN X=60:Y=27-(LP-30) GOTO 5100
5040 IF LP<70 THEN X=40:Y=27-(LP-50):GOTO 5100
5050 IF LP<90 THEN X=20:Y=27-(LP-70):GOTO 5100
5060 IF LP<100 THEN X=1:Y=27-(LP-90):GOTO 5100
5070 X=1:Y=7
5100 FOR Z=X TO 127:PLOTZ,Y:NEXT Z
5110 FOR Z=Y TO 47:PLOTX,Z:NEXT Z
5120 IF (P(E)-5)<(L(E)/1000) THEN 5160
5130 FOR A=X+1 TO X+6:FOR B=Y+1 TO Y+5:PLOTA,B:NEXT B:NEXT A
5135 PLOTX,Y-1:PLOTX+2,Y-1:PLOTX+4,Y-1:PLOTX+6,Y-1
5140 IF (P(E)/2)<(L(E)/1000) THEN 5160
5150 FOR A=X+7 TO X+10:FOR B=Y+1 TO Y+5:PLOTA,B:NEXT B:NEXT A:PLOTX+8,Y-1
5153 PLOTX+10,Y-1:PLOTX+3,Y+2,0:PLOTX+7,Y+4,0:PLOTX+1,Y-1:PLOTX+9,Y-1
5156 PLOTX,Y-2:PLOTX+2,Y-2:PLOTX+8,Y-2:PLOTX+10,Y-2
5160 Z=C(E)+1:IF Z>7 THEN Z=7
5170 ON Z GOTO 5250,5240,5230,5220,5210,5200,5180
5180 FOR A=96 TO 118:PLOTA,30:NEXT A:PLOT102,30,0:PLOT104,30,0
5200 FOR A=96 TO 99:FOR B=24 TO 29:PLOTA,B:NEXT B:NEXT A
5210 FOR A=107 TO 110:FOR B=24 TO 29:PLOTA,B:NEXT B:NEXT A
5220 FOR B=22 TO 24:PLOT103,B:NEXT B:PLOT102,23:PLOT104,23
5230 FOR A=101 TO 105:FOR B=25 TO 26:PLOTA,B:NEXT B:NEXT A
5235 PLOT101,25,0:PLOT105,25,0
5240 FOR A=100 TO 106:FOR B=27 TO 29:PLOTA,B:NEXT B:NEXT A
5245 PLOT102,29,0:PLOT104,29,0
5250 Z=B(E)*2:IF Z=0 THEN 5300
5254 IF Z>9 THEN PLOT73,32:PLOT75,30:PLOT89,30:PLOT91,32
5256 PLOT74,31:PLOT90,31
5260 IF Z>8 THEN Z=9:FOR A=80 TO 84:FOR B=30 TO 32:PLOTA,B:NEXT B:NEXT A
5265 PLOT81,32,0:PLOT83,31,0:PLOT81,29:PLOT83,29:PLOT82,28
5270 FOR A=(82-Z)TO(82+Z):FOR B=33 TO 35:PLOTA,B:NEXT B:NEXT A
5280 FOR A=(83-Z)TO(81+Z) STEP 2:PLOTA,34,0:NEXT A:PLOT82,35,0
5300 Z=S(E)-D(E)*100:IF Z<1 THEN Z=1
5305 Z=Z*5/L(E)*10+1:IF Z>10 THEN Z=10
5310 Z=(Z/10)*(45-Y):Z=INT(47-Z)
5320 FOR A=119 TO 127:PLOTA,Z:NEXT A:PLOT122,Z,0:PLOT123,Z,0:PLOT125,Z,0
5330 FOR A=119 TO 127 STEP 2:PLOTA,Z+1:NEXT A:PLOT118,Z-1:PLOT127,Z-1
5400 Z=A(E)*2:IF Z=0 THEN 5500
5410 IF Z>((126-X)-2) THEN Z=((126-X)-2)
5420 FOR A=X TO X+Z STEP 2:PLOTA,39:PLOTA+1,39:PLOTA+1,40:PLOTA+1,41:NEXT A
5500 Z=D(E):IF Z=0 THEN 5900
5510 IF Z>(126-X) THEN Z=126-X
5520 FOR A=126-Z TO 127:FOR B=45 TO 47:PLOTA,B:NEXT B:NEXT A
5530 FOR A=127-Z TO 126 STEP 2:PLOTA,46,0:NEXT A
5900 GPRINT "Year",0,12
5920 GPRINT STR$(Y(0)),0,13
5930 A$=T$(E)+N$(E):GPRINT A$,0,15
5940 GPRINT "(press a key)",0,17:GOSUB 8400
5990 SCREEN 1:COLOR 15,2,2:RETURN
5999 REM  INVESTMENTS
6000 CLS:PRINT:PRINT T$(E);N$(E):PRINT "STATE PURCHASES" :PRINT
6010 PRINT "1. Marketplace":PRINT TAB(18);"1000 Florins"
6020 PRINT "2. Woolen Mill":PRINT TAB(18);"2000 Florins"
6030 PRINT "3. Palace (Partial)":PRINT TAB(18);" 3000 Florins"
6040 PRINT "4. Cathedral (Partial)":PRINT TAB(18);"5000 Florins"
6050 PRINT "5. Equip one platoon of serfs":PRINT "   as soldiers";TAB(18);"500 Florins"
6060 PRINT:PRINT "You have";K(E);"gold florins":PRINT
6070 PRINT "To continue, enter 0":PRINT"To compare standings, enter 6"
6080 PRINT "Your choice"
6085 GOSUB 8400:IF KE<ASC("0") OR KE>ASC("6") THEN 6085
6090 I=KE-48:CLS:IF I<1 THEN RETURN
6100 IF I>5 THEN GOSUB 1000:GOTO 6000
6110 ON I GOTO 6200,6120,6300,6400,6500
6120 D(E)=D(E)+1
6130 K(E)=K(E)-2000
6140 U(E)=U(E)*.25
6150 GOTO 6000
6200 A(E)=A(E)+1
6210 M(E)=M(E)+5
6220 K(E)=K(E)-1000
6230 U(E)=U(E)+0.1
6250 GOTO 6000
6300 B(E)=B(E)+1
6310 N(E)=N(E)+FNRN(2)
6320 K(E)=K(E)-3000
6330 U(E)=U(E)+.5
6350 GOTO 6000
6400 C(E)=C(E)+1
6410 Q(E)=Q(E)+FNRN(6)
6420 K(E)=K(E)-5000
6430 U(E)=U(E)+1
6450 GOTO 6000
6500 P(E)=P(E)+20
6510 S(E)=S(E)-20
6520 K(E)=K(E)-500
6550 GOTO 6000
6999 REM  CALCULATE NEW TITLE
7000 Z=0
7010 A=A(E):GOSUB 7500
7020 A=B(E):GOSUB 7500
7030 A=C(E):GOSUB 7500
7040 A=D(E):GOSUB 7500
7050 A=K(E)/5000:GOSUB 7500
7060 A=L(E)/6000:GOSUB 7500
7070 A=M(E)/50:GOSUB 7500
7080 A=M(E)/5:GOSUB 7500
7090 A=P(E)/50:GOSUB 7500
7100 A=Q(E)/10:GOSUB 7500
7110 A=S(E)/2000:GOSUB 7500
7120 A=V(E)/5:GOSUB 7500
7130 A=Z/U(0)-J(E):A=INT(A):IF A>8 THEN A=8
7140 IF (Y(0)+2)=O(E) THEN T(E)=T(E)+1
7150 IF T(E)>=A THEN 7490
7160 T(E)=A
7170 RESTORE
7180 FOR B=1 TO (T(E)+V(E)):READ T$(E):NEXT
7190 IF T(E)=8 THEN 7600
7490 RETURN
7500 IF A>10 THEN A=10
7520 A=INT(A)
7530 Z=Z+A
7540 RETURN
7599 REM  KING OR QUEEN
7600 CLS:PRINT:PRINT "GAME OVER ";T$(E);N$(E);" WINS"
7610 GOSUB 5010:GOSUB 1000:GOTO 11010
7999 REM  BANKRUPTCY
8000 CLS:PRINT:PRINT T$(E);N$(E);" is bankrupt"
8010 PRINT:PRINT "Creditors have seized much":PRINT"of your assets"
8020 PRINT
8030 PRINT "(press a key)":GOSUB 8400
8040 A(E)=0:B(E)=0:C(E)=0:D(E)=0:L(E)=6000:U(E)=1:K(E)=100
8050 RETURN
8099 REM  INVASION (FROM 4940)
8100 Z=0:FOR A=1TOF
8110 IF A=E THEN 8200
8120 IF P(A)<P(E) THEN 8200
8130 IF P(A)<(1.2*(L(A)/1000)) THEN 8200
8140 IF P(A)>P(Z) THEN Z=A
8200 NEXT
8205 IF Z=0 THEN T$(0)=" Baron ":N$(O)="Peppone of Monterana":ZQ=FNRN(9000)+1000:GOTO 8220
8210 ZQ=P(Z)*1000-L(Z)/3
8220 IF ZQ>(L(E)-5000) THEN ZQ=(L(E)-5000)/2
8230 PRINT T$(Z);N$(Z);" invades and seizes":ZQ
8240 PRINT "hectares of land!"
8250 L(Z)=L(Z)+ZQ=L(E)=L(E)-ZQ
8260 Z=FNRN(40):IF Z>(P(E)-15) THEN Z=P(E)-15
8270 PRINT T$(E);N$(E);" loses";Z," soldiers in battle"
8280 P(E)=P(E)-Z:PRINT "(press a key)":GOSUB 8400
8290 RETURN
8390 REM GET A KEY
8400 KE=INKEY(0)
8410 KE=INKEY(30):IF KE=0 THEN 8410
8420 IF KE>=ASC("a") AND KE<=ASC("z") THEN KE=KE-32
8430 RETURN
9999 REM INSTRUCTIONS
10000 SCREEN 0:COLOR 15,2:PRINT "SANTA PARAVIA AND FIUMACCIO"
10010 PRINT "  You are the ruler of a 15th century"
10020 PRINT "italian city-state. If you rule well,"
10030 PRINT "you will receive higher titles. The"
10040 PRINT "first player to become a King or Queen"
10050 PRINT "wins. Life expectancy then was brief:"
10060 PRINT "so you may not live long enough to win."
10070 PRINT:PRINT "  The computer will draw a map of your"
10080 PRINT "state. The size of the area in the wall"
10090 PRINT "grows as you buy more land. The size of"
10100 PRINT "the Guard Tower in the upper left cor-"
10110 PRINT "ner shows the adequacy of your defenses.";
10120 PRINT "If it shrinks, equip more soldiers! If"
10130 PRINT "horse and plowman is touching the top"
10140 PRINT "wall all your land is in production."
10150 PRINT:PRINT "Press any key to continue...":GOSUB 8400
10160 CLS:PRINT:PRINT "Otherwise you need more serfs, who will"
10170 PRINT "migrate to your state if you distribui-"
10180 PRINT "te more grain than the minimum demand."
10190 PRINT "If you distribuite less grain, some of"
10200 PRINT "your people will starve, and you will"
10210 PRINT "have a high death rate. High taxes"
10220 PRINT "raise money, but slow down economic"
10230 PRINT "growth."
10240 PRINT:PRINT "Press any key to continue...":GOSUB 8400
10250 RETURN
10999 REM  END GAME
11000 GOSUB 5000:GOSUB 1000
11010 PRINT "Game is over.":PRINT "Press any key for a new game"
11020 GOSUB 8400
11030 GOTO 10