home *** CD-ROM | disk | FTP | other *** search
/ The Glitch Apple Disk Collection / 2014.glitch.apple.collection.zip / indexed / TEXT_ADV.DSK / IMHOTEP.bas < prev    next >
BASIC Source File  |  2014-09-09  |  11KB  |  158 lines

  1. 20  TEXT : HOME : GR : GOSUB 1200:NN = 0
  2. 50  READ B$:P = 300000:D = 2500:S = 330:T = 0:W = 0:ER = 0:N = 0:IM$ = "IMHOTEP"
  3. 60  TEXT : HOME : GOSUB 61: GOTO 70
  4. 61  PRINT  TAB( 20)"*": PRINT  TAB( 19)"***": PRINT  TAB( 18)"*****": PRINT  TAB( 17)"*******": PRINT  TAB( 16)"*********": PRINT : PRINT : RETURN 
  5. 70  PRINT  TAB( 17)"IMHOTEP": PRINT  TAB( 13)"PYRAMID BUILDER": PRINT : PRINT 
  6. 75  PRINT "WRITTEN BY: TERRY CLARK": PRINT "TRANSLATED TO APPLE BY: M.P. ANTONOVICH": PRINT : PRINT : GOSUB 61
  7. 80  FOR I2 = 1 TO 5000: NEXT I2: HOME 
  8. 85  PRINT "++++A DECREE FROM ZOSER,": PRINT "    THE GOLDEN HORUS,": PRINT "    BULL OF KHEM.++++"
  9. 90  PRINT : PRINT "TO IMHOTEP,MASTER MASON"
  10. 100  PRINT "IMHOTEP,THE PHAROAH HAS COMMANDED A","PYRAMID TO BE BUILT.  THE HORUS DESIRES","THIS GLORY TO HIS NAME TO BE FINISHED","WITHIN A PERIOD OF TWELVE YEARS."
  11. 130  PRINT "YOUR OVERSEER IS ";B$: PRINT "HE IS TO OBEY YOUR COMMANDS.": PRINT : PRINT 
  12. 140  PRINT "HIT ANY KEY TO CONTINUE ";: GET A$
  13. 141  HOME 
  14. 142  IF T = 0  THEN 163
  15. 145  GOSUB 690
  16. 150  VTAB 21: PRINT "WORK SITE AFTER ";T;" YEARS"
  17. 161  GOSUB 162: GOTO 163
  18. 162  FOR I1 = 1 TO 3000: NEXT I1: RETURN 
  19. 163  TEXT : HOME 
  20. 164  PRINT "POPULATION OF KHEMI - "; INT(P)
  21. 165  PRINT "PHAROAH OWNS "; INT(S);" GRAIN STOREHOUSES.": PRINT "NILE FLOODED "; INT(D);" TELS OF LAND."
  22. 180  PRINT : PRINT "# OF PEOPLE YOU WISH ON WORK FORCE": INPUT W
  23. 190  IF (W >P)  OR (W <0)  THEN 780
  24. 200  PRINT : PRINT "FROM "; INT(S);" STOREHOUSES OWNED BY RA,"
  25. 210  INPUT "HOW MANY WILL FEED WORKERS ";I
  26. 220  IF (I >S)  OR (I <0)  THEN 810
  27. 230 P = P -W:S = S -I
  28. 250  PRINT : PRINT "FROM "; INT(S);" REMAINING STOREHOUSES,"
  29. 260  PRINT "HOW MANY WILL FEED "; INT(P): INPUT "  REMAINING PEOPLE ";J
  30. 270  IF (J >S)  OR (J <0)  THEN 820
  31. 280 S = S -J
  32. 290  PRINT : PRINT "FROM "; INT(D);" TELS, HOW MANY DO YOU"
  33. 300  INPUT "WISH TO PLANT ";B
  34. 320  IF B >D  OR B <0  THEN 840
  35. 330  IF B >S *100  THEN 870
  36. 340  IF B >P *10  THEN 880
  37. 350  TEXT : HOME :H = 0: GOSUB 61
  38. 360 M = I *1000: IF M -W >0  THEN M = W
  39. 370 L = J *1000:R = L -P: IF R <0  THEN R = 0
  40. 380 R = R + INT( RND(1) *1000)
  41. 385  IF P -L >0  THEN  PRINT "YOU HAVE STARVED ";P -L;" PEOPLE.":ER = ER +1
  42. 386  IF L -P >0  THEN L = P
  43. 390  IF P -L >P *.45  THEN 900
  44. 400 U =  INT( RND(1) *40): IF U <4  THEN 1050
  45. 401  IF (M -W) <0  THEN  PRINT " YOU HAVE STARVED ";W -M;" WORKERS.":ER = ER +2: GOTO 1050
  46. 410 Z =  INT( RND(1) *50): IF (Z <9)  AND (N >4)  THEN 1130
  47. 420 K =  RND(1) *3.5:S = S -(B/100)
  48. 430  IF N >T *2  THEN ER = ER -1
  49. 440  IF ER > = 0  THEN O =  INT(((S *( RND(1)) +(ER *4))/2)): IF O <2  THEN S = S -0
  50. 450  IF ER <0  THEN O =  INT(S *( RND(1))/10):S = S +0
  51. 460  IF S <0  THEN S = 0
  52. 470 S = S +((B *K)/10):T = T +1
  53. 480 D =  INT( RND(1) *4000 +(O *.5)):Q =  RND(1) *30: IF Q >22  THEN 950
  54. 481  IF (Q >12)  AND (Q <18)  THEN 1010
  55. 482  IF Q <8  THEN 920
  56. 490 WA =  RND(1) *300: IF WA <19  THEN  GOSUB 940
  57. 491  IF WA >282  THEN  GOSUB 1040
  58. 492  IF (WA <210)  AND (WA >165)  THEN  GOSUB 960
  59. 493  IF (A >75)  AND (WA <130)  THEN  GOSUB 1020
  60. 494  IF (WA >255)  AND (WA <260)  THEN  GOSUB 1030
  61. 510  PRINT "THE HARVEST THIS YEAR WAS ";K/10: PRINT "STOREHOUSES PER TEL."
  62. 520  IF ER > = 0  THEN 530
  63. 521  IF (ER <0)  AND (O >1)  THEN  PRINT "THE PRIESTS OF AMEN GAVE ZOSER,";O: PRINT "   STOREHOUSES OF GRAIN.":H = H +1: GOTO 540
  64. 530  IF O <2  THEN  GOTO 540
  65. 531  IF ER > = 0  THEN  PRINT O;"  STOREHOUSES OF GRAIN WERE CLAIMED": PRINT "   BY THE PRIESTS OF AMEN.":H = H +1
  66. 540  PRINT "THE POPULATION INCREASED BY ";R: PRINT "   PEOPLE."
  67. 550 P = R +L +M -U1 -V1
  68. 551 U1 = 0:V1 = 0
  69. 560 N =  INT(N +(W -(W -M))/90000)
  70. 570  IF N >20  THEN N = 20
  71. 580  IF (N <21)  AND (N >0)  THEN  PRINT "THE WORK FORCE HAS COMPLETED ";N: PRINT "COURSES OF THE PYRAMID."
  72. 590  IF (N <21)  AND (D <1000)  AND (H <10)  THEN  PRINT "THE VIZIERS PREDICT A POOR FLOOD NEXT ","YEAR.":H = H +2
  73. 591  IF (N <21)  AND (D >3700)  AND (H <10)  THEN  PRINT "THE MELTING SNOW OF ETHIOP WELLS THE","NILE THIS SPRING.":H = H +2
  74. 600  IF (N <10)  AND (T >6)  OR (ER >3)  AND (N <20)  THEN  PRINT "PHAROAH IS BOTHERED BY YOUR INEFFICIENCY":H = H +2
  75. 610  IF ER >7  THEN  PRINT "HE HAS DECREED, THAT FOR YOUR MISTAKES,","YOU WILL BE EXILED TO THE RED LAND OF","THE EAST.": GOTO 660
  76. 620  IF H <2  THEN  PRINT IM$;",": PRINT "AN UNEVENTFUL YEAR."
  77. 621  IF (H >8)  AND (H <14)  THEN  PRINT IM$;",": PRINT "A VERY EVENTFUL YEAR."
  78. 624  PRINT "HIT ANY KEY TO CONTINUE ";: GET A$
  79. 625  IF T = 6  THEN  GOSUB 1330
  80. 630  GOSUB 690
  81. 640  IF T > = 13  THEN 890
  82. 650 S =  INT(S *10 +5)/10:D =  INT(D *10 +.5)/10:P =  INT(P *10 +.5)/10: GOTO 150
  83. 660  PRINT "IMHOTEP WILL YOU TRY AGAIN? (Y/N) ";: GET V$
  84. 661  IF V$ = "Y"  THEN  RUN 
  85. 662  IF V$ = "N"  THEN  TEXT : HOME : END 
  86. 670  GOTO 660
  87. 690  HOME : GR : GOSUB 1200: COLOR= 13:E = 0:F = 39:Y = 39
  88. 691  IF N = 0  THEN  RETURN 
  89. 692  IF NN >0  THEN  FOR G = 1 TO NN: HLIN E,F AT Y:E = E +1:F = F -1:Y = Y -1: NEXT G
  90. 693  FOR G = NN +1 TO N: FOR EE = E TO F
  91. 694  PLOT EE,Y:SD =  PEEK( -16336) + PEEK( -16336): FOR PA = 1 TO 10: NEXT PA: NEXT EE
  92. 695 E = E +1:F = F -1:Y = Y -1: NEXT G
  93. 696 NN = N
  94. 750  IF N = 20  THEN 970
  95. 760  RETURN 
  96. 780  PRINT IM$;",": PRINT "ZOSER HEARD YOUR FOOLISHNESS.": PRINT "HE HAS EXILED ";B$;".":ER = ER +1
  97. 790  ONERR  GOTO 1190
  98. 800  READ B$: PRINT B$;" HAS BEEN ASSIGNED AS OVERSEER.": PRINT "NOW...": GOTO 180
  99. 810  PRINT IM$;",": PRINT "DO NOT JEST,": PRINT "THE HAWK'S EARS ARE SHARP.":ER = ER +1: GOTO 200
  100. 820  PRINT IM$;",": PRINT "I, ";B$;", WARN YOU NOT":ER = ER +1
  101. 830  PRINT "TO MOCK PHAROAH ZOSER, HIS FLAIL IS","SWIFT.": GOTO 250
  102. 840  PRINT IM$;",": PRINT "PHAROAH HAS KILLED ";B$: PRINT "YOUR OVERSEER.":ER = ER +1
  103. 850  ONERR  GOTO 1190
  104. 860  READ B$: PRINT "I AM ";B$;" YOUR NEW OVERSEER.": PRINT " NOW....": GOTO 290
  105. 870  PRINT "THERE IS ONLY ENOUGH GRAIN TO PLANT ";S *100 -1: PRINT " TELS.":ER = ER +1: IF S *100 -1 <0  THEN 901
  106. 871  GOTO 290
  107. 880  PRINT "THERE ARE ONLY ENOUGH PEOPLE TO PLANT ": PRINT P *10;" TELS.":ER = ER +1: GOTO 290
  108. 890  PRINT "YOU HAVE RUN OUT OF TIME, ZOSER WANTS","YOUR HEAD.": GOTO 660
  109. 900  REM  YOU KILLED TOO MANY PEOPLE
  110. 901  PRINT "ZOSER WANTS YOU MUMIFIED ALIVE IN THE ","HOUSE OF THE DEAD.": GOTO 660
  111. 920 Q =  RND(1) *(P/2) *5:Q =  INT(Q +.5): PRINT "A PESTILENCE DESCENDED FROM AMEN-RE.":H = H +1
  112. 930  PRINT Q;" PEOPLE DIED.":V1 = Q: GOTO 510
  113. 940 Q =  INT( RND(1) *P): PRINT "HYKSOS WITH CHARIOTS AND BLADES OF","BLACK EVIL METAL HAVE ATTACKED KHEM,",Q;" PEOPLE HAVE BEEN KILLED.":V1 = Q:H = H +3: RETURN 
  114. 950 V =  INT( RND(1) *50): PRINT "NUBIAN EMISSARIES HAVE BROUGHT TRIBUTE","OF "V" STOREHOURSES OF GRAIN.":S = S +V:H = H +2: GOTO 510
  115. 960 Q =  INT( RND(1) *P): PRINT "ACHEAN BARBARIANS FROM THE NORTHERN SEA","HAVE RAIDED THE DELTA  ";Q: PRINT "PEOPLE HAVE BEEN KILLED.":V1 = Q:H = H +3: RETURN 
  116. 970 I2 = 2000
  117. 980  PRINT "IMHOTEP, YOU FULFILLED THE WISH": FOR I1 = 1 TO I2: NEXT I1
  118. 981  PRINT "OF PHAROAH.  YOUR REWARD IS THE GREAT": FOR I1 = 1 TO I2: NEXT I1
  119. 982  PRINT "HONOR OF BEING ENTOMBED WITH YOUR LORD": FOR I1 = 1 TO I2: NEXT I1
  120. 983  PRINT "AND MASTER, ZOSER, THE GOLDEN HORUS.": FOR I1 = 1 TO I2: NEXT I1: GOTO 660
  121. 1010 V =  INT( RND(1) *50): PRINT "A MILITARY CAMPAIGN LED BY ZOSER HAS","BROUGHT AN ADDITIONAL ";V;" TELS": PRINT "OF LAND INTO THE DOUBLE-KINGDOM.":D = D +V:H = H +3: GOTO 510
  122. 1020 V =  INT( RND(1) *50 +20): PRINT "MINOAN MERCHANTS HAVE BROUGHT ";V: PRINT "STOREHOUSES OF GRAIN TO TRADE FOR": PRINT "METHODS OF BUILDING AS PRACTICED IN","KHEMI.":S = S +V:H = H +4: RETURN 
  123. 1030 V =  INT( RND(1) *100): PRINT "HTE PHAROAH'S NEW SYRIAN BRIDE BROUGHT","A WEDDING PRESENT OF ";V;" STOREHOUSES","OF GRAIN.":S = S +V:H = H +3: RETURN 
  124. 1040 V =  INT( RND(1) *W):V1 = V:W = W -V: PRINT "A FANATICAL REBEL-PRIEST HAS ESCAPTED","WITH ";V;" WORKERS INTO THE": PRINT "WILDERNESS OF THE SINAI.":H = H +3: RETURN 
  125. 1050  IF W = O  THEN  RETURN 
  126. 1060 U =  INT( RND(1) *100): PRINT "THE WORK FORCE HAS REBELLED. ";U
  127. 1070  PRINT "WORKERS, AND ";B$;",THE OVERSEER,": PRINT "WERE KILLED BY"
  128. 1080  PRINT "PHAROAH'S VICTORIOUS ANUBIS SQUARDRON."
  129. 1090 U1 = U:W = W -U
  130. 1110  READ B$: PRINT "THE GREAT ZOSER HAS CHOSEN ";B$: PRINT "TO BE YOUR NEW OVERSEER.":H = H +6: GOTO 420
  131. 1130 Z =  INT( RND(1) *2 +2):N = N -Z:W = W - INT(W *.25):M = W +P: IF NN >N  THEN NN = N
  132. 1140  PRINT Z;" COURSES OF THE PYRAMID HAVE": PRINT "COLLAPSED AND ONE-FOURTH OF THE WORK","FORCE WAS LOST.":H = H +3: GOTO 420
  133. 1160 N = 20: GOTO 690
  134. 1180  DATA  "MENE-PTAH","RA-ANX-TETA","ATUM-ATON","SETEP-EN-RE","RAMOSE","MERI-ATUM","KA-RES","MAATTUM","MERI-TEHU"
  135. 1181  DATA  "TOTHMES","RE-MES-SES","PTAHMES","MERIPASHTU"
  136. 1200  COLOR= 9: HLIN 4,8 AT 1: HLIN 8,12 AT 2: PLOT 12,3: HLIN 7,8 AT 3
  137. 1202  VLIN 2,9 AT 6: VLIN 5,9 AT 7: VLIN 2,9 AT 5: VLIN 2,9 AT 4: VLIN 2,9 AT 3: VLIN 3,9 AT 2: PLOT 1,4
  138. 1203  HLIN 8,12 AT 9: HLIN 4,5 AT 19: HLIN 4,5 AT 20: HLIN 15,16 AT 20: HLIN 14,15 AT 19: HLIN 3,8 AT 21: HLIN 14,19 AT 21
  139. 1204  COLOR= 1: HLIN 13,15 AT 5: PLOT 15,6: VLIN 5,21 AT 13: VLIN 11,15 AT 2: VLIN 11,15 AT 39
  140. 1205  FOR ZP = 1 TO 6: PLOT 5 +ZP,9 +ZP: PLOT 3 +ZP,9 +ZP: NEXT ZP: PLOT 8,10
  141. 1206  FOR YP = 1 TO 3: FOR ZP = 1 TO YP *2 -1: PLOT 2 +ZP,16 +ZP -YP *2: NEXT ZP,YP
  142. 1207  COLOR= 3: HLIN 3,6 AT 16: HLIN 3,5 AT 17: HLIN 3,5 AT 18: HLIN 8,13 AT 16: HLIN 10,13 AT 17: HLIN 11,14 AT 18
  143. 1210  HLIN 28,31 AT 16: HLIN 27,30 AT 17: HLIN 27,29 AT 18: HLIN 35,38 AT 16: HLIN 35,38 AT 17: HLIN 35,37 AT 18
  144. 1211  COLOR= 9: HLIN 33,37 AT 1: HLIN 33,38 AT 2: HLIN 33,34 AT 3: HLIN 36,39 AT 3: HLIN 36,39 AT 4: HLIN 23,26 AT 21: HLIN 33,38 AT 21
  145. 1212  VLIN 5,9 AT 38: VLIN 5,9 AT 33: VLIN 4,8 AT 34: VLIN 6,8 AT 35: VLIN 7,9 AT 36: HLIN 27,33 AT 9: PLOT 32,8
  146. 1213  HLIN 27,30 AT 5: HLIN 30,31 AT 6: HLIN 31,32 AT 6: HLIN 26,28 AT 19: HLIN 25,26 AT 20: HLIN 36,37 AT 19: HLIN 36,37 AT 20
  147. 1214  COLOR= 1: FOR XP = 1 TO 6: PLOT 35 -XP,9 +XP: PLOT 37 -XP,9 +XP: PLOT 39 -XP,9 +XP: NEXT XP
  148. 1215  FOR XP = 1 TO 4: PLOT 39 -XP,11 +XP: NEXT XP: PLOT 38,14: PLOT 37,15
  149. 1220  VTAB 21: PRINT  TAB( 16)"IMHOTEP"
  150. 1225  IF TZ = 1  THEN  RETURN 
  151. 1230  FOR ZZ = 0 TO 5000: NEXT ZZ:TZ = 1: RETURN 
  152. 1330  TEXT : HOME : GOSUB 61: PRINT  TAB( 16)"JUBILEE": PRINT "IT IS TIME FOR PHAROAH'S JUBILEE.","YOU HAVE USED HALF OF YOUR TIME."
  153. 1340  IF (N = 20)  OR ((N >10)  AND (P >300000)  AND (S *1000 >P)  AND (ER <2))  THEN  PRINT IM$: PRINT "PHAROAH IS PLEASED WITH YOUR": PRINT "PERFORMANCE SO FAR AND BESTOWS A GREAT","HONOR ON YOU. FROM THIS MOMENT YOU ARE","KNOWN AS 'GREAT LORD IMHOTEP'."
  154. 1345  IF (N = 20)  OR ((N >10)  AND (P >300000)  AND (S *1000 >P)  AND (ER <2))  THEN ER =  -1:IM$ = "GREAT LORD IMHOTEP": GOTO 1370
  155. 1350  IF (N <7)  AND (ER >3)  AND (P <300000)  AND (S *1000 < = P +50)  THEN  PRINT IM$: PRINT "PHAROAH IS DISPLEASED WITH YOU AND","DESIRES FOR YOU TO SUFFER THE DISHONOR","OF BEARING THE TITLE 'IMHOTEP THE","INCOMPETENT'."
  156. 1355  IF (N <7)  AND (ER >3)  AND (P <300000)  AND (S *100 < = P +50)  THEN ER = ER +1:IM$ = "IMHOTEP THE INCOMPETENT": GOTO 1370
  157. 1360  PRINT IM$: PRINT "PHAROAH FEELS YOU HAVE NOT PUT FORTH A","GOOD EFFORT AND DESIRES TO REMIND YOU","OF YOUR RESPONSIBILITIES WITH THE","TITLE 'IMHOTEP-HORUS-WATCHES'.":IM$ = "IMHOTEP-HORUS-WATCHES"
  158. 1370  PRINT "HIT ANY KEY TO CONTINUE ";: GET A$: RETURN