1030 DIM P(8),L(3),G(10),S(6),U(6),R(8),P$(8),L$(3),G$(10)
1050 Q3% = RND(1) *(1 +Q2% -Q1%) +Q1%: IF Q3% >5 THEN G0% = Q3% +Q3%/2
1055 IF Q3% <5 THEN G0% = Q3%
1060 RETURN
1330 INPUT " ";V$:V$ = LEFT$(V$,1): IF LEN(V$) = 0 THEN V$ = "N"
1331 IF ABS( VAL(V$)) >95 THEN V$ = CHR$( ABS( VAL(V$) -32))
1332 IF V$ = "N" OR V$ = "Y" THEN RETURN
1333 PRINT "PLEASE ANSWER YES OR NO: ";: GOTO 1330
1335 IF ABS( VAL(V$)) >95 THEN V$ = CHR$( ABS( VAL(V$) -32))
1430 INPUT " ";V$:V = INT( VAL(V$)): IF V > = 0 THEN RETURN
1432 PRINT "PLEASE ENTER A NON-NEGATIVE NUMBER: ";: GOTO 1430
1530 PRINT "BUT YOU DON'T HAVE ENOUGH GRAIN": PRINT "YOU HAVE ";G;" HL. OF GRAIN LEFT,": IF X1 > = 4 THEN PRINT "ENOUGH TO BUY "; INT(G/X1)" HA. OF LAND"
1531 PRINT "ENOUGH TO PLANT "; INT(G/2);" HA. OF LAND": RETURN
1550 PRINT "BUT YOU DON'T HAVE ENOUGH LAND ": PRINT "YOU ONLY HAVE ";L;" HA. OF LAND LEFT ": RETURN
1570 : PRINT "BUT YOU DON'T HAVE ENOUGH PEASANTS": PRINT "YOUR PEASANTS CAN ONLY PLANT ";4 *P" HA. OF LAND": RETURN
1620 PRINT : PRINT "D U K E D O M ": PRINT "DO YOU WANT INSTRUCTIONS ? ";: GOSUB 1330: IF V$ = "N" THEN 2050
1690 HOME : PRINT "FOR INSTRUCTIONS ON THE GAME PLEASE READ CREATIVE COMPUTING, FEB. 1980 FOR THE LONG EXPLANATION OF THE HISTORICAL SITUATION BEHIND THE GAME."
1691 PRINT : PRINT "THE MOST IMPORTANT THING TO KNOW AT THIS POINT IS THE AMOUNT OF GRAIN NECESSARY TO FEED THE PEASANTS. 14 HL. PER PEASANT IS ADEQUATE. "
1692 PRINT "13 HL. PER PEASANT WILL CAUSE SOME HUNGER AND DECREASE FIGHTING ABILITY. AT 12 HL. PER, SOME WILL STARVE AND IT WILL CREATE RESENTMENT."
1693 PRINT "BY OVER FEEDING THE PEASANTS (UP TO 18) YOU WILL INCREASE THEIR GOOD WILL FOR YOU AND THEY WILL FIGHT BETTER FOR YOU IN THE COMING SPRING."
1694 PRINT "GOOD LUCK"
1700 INPUT " ";V$
2050 F3% = 2:M = 1.3: REM M IS CHANGED FROM 1.95..THIS CHANGE ALLOWS GREATER L(3) SPOILS OF WAR
2051 M = 1.95
2100 PRINT "DO YOU WISH TO SKIP THE DETAILED REPORTS AT THE END OF EACH YEAR? ";: GOSUB 1330:R$ = V$
2180 READ Y%,C1,U1,U2,K%,D,P,L,G
2190 FOR I = 1 TO 8: READ P(I): NEXT : FOR I = 1 TO 3: READ L(I): NEXT : FOR I = 1 TO 10: READ G(I): NEXT : FOR I = 1 TO 6: READ S(I): NEXT
2192 FOR I = 1 TO 8: READ P$(I): NEXT : FOR I = 1 TO 3: READ L$(I): NEXT : FOR I = 1 TO 10: READ G$(I): NEXT
2200 RESTORE
2210 DATA 0,3.95,0,0,0,0,100,600 ,4177,96,0,0,0,0,0,-4,8,600, 0,0,5193,-1344,0,-768,0,0,0, 1516,-120,-300,216,200,184,0 ,0,0
2720 FOR J1 = 1 TO 10: IF G(J1) < >0 OR J1 = 1 THEN PRINT G$(J1); TAB( 20); INT(G(J1))
2730 NEXT J1: PRINT "GRAIN AT END"; TAB( 20);G:
2800 IF Y% < = 0 THEN PRINT "(CROP DAMAGE DUE TO SEVEN YEAR LOCUSTS)"
2810 Y% = Y% +1: FOR I = 1 TO 8:P(I) = 0: NEXT : FOR I = 1 TO 3:L(I) = 0: NEXT : FOR I = 1 TO 10:G(I) = 0: NEXT
2815 P(1) = P:L(1) = L:G(1) = G
2816 PRINT
2980 IF P > = 33 THEN 3040
2981 PRINT "YOU HAVE SO FEW PEASANT LEFT THAT "
3000 PRINT "THE HIGH KING HAS ABOLISHED YOUR DUCAL RIGHT ": GOSUB 24040: GOTO 30000
3040 IF L > = 199 THEN 3070
3050 PRINT "YOU HAVE SO LITTLE LAND LEFT THAT ";: GOTO 3100
3070 IF U1 >88 OR U2 >99 THEN 3100
3071 IF G > = 429 THEN 3130
3100 PRINT "THE PEASANTS TIRE OF WAR AND STARVATION": PRINT "YOU ARE DEPOSED": PRINT : GOTO 30000
3130 IF Y% >45 AND K% = 0 THEN PRINT "YOU HAVE REACHED THE AGE OF MANDATORY RETIREMENT": GOTO 30000
3170 U1 = 0: IF K% >0 THEN PRINT "THE KING DEMANDS TWICE TH ROYAL TAX IN THE HOPE OF PROVOKING WAR. WILL YOU PAY";: GOSUB 1330:K% = 2: IF V$ = "N" THEN K% = -1
3270 PRINT "GRAIN FOR FOOD = ";: GOSUB 1430:V = V *P: IF V >G THEN GOSUB 1530: GOTO 3270
3271 IF V = 0 THEN 3270
3350 IF V/P <11 AND V <G -100 THEN PRINT "PEASANTS DEMONSTRATE BEFORE THE CASTLE WITH SHARPENED SCYTHES":U1 = U1 +3: GOTO 3270
3410 G(2) = -V:G = G +G(2)
3440 X1 = V/P: IF X1 <13 THEN PRINT "SOME PEASANTS HAVE STARVED DURING THE WINTER":P(2) = - INT(P -V/13):P = P +P(2)
3640 PRINT "LAND TO BUY AT ";X1;" HL./HA.= ";: GOSUB 1430:G(3) = -V *X1: IF -G(3) >G THEN GOSUB 1530: GOTO 3640
3700 L(2) = V:S(3) = S(3) +V: IF V >0 THEN 4020
3701 X2 = S(1) +S(2) +S(3)
3740 FOR J1 = 1 TO 3:X1 = X1 -1: PRINT "LAND TO SELL AT ";X1;" HL./HA. = ";: GOSUB 1430: IF V >X2 THEN PRINT "BUT YOU ONLY HAVE "X2;" HA. OF GOOD LAND": GOTO 3840
3810 G(3) = V *X1: IF G(3) < = 4000 THEN 3870
3811 PRINT "NO BUYERS HAVE THAT MUCH GRAIN--SELL LESS"
3840 NEXT J1: PRINT "BUYERS HAVE LOST INTEREST":V = 0:G(3) = 0
3870 L(2) = -V
3880 FOR J1 = 3 TO 1 STEP -1: IF V < = S(J1) THEN 4010
3881 V = V -S(J1):S(J1) = 0: NEXT J1
3882 REM LOOP SHOULD NEVER EXIT HERE
3960 PRINT "LAND SELLING LOOP ERROR ": END
4010 S(J1) = S(J1) -V
4020 L = L +L(2): IF L <10 THEN 3040
4021 IF L(2) <0 AND X1 <4 THEN G(3) = INT(G(3)/2): PRINT "THE HIGH KING APPROPRIATES HALF YOUR EARNINGS AS PUNISHMENT FOR SELLING AT JUST A LOW PRICE!!"
4090 G = G +G(3)
4130 IF K% < > -2 THEN 4350
4131 PRINT "THE KING'S ARMY IS ABOUT TO ATTACK YOUR DUCHY":X1 = INT(G/100): PRINT "AT 100 HL EACH (PAYMENT IN ADVANCE)"
4170 PRINT "YOU HAVE HIRED ";X1;" FOREIGN MERCENARIES": IF 8 *X1 +P >2399 THEN 4220
4190 PRINT "THE PLACEMENT OF YOUR HEAD ATOP THE CASTLE GATE SIGNIFIES THAT ";: GOTO 3000
4220 PRINT "WIPE THE BLOOD FROM THE CROWN--YOU ARE NOW HIGH KING!": PRINT "A NEARBY MONARCHY THREATENS WAR": PRINT "HOW MANY......": GOSUB 24040: GOTO 32767
4349 PRINT "TOTAL LAND THAT PEASANTS CAN PLANT";4 *P
4350 PRINT "TOTAL LAND PEASANTS CAN PLANT "; INT(4 *P): PRINT "**LAND TO PLANT = ";: GOSUB 1430: IF V >L THEN GOSUB 1550: GOTO 4350
4360 IF V >4 *P THEN GOSUB 1570: GOTO 4350
4430 G(4) = -2 *V: IF -G(4) >G THEN GOSUB 1530: GOTO 4350
4470 G(8) = V:G = G +G(4)
4500 FOR I = 1 TO 6:U(I) = 0: NEXT
4510 FOR J1 = 1 TO 6: IF V < = S(J1) THEN 4620
4511 V = V -S(J1):U(J1) = S(J1):S(J1) = 0: NEXT J1
4922 IF X1 > = 9 THEN G(5) = - INT((X1 *G)/83):G = G +G(5)
4990 PRINT "RATS INFEST THE GRAINERY": IF P <67 OR K% = -1 THEN 5190
4991 X1 = INT( FN X(4))
4992 IF X1 <P/30 THEN 5190
5060 PRINT "THE HIGH KING REQUIRES ";X1;" PEASANTS": PRINT "FOR HIS ESTATES AND MINES. WILL YOU SUPPLY THEM (YES) OR PAY ";X1 *100: PRINT "HL. OF GRAIN INSTEAD (NO) ?": GOSUB 1330: IF V$ = "N" THEN G(10) = -100 *X1:G = G +G(10): GOTO 5190
5140 P(3) = -X1:P = P +P(3)
5180 GOTO 5230
5188 GOTO 5240
5190 REM ADDITION ON MAGIC ITEMS
5193 IF P <50 OR G <2000 OR L <300 THEN PRINT "WHERE IS MERLIN WHEN I NEED HIM??":CH = RND(1) *100: IF CH >70 THEN 5195
5194 GOTO 5230
5195 HOME : GOSUB 24040: VTAB 4: PRINT "TODAY IS YOUR LUCKY DAY.....": VTAB 10: PRINT "YOU HAVE JUST DISCOVERED MERLIN THE MAGICIAN YOUR OLD FRIEND. HE SEES THE TERRIBLE SHAPE YOUR DUCHY IS IN AND HE OFFERS YOU ONE OF THESE GIFTS:"
5197 PRINT : PRINT "(1) 50 EXTRA PEASANTS (2) 200 MORE HA. OF LAND (3) 4000 MORE HL. OF GRAIN ": PRINT : PRINT "WHICH DO YOU CHOSE?": GET AN$:ANS = VAL(AN$): IF ANS = 0 OR ANS >3 THEN 5197:
5199 IF ANS = 1 THEN P = P +50
5200 IF ANS = 2 THEN S(1) = S(1) +200:L = L +200:
5202 IF ANS = 3 THEN G = G +4000
5204 GOTO 5230
5220 REM
5230 IF K% = -1 THEN PRINT "THE HIGH KING CALLS FOR PEASANT LEVIES AND HIRES MANY FOREIGN MERCENARIES":K% = -2: GOTO 6340
5240 X1 = INT(20 -1.5 *C): IF K% < >0 OR P < = 109 OR 17 *(L -400) +G < = 10600 THEN 5350
5241 PRINT "THE HIGH KING GROWS UNEASY AND MAY BE SUBSIDIZING WARS AGAINST YOU.":X1 = X1 +2:X2 = Y% +5: GOSUB 24000: GOTO 5380
5350 X2 = 0
5380 X3 = FN X(5): IF X3 >X1 THEN 6340
5381 PRINT "A NEARBY DUKE THREATENS WAR ";:X2 = INT(X2 +85 +18 + FN X(6)): GOSUB 20020
5440 X4 = INT(1.2 -U1/16):X5 = INT(P *X4) +13: PRINT "WILL YOU ATTACK FIRST ? ";: GOSUB 1330: IF V$ = "N" THEN 5590
5571 IF X2 <1 THEN U1 = U1 -2 *P(4) -3 *P(5): GOTO 6340
5590 PRINT "HOW MANY MERCENARIES WILL YOU HIRE AT 40 HL. EACH = ";: GOSUB 1430:
5640 X2 = INT(X2 *M):X5 = INT(P *X4) +7 *V +13:X6 = X2 -4 *V - INT(.25 *X5):X2 = X5 -X2:L(3) = INT(.8 *X2): IF -L(3) >.67 *L THEN PRINT "YOU HAVE BEEN OVERRUN AND HAVE LOST THE ENTIRE DUKEDOME": GOTO 4190
5720 X1 = L(3)
5730 FOR J1 = 1 TO 3:X3 = INT(X1/(4 -J1)): IF -X3 < = S(J1) THEN X5 = X3
5731 IF -X3 >S(J1) THEN X5 = -S(J1)
5790 S(J1) = S(J1) +X5:X1 = X1 -X5: NEXT J1
5820 FOR J1 = 4 TO 6: IF -X1 < = S(J1) THEN X5 = X1
5821 IF -X1 >S(J1) THEN X5 = -S(J1)
5870 S(J1) = S(J1) +X5:X1 = X1 -X5
5871 NEXT J1
5900 IF L(3) <399 THEN 6010
5910 PRINT "YOU HAVE OVERRUN THE ENEMY AND ANNEXED HIS ENTIRE DUKEDOM":G(7) = 10000:G = G +G(7):X6 = -47:X4 = .55: GOSUB 24050: IF K% >0 THEN 6130
5970 K% = 1: PRINT "THE KING FEARS FOR HIS THRONE AND MAY BE PLANNING DIRECT ACTION": GOSUB 24040: GOTO 6130
6010 IF X2 > = 0 THEN PRINT "YOU HAVE WON THE WAR":X4 = .67:G(7) = INT(20 *L(3)):G = G +G(7): GOTO 6090: REM THIS HAS BEEN CHANGED TO INCREASE FRUITS OF WAR
6720 IF -X1 >G THEN PRINT "YOU HAVE INSUFFICIENT GRAIN TO PAY THE ROYAL TAX": GOTO 3000
6740 G(10) = X1:G = G +X1
6790 U2 = INT(U2 *.85) +U1: GOSUB 24030: GOTO 2270
7000 DATA "PEASANTS AT START","STARVATIONS","KING'S LEVY", "WAR CASULTIES", "LOOTING VICTIMS","DISEASE VICTIMS","NATURAL DEATHS","BIRTHS"
7100 DATA "LAND AT START", "BOUGHT/SOLD", "FRUITS OF WAR"
7200 DATA "GRAIN AT START","USED FOR FOOD","LAND DEALS","SEEDINGS", "RAT LOSSES", "MERCENARY HIRE", "FRUITS OF WAR", "CROP YIELD", "CASTLE EXPENSE","ROYAL TAX"