home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / SIMTEL / CPMUG / CPMUG026.ARK / BIRTHDAY.ASC < prev    next >
Text File  |  1984-04-29  |  5KB  |  152 lines

  1. 100 REM BIRTHDAY UPDATED 5-5-77 TO "MITS" BY D. NIXON 
  2. 110   DIM Z$(12),L(12),N(60),Y$(7)   
  3. 120   DIM G$(12),H$(32)  
  4. 130 FOR I=1 TO 12:READ Z$(I):NEXT
  5. 140 FOR I=1 TO 12:READ L(I):NEXT 
  6. 150 FOR I=1 TO 7:READ Y$(I): NEXT
  7. 160 FOR I=1 TO 12:READ G$(I):NEXT
  8. 170 FOR I=1 TO 32:READ H$(I):NEXT
  9. 180 DATA JANUARY,FEBRUARY,MARCH,APRIL,MAY,JUNE,JULY,AUGUST:  
  10. 190 DATA SEPTEMBER,OCTOBER,NOVEMBER,DECEMBER:
  11. 200 DATA 31,28,31,30,31,30,31,31,30,31,30,31:
  12. 210 DATA THURS,FRI,SATUR,SUN,MON,TUES,WEDNES:
  13. 220 DATA THE MOON,THE SUN,THE EARTH,THE PLANET MERCURY,VENUS,MARS:   
  14. 230 DATA JUPITER,SATURN,THE PLANET URANUS,THE PLANET NEPTUNE:
  15. 240 DATA THE PLANET PLUTO,PEANUT BUTTER: 
  16. 250 DATA JUXTAROTATION,CONTRAPOSITION,CONTRASTING PHASES,TRANSPOSITION:  
  17. 260 DATA SATISFIED,HAPPY,INTERESTING,TOLERANT:   
  18. 270 DATA OFTEN,OCCASIONALLY,SOMETIMES:   
  19. 280 DATA TEND TO BE,ARE,ARE INCLINED TO BE:  
  20. 290 DATA SHORT OF PATIENCE,UNEASY,AT ODDS:   
  21. 300 DATA OTHERS.,CLOSE FRIENDS.,YOUNGER PEOPLE.,THOSE IN AUTHORITY.: 
  22. 310 DATA ": BEWARE OF ","  AVOID "   
  23. 320 DATA APPLE PIE,BEING ALONE,DARK PLACES,STRANGERS,UNUSUAL SITUATIONS: 
  24. 330   DATA BE TAKING A TRIP YOU HAVE NOT MADE BEFORE.
  25. 340   DATA BE MEETING SOMEONE YOU WILL KNOW FOR THE REST OF YOUR LIFE.   
  26. 350   DATA MAKE SEVERAL IMPORTANT DECISIONS INVOLVING OTHERS.
  27. 360   DATA BECOME ILL IF YOU DO NOT LESSEN YOUR UNUSUAL ACTIVITIES.  
  28. 370  PRINT "TYPE IN TODAY'S DATE NUMERICALLY: MO,DAY,YEAR"; 
  29. 380  INPUT X1,Y1,Z1 
  30. 390  IF Z1>99 GOTO 410 
  31. 400  Z1=Z1+1900 
  32. 410 XF=X1:YF=Y1:ZF=Z1:GOSUB 1220:U=ND
  33. 420  PRINT "TODAY IS ";Y$(U-7*INT(U/7)+1);"DAY   (I HOPE)"  
  34. 430  PRINT  
  35. 440  PRINT "HI, I'M A MICROPROCESSOR."  
  36. 450  PRINT "TELL ME YOUR NAME"; 
  37. 460  INPUT N$   
  38. 470 I=INSTR(N$," ")-1   
  39. 480 IF I<0 THEN 580 
  40. 490 K$=LEFT$(N$,I)  
  41. 500  PRINT "ARE YOU USUALLY CALLED ";K$;
  42. 510  INPUT A$   
  43. 520 GOSUB 1140   
  44. 530  ON NA GOTO 540,560,510
  45. 540  PRINT "WHAT DO YOU LIKE TO BE CALLED"; 
  46. 550  INPUT K$   
  47. 560  PRINT "SO YOUR FULL NAME IS ";N$;", BUT YOU"   
  48. 570  PRINT "LIKE TO BE CALLED ";K$;"."  
  49. 580  PRINT "HOW OLD ARE YOU, ";K$;  
  50. 590  INPUT A
  51. 600  A=INT(A)   
  52. 610  IF INT((A-5)/95)=0  GOTO 640  
  53. 620  PRINT "COME ON, ";K$;", YOU'RE PULLING MY LEG."
  54. 630  GOTO 580  
  55. 640  PRINT "SO YOU ARE";A;"YEARS OLD."  
  56. 650  PRINT "DO YOU KNOW, OFF HAND, HOW MANY DAYS OLD YOU ARE";  
  57. 660  INPUT A$   
  58. 670 GOSUB 1140   
  59. 680  ON NA GOTO 720,690,660
  60. 690  PRINT "OK, SMARTY, HOW MANY?"  
  61. 700  PRINT "SORRY, ";K$;", YOU'LL HAVE TO BE FASTER THAN THAT!" 
  62. 710  GOTO 1600 
  63. 720  PRINT "OK, I'LL TELL YOU." 
  64. 730  PRINT "IN WHAT MONTH WERE YOU BORN";   
  65. 740  INPUT M$   
  66. 750  FOR X=1 TO 12  
  67. 760  IF M$=Z$(X) GOTO 800  
  68. 770  NEXT X 
  69. 780  PRINT K$;", YOU MAY BE NICE BUT YOU CAN'T SPELL."  
  70. 790  GOTO 730  
  71. 800  PRINT "ON WHAT DAY";   
  72. 810  INPUT Y
  73. 820  Z=Z1-A 
  74. 830  IF INT((Y-1)/L(X))=0 GOTO 870 
  75. 840  IF (X-1)*(Y-28)*(Z-4*INT(Z/4)+1)=1 GOTO 870   
  76. 850  PRINT "COME ON, ";N$;", YOU'RE GIVING ME A HARD TIME." 
  77. 860  GOTO 800  
  78. 870  REM
  79. 880 XF=X1:YF=Y1:ZF=Z:GOSUB 1220:W=ND 
  80. 890 XF=X:YF=Y:ZF=Z:GOSUB 1220:V=ND   
  81. 900 IF W=> V GOTO 920  
  82. 910  Z=Z-1  
  83. 920  IF ABS(W-V)>30 GOTO 990   
  84. 930  ON SGN(W-V)+2 GOTO 940,980,960
  85. 940  PRINT "YOU HAVE A BIRTHDAY COMING UP IN ONLY";V-W;"DAYS!"  
  86. 950 GOTO 990
  87. 960  PRINT "YOUR BIRTHDAY WAS ONLY";W-V;"DAYS AGO. CONGRATULATIONS!"
  88. 970  GOTO 990  
  89. 980  PRINT "HAPPY BIRTHDAY, DEAR ";K$;", HAPPY BIRTHDAY TO YOU."
  90. 990 XF=X:YF=Y:ZF=Z:GOSUB 1220:V=ND   
  91. 1000  PRINT "YOU WERE BORN ON ";Y$(V-7*INT(V/7)+1);"DAY, ";Z$(X);Y;",";Z 
  92. 1010  PRINT "WHICH MAKES YOU";U-V;"DAYS OLD."
  93. 1020  PRINT "YOU WERE BORN ON THE DAY";V;"AD, AND ON JAN. 1, 2000"   
  94. 1030  PRINT "YOU WILL BE";730480!-V;"DAYS OLD."   
  95. 1040  PRINT "HOW ABOUT THAT!!!"  
  96. 1050  PRINT  
  97. 1060  GOSUB 1350 
  98. 1070  PRINT "WELL, ";N$; 
  99. 1080  IF N$=K$ GOTO 1100 
  100. 1090  PRINT " (ALIAS ";K$;")"
  101. 1100  PRINT " IT HAS BEEN NICE CHATTING WITH YOU. DO COME AGAIN."
  102. 1110  PRINT "GOOD BYE"   
  103. 1120  GOTO 1600 
  104. 1130 REM SUBROUTINE FOR YES NO REQUEST   
  105. 1140 NA=1
  106. 1150 IF A$="NO" GOTO 1210
  107. 1160 IF A$="N0" GOTO 1210
  108. 1170 NA=2
  109. 1180 IF A$="YES" GOTO 1210   
  110. 1190 NA=3
  111. 1200 PRINT "A SIMPLE YES OR NO WILL DO! "
  112. 1210 RETURN  
  113. 1220 REM SUBROUTINE TO SOLVE FOR NUMBER OF DAYS  
  114. 1230 ND=YF-1 
  115. 1240  FOR I1=1 TO XF-1   
  116. 1250 ND=ND+L(I1) 
  117. 1260 NEXT I1 
  118. 1270 I1=INT(ZF/100)  
  119. 1280 IF ZF<>4*INT(ZF/4) GOTO 1330
  120. 1290 IF  ZF/100=I1 GOTO 1330 
  121. 1300 IF  ND>59 GOTO 1330 
  122. 1310 IF XF=3 GOTO 1330   
  123. 1320 ND=ND-1 
  124. 1330  ND=ND+36524!*I1+INT(365.25*(ZF-100*I1)) 
  125. 1340 RETURN  
  126. 1350 REM GENERATE RANDOM HOROSCOPE  
  127. 1360 R1=INT(12*RND(1))+1
  128. 1370 R2 = INT(12*RND(1))+1  
  129. 1380  IF R1=R2 GOTO 1370   
  130. 1390 R=1
  131. 1400 X=4:GOSUB 1570 
  132. 1410 PRINT "YOU WERE BORN UNDER THE ";H$(NR);" OF ";G$(R1)  
  133. 1420 X=4:GOSUB 1570 
  134. 1430 PRINT "AND ";G$(R2);".  YOU ARE A BASICALLY ";H$(NR)   
  135. 1440 X=3:GOSUB 1570 
  136. 1450 PRINT "PERSON BUT ";H$(NR);
  137. 1460 GOSUB 1570 
  138. 1470 PRINT " YOU ";H$(NR)   
  139. 1480 GOSUB 1570:N1=NR:X=4:GOSUB 1570:N2=NR:X=2:GOSUB 1570   
  140. 1490 PRINT H$(N1);" WITH ";H$(N2);H$(NR)
  141. 1500 X=5:GOSUB 1570 
  142. 1510 PRINT H$(NR);" FOR THE NEXT WEEK. I PREDICT YOU WILL SOON" 
  143. 1520 X=4:GOSUB 1570 
  144. 1530 PRINT H$(NR)   
  145. 1540 PRINT  
  146. 1550 RETURN 
  147. 1560 REM SUBROUTINE TO SELECT RANDOM WORDS  
  148. 1570 NR=INT(X*RND(1))+R 
  149. 1580 R=R+X  
  150. 1590 RETURN 
  151. 1600 END
  152.