10 REM******************** * * * B I O R Y T H M * * * * (C) 1983 * 20 REM* * * DIOMIDIS * * * * SPINELLIS * * * 30 REM* * * DO NOT ACCEPT A * * PIRATED COPY * * PLEASE * ******************** 40 CALL CLEAR 50 CALL COLOR(1,2,8) 60 CALL SCREEN(5) 70 CALL VCHAR(1,31,1,96) 80 FOR I=1 TO 16 90 CALL COLOR(I,2,8) 100 NEXT I 110 CALL CHAR(64,"3C4299A1A199423C") 120 PRINT " B I O R Y T H M": : : : : : : : :" @ 1983 DIOMIDIS SPINELLIS": : : : : : : : :" PRESS ANY KEY TO START" 130 CALL KEY(5,RET,ST) 140 IF ST=0 THEN 130 150 CALL SOUND(100,1000,0) 160 DIM MONTH$(12) 170 DIM MONTH(12) 180 FOR I=1 TO 12 190 READ MONTH$(I),MONTH(I) 200 NEXT I 210 TYP$(1)="PHYSICAL" 220 TYP$(2)="SENTIMENTAL" 230 TYP$(3)="INTELIGENT" 240 DATA JANUARY,31,FEBRUARY,28,MARCH,31,APRIL,30,MAY,31,JUNE,30,JULY,31,AUGUST,31,SEPTEMBER,30,OCTOBER,31 250 DATA NOVEMBER,30,DECEMBER,31 260 CALL VCHAR(1,3,32,28*24) 270 GOSUB 540 280 GOSUB 720 290 PRINT : : : : : : : :"READY TO CALCULATE" 300 GOTO 860 310 CALL VCHAR(1,3,32,24*28) 320 PRINT : : : : 330 PRINT " BIORYTHM": : : : : :"ENTER FOR": : : :" 1. PHYSICAL ": :" 2. SENTIMENTAL": :" 3. INTELIGENT" 340 PRINT : :" 4. TO CHANGE TARGET MONTH": :" 5. TO ENTER NEW BIRTHDAY": :" 6. EXIT PROGRAM": 350 CALL KEY(5,RET,ST) 360 IF ST=0 THEN 350 370 IF (RET<49)+(RET>54)THEN 350 380 CALL SOUND(100,1000,0) 390 A=RET-48 400 IF A>6 THEN 350 410 IF A=6 THEN 1380 420 IF A=4 THEN 440 430 GOTO 460 440 GOSUB 720 450 GOTO 310 460 IF A=5 THEN 480 470 GOTO 510 480 GOSUB 540 490 GOSUB 720 500 GOTO 310 510 N=23*ABS(A=1)+28*ABS(A=2)+33*ABS(A=3) 520 CALL VCHAR(1,3,32,24*28) 530 RETURN 540 INPUT "PLEASE ENTER YOUR NAME ":NAME$ 550 PRINT : : 560 INPUT "PLEASE ENTER THE YEAR YOU WERE BORN ":BY 570 RBY=BY 580 PRINT : : 590 INPUT "PLEASE ENTER THE MONTH YOU WERE BORN (1-12) ":BM 600 RBM=BM 610 PRINT : : 620 INPUT "PLEASE ENTER THE DAY YOU WERE BORN (1-31) ":BD 630 RBD=BD 640 PRINT : :NAME$;":":"BIRTHDAY :";STR$(BD);"-";MONTH$(BM);"-";STR$(BY): : :"----------------------------": : : : 650 IF BM-3>=0 THEN 690 660 BY=BY-1 670 BM=13+BM 680 GOTO 700 690 BM=BM+1 700 R=INT(365.25*BY)+INT(30.6*BM)+BD 710 RETURN 720 INPUT "PLEASE ENTER THE YEAR YOU ARE INTERESTED IN ":TY 730 RTY=TY 740 PRINT : : 750 INPUT "PLEASE ENTER THE MONTH YOU ARE INTERESTED IN (1-12) ":TM 760 RTM=TM 770 PRINT : : 780 IF TM-3>=0 THEN 820 790 TY=TY-1 800 TM=13+TM 810 GOTO 830 820 TM=TM+1 830 NT=INT(365.25*TY)+INT(30.6*TM) 840 D=(NT-R)*ABS(NT-R>0) 850 RETURN 860 GOSUB 310 870 CALL VCHAR(1,3,32,24*28) 880 PRINT : : : : : : :"CALCULATING THE ";TYP$(A): : : :"BIORYTHM OF ";NAME$:"BORN ";RBD;"-";MONTH$(RBM);"-";RBY: : : : 890 PRINT "FOR THE MONTH ";MONTH$(RTM):"OF THE YEAR ";RTY: : : : : :"AFTER THE PLOTTING" 900 PRINT "PRESS ANY KEY TO RETURN TO THE MAIN INDEX" 910 GOSUB 930 920 GOTO 860 930 CALL CHAR(158,"7808080878080808") 940 CALL COLOR(13,7,1) 950 DIM V(33) 960 DEF U=INT(SIN((((D/N-INT(D/N))*N)/N)*2*3.1415)*183/2+183/2) 970 FOR I=25 TO 32 980 V(I)=0 990 NEXT I 1000 FOR I=1 TO MONTH(RTM) 1010 D=D+1 1020 V(I+1)=U 1030 NEXT I 1040 FOR I=2 TO 16 STEP 2 1050 CALL CHAR(127+I/2,SEG$("0000000000000000",1,I-2)&"FCFCFCFCFCFCFCFC") 1060 NEXT I 1070 CALL CHAR(136,"") 1080 CALL CLEAR 1090 CALL COLOR(1,1,1) 1100 CALL COLOR(14,7,1) 1110 CALL COLOR(16,2,1) 1120 CALL COLOR(3,2,7) 1130 CALL COLOR(4,2,7) 1140 CALL COLOR(10,8,8) 1150 CALL SCREEN(4) 1160 CALL VCHAR(1,1,158,24) 1170 CALL HCHAR(1,1,109,32) 1180 FOR I=2 TO 32 1190 CALL VCHAR(24-INT(V(I)/8),I,128,INT(V(I)/8)+1) 1200 ROW=24-INT(V(I)/8) 1210 CHAR=136-8*(V(I)/8-INT(V(I)/8)) 1220 CALL VCHAR(ROW,I,CHAR) 1230 CALL HCHAR(1,I-1,ASC(SEG$("mm"&TYP$(A)&"mm"&MONTH$(RTM)&"mm"&NAME$&"mmmmmmmmmmmmmmmmmm",I-1,1))) 1240 IF ROW>22 THEN 1260 1250 CALL HCHAR(24,I,ASC(SEG$(STR$(I+9),2,1))) 1260 NEXT I 1270 CALL KEY(5,RET,ST) 1280 IF ST=0 THEN 1270 1290 CALL SOUND(100,1000,0) 1300 CALL CLEAR 1310 CALL COLOR(1,2,8) 1320 CALL SCREEN(5) 1330 CALL COLOR(3,2,8) 1340 CALL COLOR(4,2,8) 1350 CALL COLOR(10,2,8) 1360 CALL VCHAR(1,31,1,96) 1370 RETURN 1380 CALL CLEAR 1390 END