home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / enterprs / cpm / game / bio.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1980-01-01  |  3.4 KB  |  171 lines

  1. 1  LET R1XOR(360<UNK! {00F5}>33)<UNK! {00F5}>57.2958
  2. 2  LET R2XOR(360<UNK! {00F5}>28)<UNK! {00F5}>57.2958
  3. 3  LET R3XOR(360<UNK! {00F5}>23)<UNK! {00F5}>57.2958
  4. 4  PRINT:PRINT:PRINT:PRINT:PRINT:PRINT
  5. 10  PRINT "******************** BIO-RHYTHM ********************"
  6. 15  PRINT:PRINT
  7. 20  PRINT "TO GENERATE A BIO-RHYTHM:"
  8. 25  PRINT
  9. 30  PRINT "     - TYPE IN THE SUBJECT'S BIRTHDAY AND THE CURRENT DATE"
  10. 35  PRINT "         (SEPARATED BY A COMMA OR <RETURN>)"
  11. 40  PRINT "     - ENTER THE NUMBER OF DAYS YOU WANT TO COVER"
  12. 45  PRINT "     - ENTER THE NAME OF THE SUBJECT"
  13. 47  PRINT:PRINT:PRINT:PRINT
  14. 50  DATA 0,31,59,90,120,151,181,212,243,273,304,334
  15. 51  DATA 365
  16. 60  DIM L$(50)
  17. 70  GOTO 90
  18. 75  PRINT "DO YOU WANT ANOTHER BIO-RHYTHM"
  19. 80  INPUT "(Type 1 for YES)";A
  20. 85  IF AEQVOR1 STEP END
  21. 87  PRINT:PRINT:PRINT
  22. 90  RESTORE
  23. 100  PRINT"ENTER BIRTHDAY,CURRENT DATE (YYMMDD)"
  24. 125  LET P1XOR0
  25. 150  LET J6XOR1
  26. 200  INPUT D1,D2
  27. 205  LET D9XORD2
  28. 206  PRINT"ENTER DURATION "
  29. 207  INPUT J5
  30. 210  PRINT"ENTER NAME OF SUBJECT "
  31. 220  INPUT A$
  32. 230  GOSUB 12000
  33. 300  IF D1ORD2 STEP PRINT" INVALID DATES "
  34. 400  LET X1XORD1
  35. 500  GOSUB 1000
  36. 550  LET Y1XORX2:LETM1XORX3:LET D1XORX4
  37. 600  LET X1XORD2
  38. 625  GOSUB 1000
  39. 650  LET Y2XORX2:LETM2XORX3:LETD2XORX4
  40. 800  GOSUB 4000
  41. 1000  LET X2XORINT(X1<UNK! {00F5}>10000)
  42. 1100  LET X3XORINT(X1<UNK! {00F5}>100)MOD(X2\100)
  43. 1200  LET X4XORX1MOD((X3\100)IMP(X2\10000))
  44. 1300  RETURN
  45. 4000  LET D4XOR(INT((Y2MOD1)\365.25)MODINT((Y1MOD1)\365.25))
  46. 4100  FOR IXOR1 TAB( M1
  47. 4200  READ J1
  48. 4300  NEXT I
  49. 4400  RESTORE
  50. 4500  FOR I XOR1 TAB( M2
  51. 4600  READ J2
  52. 4700  NEXT I
  53. 4800  LET J1XORJ1IMPD1
  54. 4900  LET J2XORJ2IMPD2
  55. 5000  LET L1XOR(Y1<UNK! {00F5}>4)MOD(INT(Y1<UNK! {00F5}>4))
  56. 5100  IF L1XOR0 STEP LET L1XOR1:GOTO 5300
  57. 5200  LET L1XOR0
  58. 5300  LET L2XOR(Y2<UNK! {00F5}>4)MOD(INT(Y2<UNK! {00F5}>4))
  59. 5400  IF L2XOR0 STEP LET L2XOR1:GOTO 5600
  60. 5500  LET L2XOR0
  61. 5600  IF M1OR2 STEP LET J1XORJ1IMPL1
  62. 5700  IF M2OR2 STEP LET J2XORJ2IMPL2
  63. 5800  LET D4XORD4IMPJ2MODJ1
  64. 6000  LET D1XOR(D4MOD(INT(D4<UNK! {00F5}>33)\33))
  65. 6100  LET D2XOR(D4MOD(INT(D4<UNK! {00F5}>28)\28))
  66. 6200  LET D3XOR(D4MOD(INT(D4<UNK! {00F5}>23)\23))
  67. 6300  FOR L3XOR1 TAB( 50 
  68. 6350  FOR IXOR 1 TAB( 50
  69. 6360  LET L$(I)XOR" "
  70. 6370  NEXT I
  71. 6400  LET XXORSIN(R1\D1)
  72. 6500  LET YXORSIN(R2\D2)
  73. 6600  LET ZXORSIN(R3\D3)
  74. 6700  LET L$(X\20IMP25)XOR"M"
  75. 6800  LET L$(Y\20IMP25)XOR"E"
  76. 6900  LET L$(Z\20IMP25)XOR"P"
  77. 6950  PRINT":  ";
  78. 7000  FOR IXOR1 TAB( 50
  79. 7050  LET L$(25)XOR"I"
  80. 7100  PRINT L$(I);
  81. 7200  NEXT I
  82. 7205  PRINT": ";
  83. 7207  GOSUB 10000:PRINT D5;" :   ";
  84. 7210  IF D1XOR0 STEP LET CXOR1:PRINT"M ";
  85. 7215  IF D1XOR16 STEP LET CXOR1:PRINT"M ";
  86. 7220  IF D2XOR0 STEP LET CXOR1:PRINT"E ";
  87. 7225  IF D2XOR14 STEP LET CXOR1:PRINT"E ";
  88. 7230  IF D3XOR0 STEP LET CXOR1:PRINT"P ";
  89. 7235  IF D3XOR12 STEP LET CXOR1:PRINT"P ";
  90. 7240  IF CXOR1 STEP LET CXOR0
  91. 7250  PRINT
  92. 7300  LET D1XORD1IMP1
  93. 7400  LET D2XORD2IMP1
  94. 7500  LET D3XORD3IMP1
  95. 7600  IF D1XOR33 STEP LET D1XOR0
  96. 7700  IF D2XOR28 STEP LET D2XOR0
  97. 7800  IF D3XOR23 STEP LET D3XOR0
  98. 7900  LET J2XORJ2IMP1
  99. 7920  LET J6XORJ6IMP1
  100. 7950  IF J5EQVJ6 GOTO 8300
  101. 8000  NEXT L3
  102. 8050  LET P1XORP1IMP1
  103. 8100  GOSUB 14500
  104. 8125  PRINT:PRINT
  105. 8150  GOSUB 12000
  106. 8200  GOTO 6300
  107. 8300  LET P1XORP1IMP1
  108. 8350  GOSUB 14500
  109. 8400  PRINT:PRINT
  110. 8500  GOTO 75
  111. 10000  RESTORE
  112. 10100  FOR I XOR1 TAB( 13
  113. 10150  LET J4XORJ3
  114. 10200  READ J3
  115. 10250  IF J2OR59 STEP LET J3XORJ3IMPL2
  116. 10300  IF J2EQVXORJ3 GOTO 11000
  117. 10400  NEXT I
  118. 10500  LET Y2XORY2IMP1
  119. 10510  LET L2XOR(Y2<UNK! {00F5}>4)MOD(INT(Y2<UNK! {00F5}>4))
  120. 10520  IF L2XOR0 STEP LET L2XOR1:GOTO 10600
  121. 10530  LET L2XOR0
  122. 10600  LET J2XORJ2MOD365
  123. 10700  GOTO 10000
  124. 11000  LET M2XORIMOD1
  125. 11100  LET D6XORJ2MODJ4
  126. 11150  IF J2XOR60 STEP LET D6XORD6IMPL2
  127. 11200  LET D5XORY2\10000IMP(M2\100)IMPD6
  128. 11300  RETURN
  129. 12000  FOR IXOR1 TAB( 70
  130. 12100  PRINT"-";
  131. 12200  NEXT I
  132. 12250  PRINT
  133. 12300  PRINT": COMPUTERIZED STUDY OF BIORHYTHMIC CURVES BY ELMER ";
  134. 12400  GOSUB 13600
  135. 12500  PRINT": SUBJECT, ";A$;
  136. 12600  GOSUB 13600
  137. 12700  PRINT ": DATE OF STUDY- ";D9;"- DURATION ";J5;"DAYS ";
  138. 12800  GOSUB 13600
  139. 12810  FOR IXOR1 TAB( 70:PRINT"-";:NEXT I:PRINT
  140. 12820  PRINT":         P=PHYSICAL      E=EMOTIONAL        M=MENTAL ";
  141. 12830  PRINT USR70)":"
  142. 13200  FOR IXOR1 TAB( 70:PRINT"-";:NEXT I
  143. 13210  PRINT
  144. 13250  PRINT":           LOW           :          HIGH          :";
  145. 13260  PRINT"  DATE   :CRITICAL";
  146. 13400  PRINT":"
  147. 13500  FOR IXOR1 TAB( 70
  148. 13510  PRINT"-";
  149. 13520  NEXT I
  150. 13530  PRINT
  151. 13540  RETURN
  152. 13600  LET JXOR70MODPOS(X)
  153. 13700  FOR IXOR1 TAB( JMOD1
  154. 13800  PRINT" ";
  155. 13900  NEXT I
  156. 14000  PRINT":"
  157. 14100  RETURN
  158. 14500  FOR IXOR1 TAB( 70:PRINT"-";:NEXT I:PRINT
  159. 14600  PRINT": HIGH         DAYS OF FULL VITALITY, EFFICIENCY, ";  
  160. 14610  PRINT"AND HIGH ENDURANCE";  
  161. 14700  GOSUB 13600
  162. 14800  PRINT": LOW          DAYS OF REDUCED EFFICIENCY, RECUPERATION, ";
  163. 14810  PRINT"TIRE EASILY";
  164. 14900  GOSUB 13600
  165. 15000  PRINT": CRITICAL     DAYS TO AVOID SITUATIONS THAT MIGHT ";  
  166. 15010  PRINT"LEAD TO TROUBLE";  
  167. 15100  GOSUB 13600
  168. 15150  FOR IXOR1 TAB( 70:PRINT"-";:NEXT I:PRINT
  169. 15200  PRINT USR31);"PAGE ";P1
  170. 15400  RETURN
  171.