Ask Question

Name:
Title:
Your Question:

Answer Question

Name:
Your Answer:
User Submitted Source Code!


Description:
  Empires
Language: BASIC
Code:
100 REM SANTA PARAVIA AND FIUMACCIO VERSION 7.2 
 110 REM COPYRIGHT (C) 1980,INSTANT SOFTWARE,INC. (P) 
 120 CALL CLEAR
 135 OPTION BASE 0
 140 DIM AA(6),BB(6),CC(6),D(6),GG(6),HH(6),II(6),JJ(6),K(6),LL(6),M(6),N$(6),N(6),O(6),P(6),Q(6),RR(6),SS(6)
 145 DIM T$(6),T(6),U(6),V(6)
 150 RANDOMIZE
 160 YY=1400
 165 NW=0
 170 DATA "SIR","BARON","COUNT","MARQUIS","DUKE","GRAND DUKE","PRINCE","*H.R.H. KING"
 180 DATA "LADY","BARONESS","COUNTESS","MARQUISE","DUCHESS","GRAND DUCHESS","PRINCESS","*H.R.H. QUEEN"
 190 DATA "SANTA PARAVIA","FIUMACCIO","TORRICELLA","MOLINETTO","FONTANILE","ROMAGNA"
 210 PRINT: : :"SANTA PARAVIA AND FIUMACCIO": : : : : : : : : : :
 260 RESTORE 190
 270 PRINT "HOW MANY PEOPLE WANT TO PLAY SANTA PARAVIA ? ";
 280 GOSUB 5630
 290 F=KV
 300 IF F<1 THEN 315
 310 IF F<=6 THEN 320
 315 CALL CLEAR
 317 GOTO 270
 320 FOR A=1 TO F
 325 CALL CLEAR
 330 READ T$(A)
 350 PRINT:"WHO IS THE RULER OF ";T$(A);
 360 INPUT N$(A)
 370 N$(A)=N$(A)&" OF "&T$(A)
 380 PRINT: :"IS ";N$(A):
 385 INPUT "A MAN OR A WOMAN ? ":K$
 390 V(A)=0
 410 IF(SEG$(K$,1,1)<>"W")*(SEG$(K$,1,1)<>"M")THEN 380
 415 IF SEG$(K$,1,1)="M" THEN 420
 417 V(A)=8
 420 GG(A)=25
 430 HH(A)=10
 440 II(A)=5
 450 JJ(A)=2
 460 K(A)=1000
 470 LL(A)=10000
 480 RR(A)=5000
 490 T(A)=1
 500 U(A)=1
 510 N(A)=4
 520 P(A)=25
 530 Q(A)=5
 540 M(A)=25
 550 SS(A)=2000
 560 NEXT A
 570 FOR A=1 TO F
 580 RESTORE
 590 B@=V(A)+T(A)
 600 FOR C2=1 TO B@
 610 READ T$(A)
 620 NEXT C2
 630 NEXT A
 650 U(0)=9
 660 GOSUB 1300
 670 E=E+1
 672 IF NW=F THEN 18690
 675 IF E>F THEN 695
 677 IF T(E)<8 THEN 680
 679 GOTO 670
 680 IF T(E)<>-1 THEN 690
 685 E=E+1
 690 IF E<=F THEN 730
 695 E=0
 700 YY=YY+1
 710 GOSUB 1300
 720 GOTO 670
 730 GOSUB 1430
 740 GOSUB 2040
 750 GOSUB 2950
 760 GOSUB 2420
 780 GOSUB 4020
 790 GOSUB 4550
 800 GOTO 670
 810 CALL CLEAR
 815 CALL SCREEN(14)
 820 PRINT TAB(9);"COMPARE NOBLES": : :
 830 FOR A=1 TO F
 834 PRINT:T$(A);" ";N$(A)
 836 PRINT "HAS";N(A);"NOBLES":
 850 NEXT A
 854 PRINT: :
 855 GOSUB 1110
 856 CALL SCREEN(7)
 860 PRINT TAB(8);"COMPARE SOLDIERS": : :
 870 FOR A=1 TO F
 875 PRINT:T$(A);" ";N$(A)
 880 PRINT "HAS";P(A);"SOLDIERS":
 890 NEXT A
 891 PRINT: :
 895 GOSUB 1110
 896 CALL SCREEN(16)
 900 PRINT TAB(9);"COMPARE CLERGY": : :
 910 FOR A=1 TO F
 920 PRINT:T$(A);" ";N$(A)
 925 PRINT "HAS";Q(A);"CLERGYMEN":
 930 NEXT A
 931 PRINT: :
 935 GOSUB 1110
 936 CALL SCREEN(11)
 940 PRINT TAB(7);"COMPARE MERCHANTS": : :
 950 FOR A=1 TO F
 960 PRINT T$(A);" ";N$(A)
 965 PRINT "HAS";M(A);"MERCHANTS": :
 970 NEXT A
 971 PRINT: :
 975 GOSUB 1110
 976 CALL SCREEN(5)
 980 PRINT TAB(9);"COMPARE SERFS": : :
 990 FOR A=1 TO F
 1000 PRINT:T$(A);" ";N$(A)
 1005 PRINT "HAS";SS(A);"SERFS":
 1010 NEXT A
 1011 PRINT: :
 1015 GOSUB 1110
 1016 CALL SCREEN(4)
 1020 PRINT TAB(6);"COMPARE LAND OWNED": : :
 1030 FOR A=1 TO F
 1040 PRINT:T$(A);" ";N$(A)
 1045 PRINT "HAS";LL(A);"HECTARES OF LAND":
 1050 NEXT A
 1051 PRINT: :
 1055 GOSUB 1110
 1056 CALL SCREEN(12)
 1060 PRINT TAB(7);"COMPARE TREASURIES": : :
 1070 FOR A=1 TO F
 1080 PRINT:T$(A);" ";N$(A)
 1085 PRINT "HAS";K(A);"GOLD FLORINS":
 1090 NEXT A
 1091 PRINT: :
 1110 INPUT " (PRESS ENTER)":A$
 1115 CALL CLEAR
 1116 CALL SCREEN(4)
 1120 RETURN
 1130 I=INT(I)
 1140 RETURN
 1150 C2=INT(C2)
 1160 RETURN
 1170 S=INT(S)
 1180 RETURN
 1190 K(E)=INT(K(E))
 1200 RETURN
 1210 Z=INT((3+A*RND)*SS(E)/100)
 1220 PRINT: : :Z;"SERFS BORN THIS YEAR"
 1230 SS(E)=SS(E)+Z
 1240 RETURN
 1250 Z=INT((3+RND*A*SS(E))/100)
 1260 Z@=Z
 1270 PRINT Z;"SERFS DIED THIS YEAR"
 1280 SS(E)=SS(E)-Z
 1290 RETURN
 1300 W=INT((RND*5+RND*6)/2)
 1305 IF W<1 THEN 1300
 1310 ON W GOTO 1320,1340,1360,1380,1400
 1320 W$="DROUGHT - FAMINE THREATENS"
 1330 GOTO 1410
 1340 W$="BAD WEATHER - POOR HARVEST"
 1350 GOTO 1410
 1360 W$="NORMAL WEATHER AND HARVEST"
 1370 GOTO 1410
 1380 W$="GOOD WEATHER - FINE HARVEST"
 1390 GOTO 1410
 1400 W$="EXCELLENT WEATHER & HARVEST"
 1410 R=INT(RND*50)
 1420 RETURN
 1430 RR(E)=RR(E)-RR(E)*R/100
 1440 X=LL(E)
 1450 Y=(SS(E)-D(E)*100)*5
 1460 IF Y>=0 THEN 1470
 1465 Y=0
 1470 IF Y>=X THEN 1480
 1475 X=Y
 1480 Y=RR(E)*2
 1490 IF Y>=X THEN 1500
 1495 X=Y
 1500 RR(E)=RR(E)-X/2
 1510 Y=W-.5
 1520 H@=X*Y
 1530 RR(E)=INT(RR(E)+H@+5000)
 1540 D@=N(E)*100+CC(E)*40+M(E)*30+P(E)*10+SS(E)*5
 1545 D@=INT(D@)
 1550 L=(3*W+RND*6+12)/10
 1560 IF W<>1 THEN 1570
 1565 L=L-1
 1570 IF H@>=1 THEN 1580
 1575 Y=2
 1580 GOTO 1610
 1590 Y=D@/H@
 1600 IF Y<=2 THEN 1610
 1605 Y=2
 1610 IF Y>=8 THEN 1620
 1615 Y=8
 1620 L=L*Y
 1630 L=INT(L*10/3)
 1640 L=L/10
 1650 Z=6-W
 1660 G=INT((Z*3+3+RND*5)/5*Y*20)/10
 1670 RETURN
 1690 PRINT:"RATS ATE ";R;"&#37;";"OF YOUR RESERVES"
 1700 PRINT W$:TAB(11);"(";H@;" STERES)":
 1720 IF K(E)>=32766 THEN 1730
 1725 GOSUB 1190
 1726 RR(E)=INT(RR(E))
 1730 PRINT "GRAIN RESERVE =";RR(E);"STERES"
 1740 PRINT "GRAIN DEMAND =";D@;"STERES"
 1750 PRINT "PRICE OF GRAIN=";G;"/1000ST"
 1760 PRINT "PRICE OF LAND =";L;"/HECTARE"
 1770 PRINT "(THE TREASURY CONTAINS ";K(E);" FLORINS.)"
 1780 RETURN
 1790 J=INT((JJ(E)*300-500)*T(E))
 1800 ON JJ(E)GOTO 1810,1830,1850,1870
 1810 J$="VERY FAIR"
 1820 GOTO 1880
 1830 J$="MODERATE"
 1840 GOTO 1880
 1850 J$="HARSH"
 1860 GOTO 1880
 1870 J$="OUTRAGEOUS"
 1880 Y=150-GG(E)-HH(E)-II(E)
 1890 IF Y>=1 THEN 1900
 1895 Y=1
 1900 C@=(N(E)*180+Q(E)+75+M(E)*20)*(Y/100)+U(E)*100
 1910 S@=(N(E)*50+M(E)*75+U(E)*15)*(Y/100)*(5-JJ(E))/2
 1920 I@=N(E)*250+U(E)*25+(10*JJ(E)*N(E))*(Y/100)
 1930 C@=INT(C@*GG(E)/100)
 1940 IF C@>=32760 THEN 1950
 1945 GOSUB 1150
 1950 S@=INT(S@*HH(E)/100)
 1960 IF S@>=32760 THEN 1970
 1965 GOSUB 1170
 1970 I@=INT(I@*II(E)/100)
 1980 IF I@>=32760 THEN 1990
 1985 GOSUB 1130
 1990 PRINT "STATE REVENUES ARE";J+C@+S@+I@;"GOLD FLORINS"
 1995 PRINT:"TAX";TAB(14);"RATE";TAB(25);"AM'T"
 2000 PRINT:"CUSTOMS DUTY";TAB(13);GG(E);"%";TAB(24);INT(C@)
 2005 PRINT "SALES TAX";TAB(13);HH(E);"%";TAB(24);INT(S@)
 2010 PRINT "INCOME TAX";TAB(13);II(E);"%";TAB(24);INT(I@)
 2015 PRINT "JUSTICE";TAB(14);J$;TAB(24);J:
 2030 RETURN
 2040 CALL CLEAR
 2060 PRINT TAB(10);YY;"A.D.":T$(E);" ";N$(E)
 2070 GOSUB 1690
 2080 PRINT:"0. CONTINUE GAME"
 2090 PRINT "1. BUY GRAIN":"2. SELL GRAIN":"3. BUY LAND":"4. SELL LAND"
 2100 PRINT "YOUR CHOICE ? ";
 2110 GOSUB 5630
 2120 I@=KV
 2130 IF I@>4 THEN 2090
 2140 IF I@>=1 THEN 2160
 2150 RETURN
 2156 CALL CLEAR
 2157 GOSUB 1680
 2160 ON I@ GOTO 2165,2235,2305,2345
 2165 PRINT "HOW MUCH GRAIN DO YOU WANT"
 2170 INPUT "TO BUY ? ":I@
 2180 K(E)=K(E)-(I@*G/1000)
 2190 RR(E)=RR(E)+I@
 2200 CALL CLEAR
 2210 PRINT:T$(E);" ";N$(E)
 2220 GOSUB 1720
 2230 GOTO 2080
 2235 PRINT "HOW MUCH GRAIN DO YOU WANT"
 2240 INPUT "TO SELL ? ":I@
 2250 IF I@<=RR(E)THEN 2280
 2260 PRINT "YOU DON'T HAVE IT":
 2270 GOTO 2240
 2280 K(E)=K(E)+(I@*G/1000)
 2290 RR(E)=RR(E)-I@
 2300 GOTO 2200
 2305 PRINT "HOW MANY HECTARES DO YOU"
 2310 INPUT "WANT TO BUY ? ":I@
 2320 LL(E)=LL(E)+I@
 2330 K(E)=K(E)-(I@*L)
 2340 GOTO 2200
 2345 PRINT "HOW MANY HECTARES DO YOU"
 2350 INPUT "WANT TO SELL ? ":I@
 2360 IF I@<=(LL(E)-5000)THEN 2390
 2370 PRINT " YOU CAN'T SELL THAT MUCH !"
 2380 GOTO 2345
 2390 LL(E)=LL(E)-I@
 2400 K(E)=K(E)+(I@*L)
 2410 GOTO 2200
 2420 CALL CLEAR
 2440 PRINT TAB(10);YY;"A.D.":T$(E);" ";N$(E): :
 2460 GOSUB 1790
 2470 PRINT:"0.NO CHANGE IN TAXES"
 2480 PRINT "1.CUSTOMS DUTY":"2.SALES TAX":"3.WEALTH TAX":"4.JUSTICE"
 2490 PRINT:"YOUR CHOICE ? ";
 2500 GOSUB 5630
 2510 I=KV
 2520 IF I<=4 THEN 2550
 2540 GOTO 2500
 2550 IF I<1 THEN 2870
 2560 ON I GOTO 2570,2640,2710,2780
 2570 INPUT "NEW CUSTOMS DUTY (0-100)":I
 2580 IF I<=100 THEN 2600
 2590 I=100
 2600 IF I>=0 THEN 2620
 2610 I=0
 2620 GG(E)=I
 2630 GOTO 2420
 2640 INPUT "NEW SALES TAX(0 TO 50)":I
 2650 IF(I>=0)+(I<=50)THEN 2690
 2660 I=5
 2690 HH(E)=I
 2700 GOTO 2420
 2710 INPUT "NEW WEALTH TAX (0 TO 25)":I
 2720 IF(I<=25)+(I>=0)THEN 2760
 2730 I=0
 2760 II(E)=I
 2770 GOTO 2420
 2780 PRINT:"JUSTICE:":"1.VERY FAIR 2.MODERATE":"3.HARSH 4.OUTRAGEOUS"
 2790 GOSUB 5630
 2800 I=KV
 2810 IF(I<=4)+(I>=1)THEN 2850
 2820 I=1
 2850 JJ(E)=I
 2860 GOTO 2420
 2870 K(E)=INT(K(E)+C@+S@+I@+J)
 2880 IF K(E)>=0 THEN 2900
 2890 K(E)=INT(K(E)*1.5)
 2900 IF K(E)<(-1000*T(E))THEN 5020
 2910 IF(GG(E)+HH(E)+II(E))>=20 THEN 2920
 2920 IF JJ(E)<>0 THEN 2940
 2930 U(E)=U(E)+.2
 2940 RETURN
 2950 PRINT "RELEASE HOW MUCH GRAIN"
 2965 INPUT "TO THE PEOPLE?":G@
 2970 IF G@>=RR(E)/5 THEN 3000
 2980 PRINT "YOU MUST RELEASE AT LEAST 20% OF YOUR RESERVES."
 2990 GOTO 2950
 3000 IF G@<=(RR(E)-(RR(E)/5))THEN 3030
 3010 PRINT "YOU MUST KEEP AT LEAST 20% OF YOUR RESERVES."
 3020 GOTO 2950
 3030 RR(E)=RR(E)-G@
 3040 CALL CLEAR
 3050 PRINT TAB(10);YY:T$(E);" ";N$(E)
 3070 Z=G@/D@-1
 3080 IF Z<=0 THEN 3100
 3090 Z=Z/2
 3100 IF Z<=.25 THEN 3120
 3110 Z=Z/10+.25
 3120 Z@=50-GG(E)-HH(E)-II(E)
 3130 IF Z@>=0 THEN 3150
 3140 Z@=Z@*JJ(E)
 3150 Z@=Z@/10
 3160 IF Z@<=0 THEN 3180
 3170 Z@=Z@+3-JJ(E)
 3180 Z=Z+(Z@/10)
 3190 IF Z<=.5 THEN 3210
 3200 Z=.5
 3210 IF G@<(D@-1)THEN 3600
 3220 A=3
 3230 GOSUB 1210
 3240 A=2
 3250 GOSUB 1250
 3260 IF GG(E)+HH(E)>=35 THEN 3280
 3270 M(E)=INT(M(E)+4*RND)
 3280 IF II(E)>=RND*20 THEN 3310
 3290 Q(E)=INT(Q(E)+RND*3-1)
 3300 N(E)=INT(N(E)+2*RND-1)
 3310 IF G@<(D@+D@*.3)THEN 3490
 3320 Z@=SS(E)/1000
 3330 Z=(G@-D@)/D@*10
 3340 Z=Z*Z@*15+RND*40
 3350 IF Z<=32000 THEN 3370
 3360 Z=32000
 3370 Z@=Z
 3380 Z=INT(Z/2+24*RND)
 3390 PRINT Z;"SERFS MOVE TO THE CITY"
 3400 SS(E)=SS(E)+Z
 3410 U(E)=U(E)+.5
 3420 Z@=Z/5
 3430 Z=INT(RND*Z@)
 3440 IF Z<=50 THEN 3460
 3450 Z=50
 3460 M(E)=M(E)+Z
 3470 N(E)=N(E)+1
 3480 Q(E)=Q(E)+2
 3490 IF JJ(E)<3 THEN 3590
 3500 J@=SS(E)/100*(JJ(E)-2)*(JJ(E)-2)
 3510 IF J@>=4 THEN 3530
 3520 J@=4
 3530 IF U(E)<=2 THEN 3550
 3540 U(E)=U(E)-JJ(E)/10
 3550 J@=INT(J@/2)
 3560 J@=INT(J@*RND+J@)
 3570 SS(E)=SS(E)-J@
 3580 PRINT J@;"SERFS FLEE HARSH JUSTICE"
 3590 GOTO 3720
 3600 X=(D@-G@)/D@*100-9
 3610 X@=X
 3620 IF X>=0 THEN 3650
 3630 X@=0
 3640 X=0
 3650 A=2
 3660 GOSUB 1210
 3670 A=X@+5
 3680 GOSUB 1250
 3690 IF Z@<=1000 THEN 3710
 3700 U(E)=U(E)/2
 3710 GOTO 3490
 3720 Z=AA(E)*75
 3730 K(E)=K(E)+Z
 3740 IF Z<=0 THEN 3760
 3750 PRINT:"YOUR MARKET EARNED ";Z;" FLORINS RENT."
 3760 IF SS(E)>=32766 THEN 3800
 3770 S@=SS(E)
 3780 GOSUB 1170
 3790 SS(E)=S@
 3800 Z=INT(D(E)*(55+RND*250))
 3810 IF Z<=0 THEN 3840
 3820 K(E)=K(E)+Z
 3830 PRINT:"YOUR WOOLEN MILL EARNED ";Z;" FLORINS."
 3840 Z=P(E)*3
 3850 PRINT:"YOU PAID YOUR SOLDIERS";Z;"FLORINS": : : :
 3860 K(E)=K(E)-Z
 3870 IF(LL(E)/1000)>P(E)THEN 5170
 3880 IF(LL(E)/500)<P(E)THEN 3960
 3890 IF X<=65 THEN 3920
 3900 X=65
 3910 M(E)=INT(M(E))
 3920 FOR A=1 TO F
 3930 IF A=E THEN 3950
 3940 IF P(A)>(P(E)*2.4)THEN 5170
 3950 NEXT A
 3960 INPUT "(PRESS ENTER)":A$
 3970 RETURN
 4020 CALL CLEAR
 4040 PRINT TAB(10);YY;"A.D.":T$(E);" ";N$(E)
 4050 PRINT: :"***** STATE PURCHASES *****"
 4055 PRINT "0.NO PURCHASES 0.00 FLORINS"
 4060 PRINT "1.MARKETPLACE 1000 FLORINS"
 4070 PRINT "2.WOOLEN MILL 2000 FLORINS"
 4080 PRINT "3.PALACE 3000 FLORINS"
 4090 PRINT "4.CATHEDRAL 5000 FLORINS"
 4100 PRINT "5.EQUIP 20 SERFS":" AS SOLDIERS 500 FLORINS"
 4110 PRINT "6.COMPARE STANDINGS":
 4120 PRINT:"YOU HAVE";INT(K(E));"GOLD FLORINS":
 4130 IF K(E)<-30000 THEN 5020
 4150 PRINT:"YOUR CHOICE ? ";
 4160 GOSUB 5630
 4170 I=KV
 4175 IF I>=7 THEN 4160
 4176 IF I=0 THEN 1120
 4270 ON I GOSUB 4360,4320,4410,4460,4510,810
 4310 GOTO 4020
 4320 D(E)=D(E)+1
 4330 K(E)=K(E)-2000
 4340 U(E)=U(E)+.25
 4350 RETURN
 4360 AA(E)=AA(E)+1
 4370 M(E)=M(E)+5
 4380 K(E)=K(E)-1000
 4390 U(E)=U(E)+.1
 4400 RETURN
 4410 BB(E)=BB(E)+1
 4420 N(E)=INT(N(E)+RND*2)
 4430 K(E)=K(E)-3000
 4440 U(E)=U(E)+.5
 4450 RETURN
 4460 CC(E)=CC(E)+1
 4470 Q(E)=INT(Q(E)+RND*6)
 4480 K(E)=K(E)-5000
 4490 U(E)=U(E)+1
 4500 RETURN
 4510 P(E)=P(E)+20
 4520 SS(E)=SS(E)-20
 4530 K(E)=K(E)-500
 4540 RETURN
 4550 Z=0
 4551 TT=0
 4560 A=AA(E)
 4570 GOSUB 4910
 4580 A=BB(E)
 4590 GOSUB 4910
 4600 A=CC(E)
 4610 GOSUB 4910
 4620 A=D(E)
 4630 GOSUB 4910
 4640 A=K(E)/5000
 4650 GOSUB 4910
 4660 A=LL(E)/6000
 4670 GOSUB 4910
 4680 A=M(E)/50
 4690 GOSUB 4910
 4700 A=N(E)/5
 4710 GOSUB 4910
 4720 A=P(E)/50
 4730 GOSUB 4910
 4740 A=Q(E)/10
 4750 GOSUB 4910
 4760 A=SS(E)/2000
 4770 GOSUB 4910
 4780 A=U(E)/5
 4790 GOSUB 4910
 4800 A=INT(Z/8-JJ(E)+1)
 4805 IF A<=8 THEN 4810
 4806 A=8
 4810 IF(YY+2)<>O(E)THEN 4830
 4820 T(E)=T(E)+1
 4830 IF T(E)>=A THEN 4900
 4840 T(E)=A
 4850 RESTORE
 4860 FOR B=1 TO(T(E)+V(E))
 4870 READ T$(E)
 4880 NEXT B
 4890 IF T(E)>=8 THEN 4980
 4900 RETURN
 4910 TT=TT+A
 4920 IF A<=10 THEN 4940
 4930 A=10
 4940 A=INT(A)
 4950 Z=Z+A
 4960 RETURN
 4970 REM KING OR QUEEN 
 4980 CALL CLEAR
 4985 PRINT: : : : :"LONG LIVE ";T$(E);" ";N$(E);"!!!!!": : : : : : : : : :
 4990 FOR WAIT=1 TO 200
 4995 NEXT WAIT
 5000 GOSUB 810
 5010 GOSUB 5510
 5012 INPUT "PRESS ENTER TO CONTINUE":Z$
 5015 GOTO 4960
 5020 CALL CLEAR
 5030 PRINT:T$(E);" ";N$(E);" IS BANKRUPT."
 5040 PRINT:"CREDITORS HAVE SEIZED MUCH OF YOUR ASSETS":
 5060 INPUT "(PRESS ENTER)":A$
 5070 AA(E)=0
 5080 BB(E)=0
 5090 CC(E)=0
 5100 D(E)=0
 5110 LL(E)=6000
 5120 U(E)=1
 5130 K(E)=100
 5140 M(E)=INT(M(E)/2)
 5150 RR(E)=5000
 5160 RETURN
 5170 Z=0
 5180 FOR A=1 TO F
 5190 IF A=E THEN 5240
 5200 IF P(A)<P(E)THEN 5240
 5210 IF P(A)<(1.2*(LL(A)/1000))THEN 5240
 5220 IF P(A)<=P(Z)THEN 5240
 5230 Z=A
 5240 NEXT A
 5250 IF Z<>0 THEN 5300
 5260 T$(0)="BARON"
 5270 N$(0)="PEPPONE OF MONTERANA"
 5280 A@=INT(9000*RND+1000)
 5290 GOTO 5310
 5300 A@=INT(P(Z)*1000-LL(Z)/3)
 5310 IF A@<=(LL(E)-5000)THEN 5330
 5320 A@=INT((LL(E)-5000)/2)
 5330 PRINT T$(Z);" ";N$(Z);"INVADES AND SEIZES";A@;"HECTARES OF LAND"
 5340 LL(Z)=LL(Z)+A@
 5350 Z=INT(RND*41)
 5360 IF Z<=(P(E)-15)THEN 5380
 5370 Z=P(E)-15
 5380 PRINT T$(E);" ";N$(E);" LOSES";Z;" SOLDIERS IN BATTLE"
 5390 P(E)=P(E)-Z
 5400 INPUT "(PRESS ENTER)":A$
 5410 RETURN
 5490 GOSUB 3980
 5500 GOSUB 810
 5510 TT=TT+F
 5520 TY=YY-1400
 5530 TZ=TT*10/TY
 5540 CALL CLEAR
 5550 PRINT: :"TOURNAMENT WINNER IS ";N$(E)
 5560 PRINT "SCORE IS ";TZ:" YEAR IS";YY
 5570 V$=STR$(U(E))&" "&SEG$(N$(E),1,6)&" 72"&STR$(TY-7)&STR$(TT)&STR$(T(E))
 5590 PRINT:"TOURNAMENT VERIFICATION CODE"
 5600 PRINT V$
 5610 PRINT "(MUST BE REPORTED TO CERTIFY TOURNAMENT)"
 5615 NW=NW+1
 5620 RETURN
 5630 CALL KEY(0,KV,KS)
 5635 IF KS=0 THEN 5630
 5640 K$=CHR$(KV)
 5645 IF(KV<48)+(KV>57)THEN 5630
 5650 KV=VAL(K$)
 5667 PRINT KV
 5668 FOR WAIT=1 TO 50
 5669 NEXT WAIT
 5670 RETURN
 18690 END      
Comments: