10 REM ... SUMR.ECB ...Last revised 02-11-81 R.E.H. 20 PRINT "&K&J&J": REM ...REVISED: 7/74 (M. OLSON) 30 DIM A$(14),Q$(3) 35 PRINT ,"S U M R&J&J" 36 PRINT "(Simulation of being a ruler of the city of SUMER)&J" 40 PRINT "DO YOU WANT REPEATABLE RESULTS - YES OR NO"; 50 INPUT (1,0)" ---=>",A$: LET A$=A$+"N" 60 IF A$(1,1)="N" THEN 100 70 LET N=INT(RND(0)*10)+1 90 LET Y=RND(0)*ABS(N) 100 LET P=95,S=2800,H=3000,E=200,Y=3,A=1000,I=5 110 LET Q=1,Z8=20,M=17,G=21,C=1 120 LET D1=0,D2=0,P1=0 130 LET Q2=0,Q3=0,Q1=0 140 LET D=1000,Q4=0,J=0 150 GOTO 730 160 LET Y=INT(RND(0)*10) 170 IF Y<2 OR Y>5 THEN 160 180 LET H=D*Y 190 LET C=INT(10*RND(0)) 200 LET E=0 210 IF (INT(C/2)-(C/2))<0 THEN 290 220 IF S<200 THEN 280 230 LET J=INT(RND(0)*100) 240 IF J>50 THEN 230 250 IF J<20 THEN 230 260 LET E=INT((S*J)/100) 270 GOTO 290 280 LET E=S 290 LET S=(S-E)+H 300 LET I=INT(C*(20*A+S)/P/100+1) 310 LET N=RND(0) 320 IF INT(N*40)<15 THEN 310 330 IF INT(N*40)>25 THEN 310 340 LET N1=P*(INT(N*40)) 350 IF N1>19 THEN 380 360 LET N2=3 370 GOTO 390 380 LET N2=2 390 IF Q2=0 THEN 650 400 IF Q2*6N2*N1 THEN 630 440 IF Q2>=N1 THEN 590 450 LET D2=INT(RND(0)*100) 460 IF D2<90 THEN 450 470 LET D1=D2 480 GOTO 680 490 LET D2=INT(RND(0)*100) 500 IF D2<66 THEN 490 510 IF D2>90 THEN 490 520 LET D1=D2 530 GOTO 680 540 LET D2=INT(RND(0)*100) 550 IF D2<10 THEN 540 560 IF D2>25 THEN 540 570 LET D1=D2 580 GOTO 680 590 LET D2=INT(RND(0)*100) 600 IF D2>10 THEN 590 610 LET D1=D2 620 GOTO 680 630 LET D1=0 640 GOTO 720 650 LET D1=P 660 LET P=0 670 GOTO 720 680 IF D1=0 THEN 720 690 LET P1=INT((P*D1)/100) 700 LET P=P-P1 710 LET D1=P1 720 GOTO 730 730 PRINT 740 PRINT "# OF PEOPLE THAT DIED OF STARVATION ";D1 750 PRINT "# OF PEOPLE THAT CAME TO THE CITY ";I 760 LET P=P+I 770 PRINT "PRESENT POPULATION ";P 780 PRINT "# OF ACRES OF LAND OWNED BY THE CITY ";A 790 PRINT "# OF ACRES OF LAND PLANTED WITH SEED ";D 800 PRINT "YIELD (in bushels per acre) ";Y 810 PRINT "TOTAL HARVEST (in bushels) ";H 820 PRINT "# OF BUSHELS OF GRAIN DESTROYED BY RATS ";E 830 PRINT "PRESENT # OF BUSHELS OF GRAIN IN STORE ";S 840 PRINT 850 PRINT "DO YOU WISH TO CONTINUE AS RULER OF SUMER. "; 860 PRINT "(ANSWER YES OR NO.)" 870 INPUT (1,0)" ---=>",Q$: LET Q$=Q$+"Y" 880 PRINT 890 IF Q$(1,1)="Y" THEN 910 900 IF Q$(1,1)="N" THEN 1690 ELSE 870 910 LET C=INT(10*RND(0)) 920 LET Y=C+17 930 PRINT "THIS YEAR LAND MAY BE TRADED FOR";Y;" BUSHELS PER ACRE." 940 PRINT "DO YOU WISH TO BUY (1), SELL (2), OR DO NEITHER (3)?" 950 PRINT "PLEASE RESPOND WITH A 1, 2, OR 3. ---=>"; 960 INPUT (1,0)Q4 970 IF Q4>3 THEN 950 980 IF Q4<1 THEN 950 990 IF Q4=3 THEN 1310 1000 PRINT "HOW MANY ACRES? ---=>"; 1010 INPUT Q1 1020 IF Q4=1 THEN 1050 1030 IF Q4=2 THEN 1140 1040 INPUT Q1 1050 IF Q1=0 THEN 1140 1060 IF Q1>0 THEN 1090 1070 PRINT "NO NEGATIVE NUMBERS" 1080 GOTO 1000 1090 IF ((Y*Q1)-S)<=0 THEN 1220 1100 GOSUB 1670 1110 PRINT S;" bushels in store." 1120 GOTO 940 1130 LET S=S-Y*Q1 1140 LET Q3=Q1 1150 IF Q3>0 THEN 1190 1160 IF Q3=0 THEN 1250 1170 PRINT "NO NEGATIVE NUMBERS" 1180 GOTO 1000 1190 LET Q3=Q3*(-1) 1200 IF (A+Q3)<0 THEN 1280 1210 GOTO 1250 1220 LET A=A+Q1 1230 LET S=(S-(Y*Q1)) 1240 GOTO 1310 1250 LET A=A+Q3 1260 LET S=(S-(Y*Q3)) 1270 GOTO 1310 1280 GOSUB 1670 1290 PRINT A;" ACRES." 1300 GOTO 940 1310 PRINT "HOW MANY BUSHELS OF GRAIN DO YOU WISH "; 1320 PRINT "TO DISTRIBUTE AS FOOD?" 1330 INPUT " ---=>",Q2 1340 IF Q2<0 THEN 1400 1350 IF (Q2-S)<0 THEN 1470 1360 IF (Q2-S)=0 THEN 1420 1370 GOSUB 1670 1380 PRINT S;" bushels in store." 1390 GOTO 1310 1400 PRINT "NO NEGATIVE NUMBERS" 1410 GOTO 1310 1420 PRINT "YOU NOW HAVE NO GRAIN LEFT IN STORE SO YOU HAVE " 1430 PRINT "NONE LEFT TO USE AS SEED THIS YEAR." 1440 LET D=0 1450 LET S=0 1460 GOTO 160 1470 LET S=S-Q2 1480 PRINT "HOW MANY ACRES OF LAND DO YOU WISH TO PLANT WITH SEED?" 1490 INPUT " ---=>",D 1500 IF D>=0 THEN 1530 1510 PRINT "NO NEGATIVE NUMBERS" 1520 GOTO 1480 1530 IF (A-D)<0 THEN 1580 1540 IF (INT(D/2)-S-1)<0 THEN 1610 1550 GOSUB 1670 1560 PRINT S;" bushels in store." 1570 GOTO 1480 1580 GOSUB 1670 1590 PRINT A;" ACRES." 1600 GOTO 1480 1610 IF (D-10*P-1)<0 THEN 1650 1620 GOSUB 1670 1630 PRINT P;" people." 1640 GOTO 1480 1650 LET S=S-INT(D/2) 1660 GOTO 160 1670 PRINT "PLEASE THINK AGAIN. You have only "; 1680 RETURN 1690 END