Trailing-Edge
-
PDP-10 Archives
-
decuslib20-04
-
decus/20-0134/xham.fcl
There is 1 other file named xham.fcl in the archive. Click here to see a list.
ERASE,ALL
C-FOCAL v3C(245)-1 1001 22-JUN-74
01.10 X FOCAL(2,2),FOCAL(1,1),FCHR(29);D 8;X FCHR(31);D 8
01.20 S TONS=FITR(FRAN*4000),POP=FITR(FRAN*6000),YEAR=1792,POI=0
01.30 X FCHR(29);T!"O KING HAMURABI! LIVE FOREVER! HERE IS THE"!%4,YEA" B.C. ANNUAL REPORT."!"IN THE KINGDOM THERE ARE"!%5,POP," PEOPLE (ORIGINALLY"POP")"!TON" TONS OF GRAIN"!
01.40 T"HOW MANY TONS OF GRAIN WOULD YOU LIKE TO SOW THIS SEASON?"
01.90 G 2.2
02.10 S TON=FITR(TON+.5);X FCHR(29);D 8;T%4,!!YEA!!%5,POP!TON!
02.20 S TON=FITR(TON+.5);T!;X FCHR(30);D 8;A SOW;S SOW=FITR(SOW+.5)
02.21 IF(YEA-1751) 9.9;IF(TONS-SOW)3.8,3.7
02.22 I(YEA-1792) 4.1;X FCHR(31)
03.20 G 4.1
03.70 T!!!!;X FCHR(31);T"YOU WISH TO SOW EVERY BIT OF GRAIN IN THE KINGDOM!!"!"NEVERTHELESS, YOUR MAJESTY,! YOUR WISH IS MY COMMAND!"!;X FCHR(14),FCHR(42),FCHR(32);G 2.22
03.80 T!!!!;X FCHR(31);T"WITH EVERY RESPECT YOUR MAJESTY, WE HAVE ONLY"TONS" TONS OF GRAIN"!"AND WE ARE THEREFORE UNABLE TO SOW"SOW" TONS WITHOUT EXTERNAL HELP"!"WHAT IS YOUR ADVICE O KING?"!;G 2.1
04.10 S YEAR=YEAR-1
04.20 S STO=TON-SOW
04.30 S RAT=FITR(STO*FRAN(-1)*STO/POP);IF(.95-FRAN) 4.31;S RAT=0
04.31 S FLOODS=FSQT(FRAN)-.5;IF(.95-FRAN)4.32;S FLOODS=0
04.32 S DROUGHT=FSQT(FRAN)-.5;IF(.95-FRAN)4.33;S DROUGHT=0
04.33 I(RAT-STO) 4.34;S RAT=FITR(STO*3/4)
04.34 S KIL=0;I(RAT)4.4;I(POI)4.4;I(RAT-100*POI)4.35;S POI=0,RAT=RAT-100*POI,KIL=10000*POI;G 4.4
04.35 S POI=POI-RAT/100,KIL=100*RAT,RAT=0
04.40 S HARVEST=FITR(SOW*2.1*FRAN*(1-FLO)*(1-DRO))
04.60 S ENEMYDEATHS=FITR(.5+(FRAN-.9)*SOW*(1+POP*POP/10000)^.1);IF(-ENE) 4.61;S ENE=0
04.61 S EAT=FITR(POP*.1);I(EAT+RAT-STO)4.62;S EAT=FITR((STO-RAT)*.9)
04.62 CONT
04.65 S BIRTH=FITR(.5+POP*.01*(1+FRAN))
04.66 S DEATH=FITR(.5+POP*.003*(1+FRAN))
04.70 S STA=FITR(.5+POP-EAT*20);IF(-STA) 4.9;S STA=0
04.90 S TON=STO-RAT+HAR-EAT
04.91 S OVERFLOWFROMSTORAGEBINS=0;I(TON-9999)4.92;S OVE=TON-9999,TON=9999
04.92 CONTINUE
04.95 S POP=POP+BIR-DEA-ENE-STA;I(-POP)4.96;X FCHR(31);T!!!!"ALL THE PEOPLE ARE DEAD";G 9.9
04.96 C
05.01 I(YEA-1791)5.15
05.02 T BIR" BAB";D 12.3;T" BORN DURING THE YEAR "!
05.03 T DEA" DEATH";S X=DEA;D 12.01;T" OCCURRED FROM NATURAL CAUSES "!
05.04 T EAT" TON";S X=EAT;D 12.01;T" OF GRAIN W";D 12.1;T" SOLD AS FOOD "!
05.10 T HAR" TON";S X=HAR;D 12.01;T" OF GRAIN W";D 12.1;T" HARVESTED THIS YEAR "!;S REMEMBER=(DEA-1)*(EAT-1)*(BIR-1)*(HAR-1)
05.11 G 5.2
05.15 IF FABS(REM) 11.99,5.02;IF FABS((BIR-1)*(DEA-1)*(EAT-1)*(HAR-1)) 11.99,5.02;T BIR!DEA!EAT!HAR!;X FCHR(31)
05.20 I(RAT-.5)5.23;T RAT" TON";S X=RAT;D 12.01;T" OF GRAIN W";D 12.1;T" EATEN BY RATS THIS YEAR"!
05.21 I(-POI)5.23;I(FRAN-.8)5.23;T"WOULD YOU LIKE TO PURCHASE SOME RAT POISON?"!"THE PRICE IS CURRENTLY 10 TONS OF GRAIN PER BIN OF POISON. ? ";S X=FCHR(-1);A X1;X FCHR(26);D 8;X FCHR(26);D 8;I(-FABS(X-89))5.23;T"HOW MANY BINS OF POISON? ";X FCHR(30);D 8;A POI;I(10*POI-TON)5.22;S POI=FITR(TON/10)
05.22 S POI=FITR(POI+.5),TON=TON-10*POI;T POI" BIN";S X=POI;D 12.01;T" OF POISON PURCHASED. EACH BIN WILL KILL 10,000 RATS "!
05.23 X FCHR(31);D 8;I(KIL-.5)5.3;T KIL" RAT";S X=KIL;D 12.01;T" DIED FROM POISONING"!
05.30 IF(STA-.5)5.4;IF(POP) 9.1,9.1;T STA;D 12.2;T" DIED OF STARVATION"!
05.31 I(FRAN-.95)5.4;T"THE AIM OF THE GAME IS TO BUILD UP THE POPULATION!"!
05.40 CONTINUE
05.50 I(ENE-.5)5.6;T ENE" FARMER";S X=ENE;D 12.01;T" W";D 12.1;T" KILLED BY ENEMY RAIDERS"!
05.51 I(FRAN-.9)5.6;I(FRAN-.75)5.52;T"PERHAPS YOU ARE SENDING TOO MANY FARMERS TO THE FIELDS?"!;G 5.6
05.52 T"THE MORE WE SOW, YOUR MAJESTY, THE MORE THE ENEMY WILL RAID US"!
05.60 I(FLO-.005)5.7;T 100*FLO" PERCENT OF THE HARVEST WAS RUINED BY FLOODS"!
05.70 I(DRO-.005)5.8;T 100*DRO" PERCENT OF THE HARVEST WAS RUINED BY DROUGHT"!
05.80 I(OVE-.5)5.9;T OVE" TON";S X=OVE;D 12.01;T" OF WHEAT HAD TO BE THROWN IN THE SEA BECAUSE"!" WE RAN OUT OF STORAGE BINS"!
05.90 I(-TON) 2.1;T!!"ALL THE FOOD IS USED UP !!!"
08.01 X FCHR(127),FCHR(127),FCHR(127)
09.01 X FOCAL(2,2);TYPE %2
09.10 T!!"O KING! ALL THE PEOPLE HAVE DIED OF STARVATION!"!!!;QUIT
09.90 T!!!!;X FCHR(31);T"WELL DONE HAMURABI!"!;QUIT
11.02 S X=X*2^(-36);IF(-X)11.04,11.99;S X=X+1
11.04 F XC=1,6;X FCHR(32+FITR(X*64));S X=X*64-FITR(X*64)
11.99 RETURN
12.01 IF FABS(X-1) 11.99,11.99;T"S"
12.10 IF FABS(X-1) 11.99,12.11;T"ERE"
12.11 T"AS"
12.20 IF FABS(STA-1) 11.99,12.21;T" PEOPLE"
12.21 T" PERSON"
12.30 IF FABS(BIR-1) 11.99,12.31;T"IES WERE"
12.31 T"Y WAS"
TYPE "THIS PROGRAM IS INTENDED ONLY FOR VT05 TERMINAL!"!!
TYPE "TYPE 'GO' TO COMMENCE"!