10 REM BIORHYTHM GRAPHING AND PREDICTION
20 MODE 1:BORDER 2
30 LOCATE 1,5:PRINT "BIRTHDATE ENTRY :"
40 GOSUB 290
50 BY=Y:BM=M:BD=D
60 CLS:LOCATE 1,5:PRINT "DATE TO INVESTIGATE ENTRY :"
70 GOSUB 290
80 GOSUB 430
90 EM=DAYS-28*INT(DAYS/28)
100 IT=DAYS-33*INT(DAYS/33)
110 PH=DAYS-23*INT(DAYS/23)
120 CLS:PEN 1:LOCATE 6,1
130 PRINT "PHYSICAL CYCLE"
140 O=PH/23*360:MU=28/23
150 C=1:GOSUB 550
160 LOCATE 6,2:PEN 2:C=2
170 PRINT "EMOTIONAL CYCLE"
180 O=EM/28*360:MU=1
190 GOSUB 550
200 LOCATE 6,3:PEN 3:C=3
210 PRINT "INTELLECTUAL CYCLE"
220 O=IT/33*360:MU=28/33
230 GOSUB 550
240 PLOT 394,10:DRAW 394,250
250 PEN 1
260 IF INKEY$<>"" THEN GOTO 260
270 IF INKEY$="" THEN GOTO 270
280 RUN
290 REM READ IN A DATE
300 LOCATE 1,11:PRINT "YEAR .....                               ":LOCATE 10,11
310 INPUT Y:IF Y<>INT(Y) THEN GOTO 300
320 LOCATE 1,16:PRINT "MONTH....                                ":LOCATE 10,16
330 INPUT M$
340 IF LEFT$(M$,1)>"0" AND LEFT$(M$,1)<="9" THEN M=VAL(M$):GOTO 390
350 RESTORE 640
360 M=0:FOR L=1 TO 12
370 READ T$:IF T$=LEFT$(M$,3) THEN M=L
380 NEXT L
390 IF M=0 OR M<>INT(M) OR M>12 THEN GOTO 320
400 LOCATE 1,21:PRINT "DAY ......                               ":LOCATE 10,21
410 INPUT D:IF D<1 OR D>31 OR D<>INT(D) THEN GOTO 400
420 RETURN
430 REM FIND THE NUMBER OF DAYS
440 DP=0:DM=0
450 DP=365.25*Y:DM=365.25*BY
460 RESTORE 680
470 FOR L=1 TO 12
480 READ T
490 IF M=L THEN DP=DP+T
500 IF BM=L THEN DM=DM+T
510 NEXT L
520 DP=DP+D:DM=DM+BD
530 DAYS=DP-DM
540 RETURN
550 REM DRAW A CYCLE
560 Y=70+60*SIN((-360*MU+O)*PI/180)
570 X=48
580 FOR TH=-360 TO 350 STEP 2.5
590 OX=X:X=TH/4.5+128:OY=Y
600 Y=70+60*SIN((TH*MU+O)*PI/180)
610 PLOT 3*OX,2*OY,C:DRAW 3*X,2*Y:NEXT TH
620 FOR L=1 TO 3000:NEXT L
630 RETURN
640 DATA JAN,FEB,MAR
650 DATA APR,MAY,JUN
660 DATA JUL,AUG,SEP
670 DATA OCT,NOV,DEC
680 DATA 0,31,59,90,120,151,181,212,243,273,304,334