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
/
OSBORNE
/
OSBN-BIO.BQS
/
OSBN_BIO.BAS
Wrap
BASIC Source File
|
2000-06-30
|
5KB
|
119 lines
10 REM * BIORHYTHM PROGRAM *
20 REM FROM INTERFACE AGE, AUGUST, 1976
30 REM EDITED & TESTED BY JIM PETERSEN ON 9/27/78
40 REM MODIFIED FOR OSBORNES BY JOE JANULES 9/14/83
50 REM %% PROGRAM COMPUTES HOW CERTAIN PERSON WILL FEEL PHYSICALLY,
60 REM EMOTIONALLY AND INTELLECTUALLY ON ANY DAY %%
70 DIM A(12),M$(12)
80 DATA 0,31,59,90,120,151,181,212,243,273,304,334
90 FOR I=1 TO 12:READ A(I):NEXT
100 PI=3.14159
110 PRINT CHR$(26):REM Screen clear character
120 PRINT:PRINT
130 PRINT "This program will print out your personal BIO-RHYTHM"
140 PRINT "analysis for any number of days you select."
150 PRINT "Dates should be entered in numerical form with the"
160 PRINT "MONTH, DAY and YEAR separated by commas. I. E."
170 PRINT "July 4, 1976 would be entered as 7,4,76."
180 PRINT
190 INPUT "How many days do you want plotted";S
200 IF S<=0 THEN 190
210 PRINT : PRINT
220 PRINT "What is the date at which you would like the";S;"day"
230 INPUT "analysis to start";M,D,Y
240 S=S-1
250 PRINT : PRINT
260 M=INT(M):D=INT(D):Y=INT(Y)
270 INPUT "What is the date of your birth";MB,DB,YB
280 MB=INT(MB):DB=INT(DB):YB=INT(YB)
290 PRINT : PRINT
300 INPUT "What is your name";A$
310 PRINT : PRINT
320 X1=14:IF PEEK(3)=3 THEN X1=2:GOTO300:REM STATUS port
330 INPUT "Do you want it on hard copy";HC$
340 PRINT : PRINT : PRINT
350 PRINT : PRINT : PRINT
360 REM IF LEFT$(HC$,1)="Y" THEN LPRINT : REM Turn on hard copy
370 IF HC$="Y" THEN POKE 57613!,63
380 IF HC$="N" OR HC$="n" THEN GOTO 390
390 DEF FNI(X)=INT(20*SIN(2*PI*X/33)+.5)
400 DEF FNE(X)=INT(20*SIN(2*PI*X/28)+.5)
410 DEF FNP(X)=INT(20*SIN(2*PI*X/23)+.5)
420 T=INT(D+365.25*Y+A(M)+.01*M-.03)
430 TB=INT(DB+365.25*YB+A(MB)+.01*MB-.03)
440 X=T-TB
450 V=INT((40-LEN(A$))/2)
460 RB=TB-1-INT((TB-1)/7)*7
470 DATA MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY
480 FOR I=0 TO 6:READ DAY$(I):NEXT
490 DATA MON,TUE,WED,THU,FRI,SAT,SUN
500 FOR I=0 TO 6:READ D$(I):NEXT
510 DATA JANUARY,FEBRUARY,MARCH,APRIL,MAY,JUNE,JULY,AUGUST
520 PRINT:PRINT
530 DATA SEPTEMBER,OCTOBER,NOVEMBER,DECEMBER
540 FOR I=1 TO 12:READ M$(I):NEXT
550 PRINT SPC(2):FOR I=1 TO V:PRINT "*";:NEXT
560 PRINT "BIO-RHYTHM ANALYSIS FOR ";A$;
570 PRINT "*";:IF POS(0)<66 THEN 570
580 PRINT:PRINT
590 R=T-1-INT((T-1)/7)*7
600 LE=21+LEN(DAY$(R))+LEN(M$(M))+LEN(STR$(D))+LEN(RIGHT$(STR$(Y),2))
610 V2=INT((64-LE)/2)
620 PRINT SPC(2):FOR I=1 TO V2:PRINT "*";:NEXT
630 PRINT "STARTING DATE: ";DAY$(R);", ";M$(M);STR$(D);", 19";
640 PRINT RIGHT$(STR$(Y),2);
650 PRINT "*";:IF POS(0)<66 THEN 650
660 PRINT:PRINT
670 LL=LEN(DAY$(RB))+LEN(M$(MB))+LEN(STR$(DB))+LEN(RIGHT$(STR$(YB),2))
680 LB=LL+18
690 VB=INT((64-LB)/2)
700 PRINT SPC(2):FOR I=1 TO VB:PRINT "*";:NEXT
710 PRINT "BIRTH DATE: ";DAY$(RB);", ";M$(MB);STR$(DB);", 19";
720 PRINT RIGHT$(STR$(YB),2);
730 PRINT "*";:IF POS(0)<66 THEN 730
740 PRINT:PRINT:PRINT
750 PRINT TAB(20);"DOWN",TAB(39);"CRITICAL",TAB(62);"UP"
760 PRINT D$(R);D;M$(M);
770 F(0)=42:F$(0)="*"
780 F(1)=42+FNI(X):F$(1)="I"
790 F(2)=42+FNE(X):F$(2)="E"
800 F(3)=42+FNP(X):F$(3)="P"
810 FOR I=0 TO 2
820 FOR J=I+1 TO 3
830 IF F(I)<F(J) THEN 880
840 IF F(I)=F(J) THEN F(I)=0:F$(I)="":F$(J)="X":GOTO 880
850 Q=F(I):Q$=F$(I)
860 F(I)=F(J):F$(I)=F$(J)
870 F(J)=Q:F$(J)=Q$
880 NEXT J:NEXT I
890 FOR I=0 TO 3
900 PRINT TAB(F(I));F$(I);
910 NEXT
920 PRINT:X=X+.5:IF INT(X)<>X THEN 770
930 IF Z=S THEN 1030
940 R=R+1:IF R=7 THEN R=0
950 D=D+1:IF M=4 OR M=6 OR M=9 OR M=11 THEN L=30:GOTO 990
960 IF M=2 AND Y/4=INT(Y/4) THEN L=29:GOTO 990
970 IF M=2 THEN L=28:GOTO 990
980 L=31
990 IF D>L THEN D=D-L:M=M+1:GOTO 1010
1000 PRINT D$(R);D;:Z=Z+1:GOTO 770
1010 IF M=13 THEN M=1:Z=Z+1:GOTO 760
1020 Z=Z+1:GOTO 760
1030 PRINT:PRINT
1040 IF X1=14 THEN POKE 57613!,56
1050 INPUT "Do you want another Biorhythm";A$
1060 IF A$="N" OR A$="n" THEN GOTO 1080
1070 IF A$="Y" OR A$="y" THEN RUN ELSE RUN "DIR"
1080 POKE 57613!,56
1090 PRINT : PRINT : PRINT
1100 PRINT : PRINT : PRINT
1110 PRINT : PRINT : PRINT
1120 PRINT : PRINT : PRINT
1130 PRINT "THANK YOU -- COME BACK AGAIN SOMETIME!"
1140 PRINT : PRINT : PRINT
1150 PRINT : PRINT : PRINT
1160 PRINT : PRINT : PRINT
1170 PRINT : PRINT : PRINT
1180 END
E!"