The program calculates the cycles from day of birth, and displays a graph of the curves for a period of about one month from the chosen date.
5 REM**BIORHYTHMS**BBC VERSION BY I.THOM AS FROM ORIGINAL @ERSKINE 10 MODE7:GOSUB590 20 TTAL=0:TTAL2=0:PRINT'CHR$141;CHR$&82;CH R$157;CHR$&84" Biorhythms. "CHR$156'CHR$141;CHR$&82;CHR$157;CHR$&84" Biorhythms. "CHR$156 30 PRINT'" Birth Year:"''" Birth Month :"''" Birth Day:" 40 PRINT'''" Year Required:"''" Month Required:"''" Day Required:" 50 PRINTTAB(0,4)CHR$136:INPUTTAB(14,4)Y:PR INTTAB(0,4)" " 60 PRINTTAB(0,6)CHR$136:INPUTTAB(15,6)M:PR INTTAB(0,6)" " 70 PRINTTAB(0,8)CHR$136:INPUTTAB(13,8)D:PR INTTAB(0,8)" " 80 PRINTTAB(0,12)CHR$136:INPUTTAB(17,12)Y1 :PRINTTAB(0,12)" " 90 PRINTTAB(0,14)CHR$136:INPUTTAB(18,14)M1 :PRINTTAB(0,14)" " 100 PRINTTAB(0,16)CHR$136:INPUTTAB(16,16)D1 :PRINTTAB(0,16)" " 110 TTAL=(Y-1)*365.25 120 TTAL2=(Y1-1)*365.25 130 IFM>1 TTAL=TTAL+M(M-1) 140 IFM1>1 TTAL2=TTAL2+M(M1-1) 150 IFM-1>1 AND Y/4=Y DIV4 TTAL=TTAL+1 160 IFM-1>1 AND Y1/4=Y1 DIV4 TTAL2=TTAL2+1 170 TTAL=TTAL+D:TTAL2=TTAL2+D1 180 DAY=TTAL2-TTAL 190 IFM1=M AND D1=D GOSUB520 200 MODE5:VDU29,0;512; 210 GOSUB420 220 P=DAY-(23*(DAY DIV23)) 230 E=DAY-(28*(DAY DIV28)) 240 I=DAY-(33*(DAY DIV33)) 250 COLOUR1:GCOL1,1:PRINTTAB(0,29)"Physical cycle." 260 MOVE0,400*SIN(P*C/(11.5*PI)) 270 FORN=P*C TO(P*C)+1280 STEP4 280 DRAWN-(P*C),400*SIN(N/(57.5*PI)) 290 NEXTN 300 COLOUR2:GCOL1,2:PRINTTAB(0,30)"Emotioan l cycle." 310 MOVE0,400*SIN(E*C/(14*PI)) 320 FORN=E*C TO (E*C)+1280 STEP4 330 DRAWN-(E*C),400*SIN(N/(70*PI)) 340 NEXT 350 COLOUR3:GCOL0,3:PRINTTAB(0,31)"Intellec tual cyle."; 360 MOVE0,400*SIN(I*C/(16.5*PI)) 370 FORN=I*C TO (I*C)+1280 STEP4 380 DRAWN-(I*C),400*SIN(N/(82.5*PI)) 390 NEXT 400 PRINTTAB(0,0)"Biorhythm for " 410 REPEATUNTILGET=32:RUN 420 REM 430 C=49.3478261 440 COLOUR2:PRINTTAB(0,0)"Division=Days" 450 FORX=1TO25 460 MOVEC*X,-16:DRAWC*X,16 470 NEXT 480 MOVE0,-400:DRAW0,400 490 PRINTTAB(0,1);D1"/";M1"/";Y1"+" 500 MOVE0,0:DRAW1280,0 510 RETURN 520 RESTORE540:FORI=0TO24:READA,B:SOUND1,-1 5,A,B 530 SOUND1,0,0,2:NEXT 540 DATA101,3,101,3,109,5,101,6,121,6,117,1 0 550 DATA101,3,101,3,109,5,101,6,129,6,121,1 0 560 DATA101,3,101,3,137,5,121,6,117,6,117,6 ,109,10 570 DATA141,4,141,4,137,5,121,5,129,7,121,1 2 580 RETURN 590 RESTORE630:DIMM(11) 600 FORX=1TO11 610 READ M(X) 620 NEXTX 630 DATA31,59,90,120,151,181,212,243,273,30 4,334 640 RETURN