(define hamurabi '( (1000 print "HAMURABI: Game of Hamurabi - Version 1.01" ) (1010 print ) (1020 print "Corona Data Systems, Inc." ) (1030 print ) (1040 print "HAMURABI - " ) (1050 print "WHERE YOU GOVERN THE ANCIENT KINGDOM OF SUMERIA." ) (1060 print "THE OBJECT IS TO FIGURE OUT HOW THE GAME WORKS!!" ) (1070 print "IF YOU WANT TO QUIT, SELL ALL YOUR LAND." ) (1080 let a1 = 100 ) (1090 let a2 = 5 ) (1100 let a3 = 0 ) (1110 let b1 = 2800 ) (1120 let b2 = 200 ) (1130 let b3 = 3 ) (1140 let b4 = 3000 ) (1150 let c1 = 1000 ) (1160 let j = 1 ) (1170 print ) (1180 print "HAMURABI, I BEG TO REPORT THAT LAST YEAR " a3 " PEOPLE" ) (1190 print "STARVED AND " a2 " PEOPLE CAME TO THE CITY." ) (1200 if (j > 0) then 1230 ) (1210 let a1 = (a1 - int ((a1 / 2))) ) (1220 print "THE PLAGUE KILLED HALF THE PEOPLE." ) (1230 print "THE POPULATION IS NOW " a1 "." ) (1240 print "WE HARVESTED " b4 " BUSHELS AT " b3 " BUSHELS PER ACRE." ) (1250 print "RATS DESTROYED " b2 " BUSHELS, LEAVING " b1 " BUSHELS" ) (1260 print "IN THE STOREHOUSES." ) (1270 print "THE CITY OWNS " c1 " ACRES OF LAND." ) (1280 let c2 = (17 + int ((6 * rnd (1)))) ) (1290 print "LAND IS WORTH " c2 " BUSHELS PER ACRE." ) (1300 print ) (1310 print "HAMURABI..." ) (1320 print ) (1330 input "HOW MANY ACRES DO YOU WISH TO BUY" i ) (1340 print ) (1350 let i = int (abs (i)) ) (1360 if (i = 0) then 1430 ) (1370 let j = (i * c2) ) (1380 if (j <= b1) then 1410 ) (1390 gosub 1850 ) (1400 goto 1330 ) (1410 let b1 = (b1 - j) ) (1420 let c1 = (c1 + i) ) (1430 input "HOW MANY ACRES DO YOU WISH TO SELL" i ) (1440 print ) (1450 let i = abs (i) ) (1460 if (i = 0) then 1530 ) (1470 if (i < c1) then 1510 ) (1480 if (i = c1) then end ) (1490 gosub 1850 ) (1500 goto 1430 ) (1510 let c1 = (c1 - i) ) (1520 let b1 = (b1 + (c2 * i)) ) (1530 input "HOW MANY BUSHELS SHALL WE DISTRIBUTE AS FOOD" i ) (1540 print ) (1550 let i = int (abs (i)) ) (1560 if (i <= b1) then 1590 ) (1570 gosub 1850 ) (1580 goto 1530 ) (1590 let b1 = (b1 - i) ) (1600 let a3 = (a1 - int ((i / 20))) ) (1610 let a2 = 0 ) (1620 if (a3 >= 0) then 1650 ) (1630 let a2 = ((-1 * a3) / 2) ) (1640 let a3 = 0 ) (1650 input "HOW MANY ACRES SHALL WE PLANT" i ) (1660 print ) (1670 let i = int (abs (i)) ) (1680 if (i > c1) then 1710 ) (1690 let j = int ((i / 2)) ) (1700 if (j <= b1) then 1730 ) (1710 gosub 1850 ) (1720 goto 1650 ) (1730 if (i > (10 * a1)) then 1710 ) (1740 let b1 = (b1 - j) ) (1750 let b3 = (int ((5 * rnd (1))) + 1) ) (1760 let b4 = (b3 * i) ) (1770 let b2 = int ((((b1 + b4) * 0.07) * rnd (1))) ) (1780 let b1 = ((b1 - b2) + b4) ) (1790 let j = int ((10 * rnd (1))) ) (1800 let a2 = int ((a2 + ((((5 - b3) * b1) / 600) + 1))) ) (1810 if (a2 <= 50) then 1830 ) (1820 let a2 = 50 ) (1830 let a1 = (a1 + (a2 - a3)) ) (1840 goto 1170 ) (1850 print "HAMURABI, THINK AGAIN - " ) (1860 print "YOU ONLY HAVE " a1 " PEOPLE, " c1 " ACRES, AND " ) (1870 print b1 " BUSHELS IN STOREHOUSES." ) (1880 return )))