home *** CD-ROM | disk | FTP | other *** search
Text File | 1991-06-10 | 43.1 KB | 1,394 lines |
- '************************************
- '* *
- '* E P H E M E R I S *
- '* *
- '* by Yvon Alemany *
- '* 28 ch de St-Laurent *
- '* F 06800 Cagnes-sur-Mer FRANCE *
- '* *
- '************************************
-
- REM $OPTION Y+,L-
-
- Initialization:
- '--------------
- SCREEN 2,640,256,2,2
- WINDOW 2," ===== E P H E M E R I S ===== ",,16,2
- CLS
- DEFINT i-j
- DEFDBL a-h,k-w
- pi=3.1415926535897#
- z$(0)="MONDAY": z$(1)="TUESDAY": z$(2)="WEDNESDAY": z$(3)="THURSDAY": z$(4)="FRIDAY"
- z$(5)="SATURDAY": z$(6)="SUNDAY"
-
- Title:
- '-----
- CLS
- LOCATE 3,28: PRINT " E P H E M E R I S "
- LOCATE 4,28: PRINT " ----------------- "
- LOCATE 6,30: PRINT "by Yvon Alemany"
- LOCATE , 28: PRINT "28 ch de St-Laurent"
- LOCATE , 24: PRINT "F 06800 Cagnes-sur-Mer FRANCE"
- LOCATE 12,12: PRINT "This programme calculates, for any place and any date:"
- PRINT :PRINT " - the astronomical data of the Sun, the Moon and the planets;
- "
- PRINT: PRINT " - the display of the concerned portion of zodiac where is the"
- PRINT " planet;"
- PRINT: PRINT " - the display of positions where the planet was at former"
- PRINT " periods previously chosen."
- GOSUB Waiting
- GOSUB Place
- GOSUB DateHour
- GOTO FirstCalc
-
- Place:
- '----
- CLS
- LOCATE 3,16: PRINT " C O N D I T I O N S O F O B S E R V A T I O N "
- LOCATE 8,5: PRINT "Enter the geographic coordinates of the place:"
- LOCATE 11,5: PRINT "Latitude (dd,mm,ss) (Minus if SOUTH) : ";
- INPUT "",d,m,s
- la=ABS(d*3600)+m*60+s: la=la*SGN(d): la=la/3600: laa=la
- LOCATE 11,55: PRINT "i.e.: ";:PRINT USING "###.####";la;:PRINT " deg"
- LOCATE 14,5: PRINT "Longitude (dd,mm,ss) (Minus if EAST) : ";
- INPUT "",d,m,s
- lo=ABS(d*3600)+m*60+s:lo=lo*SGN(d): lo=lo/3600: loa=lo
- LOCATE 14,55: PRINT "i.e.: ";:PRINT USING "###.####";lo;:PRINT " deg"
- lzd=lod: lor=lor*pi/180
- GOSUB Waiting
- RETURN
-
- DateHour:
- '----------
- CLS
- LOCATE 3,16: PRINT " C O N D I T I O N S O F O B S E R V A T I O N "
- LOCATE 8,5:PRINT "Enter date and hour :"
- LOCATE 11,5: PRINT "Date (dd,mm,yyyy) .............. : ";
- INPUT "",j,m1,an: jour=j: mois=m1: annee=an
- LOCATE 14,5: PRINT "Hour UT (hh,mm,ss) ............. : ";
- INPUT "",h,t,s1: heure=h: minute=t: seconde=s1
-
- CalculateN:
- '---------
- hs=h/24+t/1440+s1/86400&: j!=j+hs: anq=an
- n!=an*365+31*(m1-1)+j!
- IF m1<=2 THEN an=an-1
- n!=n!+INT(an/4)-INT(an/100)+INT(an/400)
- IF m1>2 THEN n!=n!-INT((m1-1)*.4+2.7)
- n!=n!-694325&: ninit!=n!
- nv=anq*365+1: anv=anq-1
- nva=nv+INT(anv/4)-INT(anv/100)+INT(anv/400)
- nva=nva-694325&: nva=INT(nva): nob=n!: quant=nob-nva+1
- LOCATE 17,5: PRINT "Day number = ";: PRINT USING "###.##";quant
- LOCATE 19,5: PRINT "N = ";INT(n!*1000)/1000;
- i=INT((n!/7-INT(n!/7))*7+.05)
- IF i=7 THEN i=0
- PRINT SPC(6);"It was "; z$(i)
- GOSUB Waiting
- RETURN
-
- FirstCalc:
- '-----------
- j=0: READ l0(j), lp(j), p0(j), pp(j), o0(j), op(j), e(j), i#(j), a(j)
- DATA 4.011656734308, 7.14254534E-2, 1.3249318, 7.42319099E-7, .82304491
- DATA 5.66126989E-7, .2056149, .12222565, .38709830982
-
- j=1: READ l0(j), lp(j), p0(j), pp(j), o0(j), op(j), e(j), i#(j), a(j)
- DATA 3.60860785, 2.7963119E-2, 2.27161583, 6.55749494E-7, 1.32290721
- DATA 4.3667637E-7, .0068164, .0592301237, .7332981996
-
- j=2: READ l0(j), lp(j), p0(j), pp(j), o0(j), op(j), e(j), i#(j), a(j)
- DATA 2.17756004, 9.14676587E-3, 5.83378047, 8.79420795E-7, .851615954
- DATA 3.71259108E-7, .0933088, 3.22938756E-2, 1.52367934191
-
- j=3: READ l0(j), lp(j), p0(j), pp(j), o0(j), op(j), e(j), i#(j), a(j)
- DATA 4.68359104, 1.45088204E-3, .222302586, 7.69317345E-7, 1.7357823
- DATA 4.82875741E-7, .0483348, .0228417541, 5.260319132
-
- j=4: READ l0(j), lp(j), p0(j), pp(j), o0(j), op(j), e(j), i#(j), a(j)
- DATA 4.86552416, 5.84648212E-4, 1.59029165, 9.35819818E-7, 1.96855686
- DATA 4.17251675E-7, .0558923, 4.35026708E-2,9.55490959574
-
- j=5: READ l0(j), lp(j), p0(j), pp(j), o0(j), op(j), e(j), i#(j), a(j)
- DATA 4.336916, 2.05408196E-4, 2.99433922, 7.09334513E-7, 1.28250284
- DATA 2.38285427E-7, .0463444, 1.34820382E-2, 19.21844606178
-
- j=6: READ l0(j), lp(j), p0(j), pp(j), o0(j), op(j), e(j), i#(j), a(j)
- DATA 1.5123627, 1.05071409E-4, .815801799, 6.80730175E-7, 2.28102316
- DATA 5.25125225E-7, .008997, .0310306311, 30.11038686942
-
- j=7: READ l0(j), lp(j), p0(j), pp(j), o0(j), op(j), e(j), i#(j), a(j)
- DATA 1.6406, 701214E-10, 3.8978, 6.672E-7, 1.9034
- DATA 66.72E-08, .250236, .29968, 39.438712#
-
- '-----------
- CLS: LOCATE 14,15
- PRINT "Accurate calculation for then Sun? (Y/N) : ";:INPUT "",ch$: ch$=UCASE$(ch$)
- CLS
-
- CalcSun:
- '------------
- RESTORE DataSun
- DataSun:
- DATA 4.86886002, 1.7202791395E-2
- DATA 4.908476721674, 8.19212342E-7
- DATA .01675104, 1.00000101778, 4
- READ l0,lp,p0,pp,e,a,ke
- IF LEFT$(ch$,1)="Y" THEN
- GOSUB AccurateSun
- GOTO ContCalcSun
- END IF
- p=p0+pp*n!: m=l0+lp*n!-p
- m8=m
- IF m8>2*pi THEN m8=m8-2*pi*INT(m8/2/pi)
- u=m : ' Kepler' Equation
- FOR i=0 TO ke
- u=m+e*SIN(u)
- NEXT i
- v=2*ATN(TAN(u/2)*SQR((1+e)/(1-e)))
- r=a*(1-e*COS(u)): l=v+p
- lm=l
- IF lm>2*pi THEN lm=lm-2*pi*INT(lm/2/pi)
- IF lm<0 THEN lm=lm+2*pi
-
- ContCalcSun:
- '---------------
- xs=r*COS(l): ys=r*SIN(l)
- ld=l*180/pi: ld=(ld/360-INT(ld/360))*360
- IF ld<0 THEN ld=ld+360
- ld=INT(ld*10000+.5)/10000
- lsol=ld+180: IF lsol>360 THEN lsol=lsol-360
- l8=l0+lp*n!: l8=l8-INT(l8/pi/2)*2*pi
- CLS
- so$="S U N"
- LINE (0,0)-(630,23),3,bf:COLOR 1,3
- LOCATE 2,1: PRINT "On ";mois;"/";jour;"/";annee
- LOCATE 2,58: PRINT "at ";heure;"h";minute;"m";seconde;"s"
- LOCATE 2,40-LEN(so$)/2: PRINT so$: LOCATE 3,40-LEN(so$)/2: PRINT STRING$(LEN(so$),"-")
- PRINT:COLOR 1,0
- PRINT "Longitude of the Sun"; TAB(23);": ";:PRINT USING "###.###";ld;: PRINT" deg"
- xp=xs: yp=ys: zp=0
- b=0
- GOSUB CoordEquat
- r0=149597871#: a0=.533128
- da=a0*(1+e*COS(v))/(1-e^2): da=ABS(da)
- PRINT
- PRINT "Sun-Earth Distance "; TAB(23);": ";: PRINT USING "####.######^^^^";r*r0;: PRINT " km"
- PRINT "in AU"; TAB(23);": ";: PRINT USING "##.######";r
- d=INT(da): m9=(da-d)*60: m=INT(m9): s=INT((m9-m)*60)
- PRINT "Apparent Diameter"; TAB(23);": ";: PRINT USING "##.######";da;: PRINT " deg"
- PRINT "or "; TAB(23);": ";d;"°";m;"'";s;"''"
- GOSUB RiseSet
- GOTO Others
-
- AccurateSun:
- '------------
- PerturbationsByPlanets:
- '------------------------
- a1=17.9+.6165298*n!: a1=a1*pi/180
- b=306+1.2330596#*n!: b=b*pi/180
- c=115.9+.2474593*n!: c=c*pi/180
- d=222.1+.858513*n!: d=d*pi/180
- e1=199.2-.121611*n!: e1=e1*pi/180
- F=38.3+.9231589*n!: F=F*pi/180
- g=256.9-.0624422*n!: g=g*pi/180
- h=281.6+.9025161*n!: h=h*pi/180
- j1#=7.6-.0830856*n!: j1#=j1#*pi/180
- k=291.4+1.80503*n!: k=k*pi/180
- p1=316+.8194305*n!: p1=p1*pi/180
- q=114.3+12.1907494#*n!: q=q*pi/180
- r1=231.4+.00055305#*n!: r1=r1*pi/180
-
- t=n!/36525&
- ls=.0003*pi/180
- l=l0+lp*n!+ls*t^2
- lm=l
- IF lm>2*pi THEN lm=lm-INT(lm/2/pi)*2*pi
-
- Correction.longitude:
- '--------------------
- dl=134*COS(a1)+154*COS(b)+69*COS(c)+43*COS(d)+28*COS(e1)+57*COS(F)+49*COS(g)+200*COS(h)+72*COS(j1#)+76*COS(k)+45*COS(p1)+179*SIN(q)+178*SIN(r1)
- dl=dl*.00001: dl=dl*pi/180
-
- e=.01675062#-.0000418*t-.000000137#*t^2
- p=p0+pp*n!
- m=l-p: ke=5
- m8=m
- u=m ' Kepler's Equation
- FOR i=0 TO ke
- u=m+e*SIN(u)
- NEXT i
- v=2*ATN(TAN(u/2)*SQR((1+e)/(1-e)))
- l=v+p+dl
- l8=l
- r=a*(1-e*COS(u))
-
- CorrectionR.Vector:
- '-------------------
- dr=543*SIN(a1)+1575*SIN(b)+200*SIN(c)+345*SIN(d)+474*SIN(F)+1627*SIN(h)+927*SIN(k)+106*SIN(p1)+3076*COS(q)
- dr=dr*1E-08
- r=r+dr
- RETURN
-
- RiseSet:
- '------
- tt=lz/15: lat=la*pi/180
- ml=p+m8
- IF ml<0 THEN ml=ml+2*pi:' Mean Long.
- IF ml>2*pi THEN ml=ml-2*pi*INT(ml/2/pi)
- et=rd-ml: et=et-pi*INT(et/pi)
- IF ABS(et)>.9*pi THEN et=et-SGN(et)*pi
- mm=COS(lat-d5): mn=-COS(lat+d5): m6=0
- IF -mm*mn>0 THEN cr=.055555555#/SQR(-mm*mn)
- IF -mm*mn<=0 AND ((lat>0 AND mois<9) OR (lat<0 AND mois >9)) THEN
- cr=0:PRINT "No SUNSET": flag=1
- END IF
- IF mn>m6 THEN m6=mn
- IF mm<m6 THEN PRINT "No SUNRISE": GOSUB Waiting: RETURN
- x=SQR((m6-mn)/(mm-m6))
- je#=1-(2/pi*ATN(x)): ' Fraction of lighted day
- dc=12*je#: ' Number of hours for the culmination
- hl=12-(dc+cr-et*12/pi): hl=hl+tt
- hl=hl*3600: h=INT(hl/3600): h=h-INT(h/24)*24
- m5=hl-h*3600: m=INT(m5/60): s=m5-m*60: s=INT(100*s)/100
- IF flag<>1 THEN PRINT "Rising Time (UT)";TAB(23);": ";h;"h ";m;"m ";s;"s"
- hc=12+(dc+cr+et*12/pi): hc=hc+tt
- hc=hc*3600:h=INT(hc/3600): h=h-INT(h/24)*24
- m5=hc-h*3600: m=INT(m5/60): s=m5-m*60: s=INT(100*s)/100
- IF flag<>1 THEN PRINT "Setting Time (UT)";TAB(23);": ";h;"h ";m;"m ";: PRINT USING "##";s;: PRINT "s"
- fm=.5*((mm+mn)*je#+(mm-mn)*SIN(pi*je#)/pi)
- fm=INT(fm*118886.4#)/100
- PRINT
- PRINT "The available ENERGY above the atmosphere is: ";
- PRINT USING "####.###";fm;: PRINT " M.Joule/m2"
- flag=0
- GOSUB Waiting
- RETURN
-
- Others:
- '-----
- CLS
- n!=ninit!
- LOCATE 2,17:PRINT "CALCULATION FOR THE MOON AND OTHER PLANETS"
- LOCATE 3,17:PRINT "------------------------------------------"
- LOCATE 5,1:PRINT " 1 - Mercury"
- PRINT " 2 - Venus": PRINT " 3 - Mars": PRINT " 4 - Jupiter": PRINT " 5 - Saturn"
- PRINT " 6 - Uranus": PRINT " 7 - Neptune": PRINT " 8 - Pluto": PRINT " 9 - Moon"
- PRINT " 10 - Zodiacal Sight": PRINT " 11 - Positions at j, j-D, j-2D, j-3D"
- PRINT " 12 - Another calculation"
- PRINT " 0 - Quit"
- PRINT :INPUT" CHOICE ? ",ch
- IF ch<0 OR ch>12 THEN Others
-
-
- IF ch=0 THEN
- CLS
- WINDOW CLOSE 2
- SCREEN CLOSE 2
- END
- END IF
-
- Menus:
- IF ch=1 THEN GOSUB Mercury
- IF ch=2 THEN GOSUB Venus
- IF ch=3 THEN GOSUB Mars
- IF ch=4 THEN GOSUB Jupiter
- IF ch=5 THEN GOSUB Saturn
- IF ch=6 THEN GOSUB Uranus
- IF ch=7 THEN GOSUB Neptune
- IF ch=8 THEN GOSUB Pluto
- IF ch=9 THEN GOSUB Moon
- IF ch=10 THEN GOSUB Zodiac
- IF ch=11 THEN GOSUB PastPos
- IF ch=12 THEN GOSUB AnotherCalc
- GOTO Others
-
- Mercury:
- '-------
- di=6.74: j=0: ke=5: t$="M E R C U R Y"
- GOTO CalcPlsimple
-
- Venus:
- '-----
- di=16.92: j=1: ke=3: t$="V E N U S"
- GOTO CalcPlsimple
-
- Mars:
- '----
- di=9.36: j=2: ke=5: t$="M A R S"
- GOTO CalcPlsimple
-
- Jupiter:
- '-------
- di=196.74: j=3: ke=5: t$="J U P I T E R"
- GOTO CalcPlprecis
-
- Saturn:
- '-------
- di=165.6: j=4: ke=4: t$="S A T U R N"
- GOTO CalcPlprecis
-
- Uranus:
- '------
- di=65.8: j=5: ke=4: t$="U R A N U S"
- GOTO CalcPlprecis
-
- Neptune:
- '-------
- di=62.2: j=6: ke=3: t$="N E P T U N E"
- GOTO CalcPlprecis
-
- Pluto:
- '------
- di=8.2: j=7: ke=7: t$="P L U T O"
- GOTO CalcPlsimple
-
- PastPos:
- ppass=11: retro=1
- CLS
- LOCATE 6,11
- PRINT "Enter the step, in days, for examination dates of the"
- PRINT " astral position."
- PRINT
- PRINT " For the Moon try a step < .2 and increase it if"
- PRINT " we stay in the same zodiacal area."
- PRINT: PRINT : INPUT " Enter the step = ",nbj
- LOCATE 15,22: PRINT "Select the astral body to examine"
- GOSUB Waiting
- GOTO Others
-
- AnotherCalc:
- '----------
- CLS
- LOCATE 2,22: PRINT "A N O T H E R C A L C U L A T I O N"
- LOCATE 3,27: PRINT "--------------------------------------"
- LOCATE 8,1: PRINT " 1 - Another Place and Another Date"
- PRINT " 2 - Another Place and Same Date"
- PRINT " 3 - Same Place and Another Date"
- PRINT :PRINT :PRINT " CHOICE ? ";:INPUT "",ch
- IF ch<1 OR ch>3 THEN AnotherCalc
- IF ch=1 THEN
- RESTORE: GOTO Title
- END IF
- IF ch=2 THEN
- GOSUB Place: RESTORE: GOTO FirstCalc
- END IF
- IF ch=3 THEN
- GOSUB DateHour
- la=laa: lo=loa
- RESTORE: GOTO FirstCalc
- END IF
- GOTO AnotherCalc
-
- Moon:
- '----
- ke=5: t$="M O O N"
- ld=33.231+13.17639653#*n!: ld=ld-INT(ld/360)*360: lr=ld*pi/180
- od=239.882-.052953922#*n!: od=od-INT(od/360)*360: ow=od*pi/180
- md=18.294+13.06499245#*n!: md=md-INT(md/360)*360: mr=md*pi/180
- d=lr-l8: F=lr-ow
- xa=6.28875*SIN(mr)+.2136*SIN(2*mr)+.6583*SIN(2*d)-.1856*SIN(m8)+1.274*SIN(2*d-mr)-.1143*SIN(2*F)
- xb=.0588*SIN(2*d-2*mr)+.0572*SIN(2*d-mr-m8)+.0533*SIN(2*d+mr)+.0459*SIN(2*d-m8)+.041*SIN(mr-m8)-.0305*SIN(mr+m8)-.0348*SIN(d)
- l9=ld+xa+xb
- ya=5.128*SIN(F)+.2806*SIN(mr+F)+.2777*SIN(mr-F)+.1732*SIN(2*d-F)+.0554*SIN(2*d-mr+F)+.0462*SIN(2*d-mr-F)+.0326*SIN(2*d+F)
- ya=ya-INT(ya/360)*360
- IF ya>270 THEN ya=ya-360
- IF l9>360 THEN l9=l9-INT(l9/360)*360
-
- AfficheCoordLune:
- '----------------
- CLS
- IF ppass=11 THEN Moons
- LINE (0,0)-(630,15),3,bf: COLOR 1,3
- LOCATE 1,1: PRINT "Thee ";mois;"/";jour;"/";annee
- LOCATE 1,58:
- PRINT "at ";heure;"h";minute;"m";seconde;"s"
- cl$="The M O O N"
- LOCATE 1,38-LEN(cl$)/2: PRINT cl$: LOCATE 2,38-LEN(cl$)/2:PRINT STRING$(LEN(cl$),"-")
- PRINT: COLOR 1,0
- PRINT "Ascend.Node Longitude"; TAB(23);": ";: PRINT USING "###.###";od;: PRINT " deg"
- PRINT "Mean Anomaly"; TAB(23);": ";: PRINT USING "###.###";md;: PRINT " deg"
- PRINT
- PRINT "Longitude"; TAB(23);": ";: PRINT USING "###.###";l9;: PRINT " deg"
- PRINT "Latitude "; TAB(23);": ";: PRINT USING "+##.###";ya;: PRINT " deg"
- Moons:
- l=l9*pi/180: b=ya*pi/180
- IF ppass=11 THEN
- GOSUB CoordEquat
- hp(retro)=hp: dp(retro)=dp
- IF retro <4 THEN retro=retro+1: n!=n!-nbj: GOTO Menus
- LOCATE 15,26
- PRINT "Choose: 10 - Zodiacal Sight"
- GOSUB Waiting
- GOTO Others
- END IF
-
- GOSUB CoordEquat
- GOSUB RSHour
- GOSUB Waiting
- RestoreData:
- '-----------
- RESTORE DataSun
- READ x1, x2, x3, x4, x5, x6, x7
- RETURN
-
- CalcPlsimple:
- '------------
- p=p0(j)+pp(j)*n!: px=p*180/pi: l1=l0(j)+lp(j)*n!: lx=l1*180/pi: m=l1-p
- e=e(j)
- u=m: ' Kepler's Equation
- FOR i=0 TO ke '
- u=m+e*SIN(u) '
- NEXT i
- v=2*ATN(TAN(u/2)*SQR((1+e)/(1-e)))
- o=o0(j)+op(j)*n!: c=v+p-o
-
- ContPls:
- '------
- IF COS(c)=0 THEN
- d=c: GOTO ContPls
- END IF
- d=ATN(TAN(c)*COS(i#(j)))
- IF COS(c)<0 THEN d=d+pi
- ls=d+o
- bs=ATN(SIN(d)*TAN(i#(j)))
- rs=a(j)*(1-e*COS(u))
- xp=rs*COS(bs)*COS(ls)+xs
- yp=rs*COS(bs)*SIN(ls)+ys
- zp=rs*SIN(bs)
- r=SQR(xp*xp+yp*yp): b=ATN(zp/r): l=ATN(yp/xp)
- IF xp<0 THEN l=l+pi
-
- ld=l*180/pi: ld=(ld/360-INT(ld/360))*360 ' Conversion
- IF ld<0 THEN ld=ld+360 ' deg
- ld=INT(ld*10000+.5)/10000 ' rad
- GOTO DisplayPln
-
- CalcPlprecis:
- '------------
- IF ch=4 THEN
- v1=135.036+.00115674#*n!
- GOTO JuLongPer
- END IF
-
- IF ch=5 THEN
- v1=135.036+.00115674#*n!
- GOTO SALongCourtPer
- END IF
-
- IF ch=6 THEN
- v1=284.159+.000233*n!
- GOTO UrLongPer
- END IF
-
- IF ch=7 THEN
- v1= 284.159+.000233*n!
- GOTO NeLongPer
- END IF
-
- JuLongPer:
- '---------
- v2=v1*pi/180
- l2=.3314*SIN(v2)
- e2=.000361*SIN(v2)+.000129*COS(v2)
- p4=.007*SIN(v2)-.02*COS(v2)
- a2=.000263*COS(v2): a3=0: l3=0: e3=0: p5=0
- GOSUB JuSaUrNe
- GOTO ContPls
-
- SALongCourtPer:
- '--------------
- v2=v1*pi/180
- l2=-.8142*SIN(v2)-.011*COS(v2)+.008*SIN(2*v2)
- e2=-.000793*SIN(v2)+.00134*COS(v2)
- p4=.078*SIN(v2)+.046*COS(v2)
- a2=.000049*SIN(v2)+.002933*COS(v2)
- DEF FNa(l5)=c4+s5*SIN(l5)+c5*COS(l5)+s6*SIN(2*l5)+c6*COS(2*l5)
- l4=278.062+.03346*n!: l5=l4*pi/180
- k4=10.316-.03346*n!: k5=k4*pi/180
- c4=-.149*SIN(k5)-.041*SIN(2*k5)-.015*SIN(3*k5)-.006*SIN(4*k5)
- s5=-.006-.009*SIN(k5)+.082*COS(k5)-.017*SIN(2*k5)+.015*COS(2*k5)-.006*SIN(3*k5)
- c5=.086*SIN(k5)+.025*COS(k5)+.014*COS(2*k5)
- s6=.006*SIN(k5)-.005*COS(k5)+.009*SIN(2*k5)+.005*COS(2*k5)
- c6=-.005*COS(k5)+.005*SIN(2*k5)-.008*COS(2*k5)
- l3=FNa(l5): ' Dl
- c4=0: s5=.00124+.00266*COS(k5)-.00047*COS(2*k5)-.00019*COS(3*k5)
- c5=-.00127*SIN(k5)-.00042*SIN(2*k5)
- s6=.00022*SIN(k5)-.00028*COS(k5)-.00022*SIN(2*k5)+.0002*COS(2*k5)
- c6=.00028*SIN(k5)-.00016*COS(k5)+.00022*COS(2*k5)
- e3=FNa(l5) : ' De
- c4=-.007*SIN(k5)
- s5=-.076*SIN(k5)-.025*SIN(2*k5)-.009*SIN(3*k5)
- c5=-.073-.15*COS(k5)+.027*COS(2*k5)+.01*COS(3*k5)
- s6=-.014*SIN(k5)-.008*COS(k5)+.014*COS(2*k5)
- c6=-.014*SIN(k5)+.015*COS(k5)+.012*SIN(2*k5)-.013*COS(2*k5)
- p5=FNa(l5) : ' E*Dp
- c4=.0337*COS(k5)-.00308*COS(2*k5)-.00143*COS(3*k5)-.00067*COS(4*k5)
- s5=-.00281*SIN(k5)+.00214*COS(k5)+.00069*SIN(2*k5)-.001*COS(2*k5)
- c5=.0022*SIN(k5)+.00288*COS(k5)-.00159*SIN(2*k5)+.00217*COS(2*k5)
- s6=-.00027*SIN(2*k5)-.00078*COS(k5)+.00049*COS(2*k5)+.00025*COS(3*k5)
- c6=-.00065*SIN(k5)+.00044*SIN(2*k5)+.0003*COS(2*k5)
- a3=FNa(l5) : ' Da
- GOSUB JuSaUrNe
- GOTO ContPls
-
- UrLongPer:
- '---------
- v2=v1*pi/180
- l2=.864*SIN(v2)+.082*COS(v2)+.036*SIN(2*v2)
- e2=.000335*SIN(v2)+.0021*COS(v2)
- p4=.1203*SIN(v2)+.0194*COS(v2)+.006*SIN(2*v2)
- a2=-.003824*SIN(v2)+.0082*COS(v2): a3=0: l3=0: e3=0: p5=0
- GOSUB JuSaUrNe
- GOTO ContPls
-
- NeLongPer:
- '---------
- v2=v1*pi/180
- l2=-.5926*SIN(v2)-.0561*COS(v2)-.0243*SIN(2*v2)
- e2=.00044*SIN(v2)+.000426*COS(v2)-.006*COS(2*v2)
- p4=.024*SIN(v2)-.025*COS(v2)+.006*SIN(2*v2)-.006*COS(2*v2)
- a2=-.00082*SIN(v2)+.0082*COS(v2): a3=0: l3=0: e3=0: p5=0
- GOSUB JuSaUrNe
- GOTO ContPls
-
- JuSaUrNe:
- '--------
- p=p0(j)+pp(j)*n!: l1=l0(j)+lp(j)*n!
- e4=e(j)+e2: p2=p4/e4: ' Dp
- l2=l2*pi/180: l3=l3*pi/180
- l1=l1+l2+l3: a(j)=a(j)+a2+a3
- e=e4+e3: p3=p5/e: ' Dp2
- p2=p2*pi/180: p3=p3*pi/180
- p=p+p2+p3: m=l1-p
- lx=l1*180/pi: px=p*180/pi
- u=m : ' Kepler's Equat
- FOR i=0 TO ke
- u=m+e*SIN(u)
- NEXT i
- v=2*ATN(TAN(u/2)*SQR((1+e)/(1-e)))
- o=o0(j)+op(j)*n!: c=v+p-o
- RETURN
-
- DisplayPln:
- '---------
- CLS
- IF ppass=11 THEN
-
- GOSUB CoordEquat
- hp(retro)=hp: dp(retro)=dp
- IF retro <4 THEN retro=retro+1: n!=n!-nbj: GOTO Menus
- LOCATE 15,26
- PRINT "Choose: 10 - Zodiacal Sight"
- GOSUB Waiting
- GOTO Others
- END IF
-
- LINE (0,0)-(630,23),3,bf: COLOR 1,3
- LOCATE 2,1: PRINT "The ";mois;"/";jour;"/";annee
- LOCATE 2,58: PRINT "at ";heure;"h";minute;"m";seconde;"s"
- LOCATE 2,30: PRINT t$: LOCATE 3,30: PRINT STRING$(LEN(t$),"-")
- COLOR 1,0
- LOCATE 5,1
- PRINT "Longitude = ";: PRINT USING "###.####";ld;: PRINT " deg"; TAB(35);"Latitude = ";: PRINT USING "###.###";b*180/pi;: PRINT " deg"
- GOSUB CoordEquat
- GOSUB RSHour
- LOCATE 20,25:INPUT "Detailed information? (Y/N) ",r$:r$=UCASE$(r$)
- IF LEFT$(r$,1)="Y" THEN
- GOSUB Detail
- GOTO Others
- END IF
- RETURN
-
- Detail:
- '------
- CLS
- LINE (0,0)-(630,19),3,bf: COLOR 1,3
- LOCATE 2,1: PRINT "The ";mois;"/";jour;"/";annee
- LOCATE 2,58: PRINT "at ";heure;"h";minute;"m";seconde;"s"
- r$="ITEM OF "
- LOCATE 2,(38-(LEN(r$)+LEN(t$))/2)
- PRINT r$+t$
- PRINT: COLOR 1,0
- PRINT "Heliographic Coordinates:"
- lx=lx-INT(lx/360)*360:lxd=INT(lx*1000)/1000
- dlong=ABS(lxd-lsol)
- PRINT "Mean Longitude = ";:PRINT USING "###.###";lxd;: PRINT " deg";:PRINT TAB(40);"Eccentricity = ";: PRINT USING "#.######";e(j)
- px=px-INT(px/360)*360: pxd=INT(px*1000)/1000
- PRINT "Perihelion = ";:PRINT USING "###.###";pxd;: PRINT " deg";:PRINT TAB(40);"Inclination = ";: PRINT USING "##.###";i#(j)*180/pi;: PRINT " deg"
- o=o-INT(o/(pi))*pi
- PRINT "Node = ";: PRINT USING "###.###";o*180/pi;: PRINT " deg";: PRINT TAB(40);"Semi-major axis= ";: PRINT USING "##.######";a(j)
- PRINT " M = ";: PRINT USING "###.###";(lx-px)
- IF u>2*pi THEN u=u-INT(u/pi)*pi
- IF u<0 THEN u=u+2*pi
- IF v<0 THEN v=v+2*pi
- PRINT "Eccentric Anomaly = ";: PRINT USING "###.###";u*180/pi;: PRINT" deg"; TAB(40);"True Anomaly = ";: PRINT USING "###.###";v*180/pi;: PRINT " deg"
- IF ls<0 THEN ls=ls+2*pi
- PRINT "Longitude = ";: PRINT USING "###.###";ls*180/pi;: PRINT " deg";TAB(40);"Latitude = ";: PRINT USING "+##.###";bs*180/pi;: PRINT " deg"
- PRINT "Vector Radius = ";: PRINT USING "###.######";rs
- PRINT
- PRINT"Cartesian Geocentric Coordinates:"
- PRINT "For then Sun X = ";INT(xs*1000000!)/1000000!; TAB(40);"Y = ";INT(ys*1000000!)/1000000!
- PRINT "For Astral X = ";INT(xp*1000000!)/1000000!; TAB(40);"Y = ";INT(yp*1000000!)/1000000!;" Z = ";INT(zp*1000000!)/1000000!
- PRINT
- PRINT "Equatorial Geocentric Coordinates:"
- IF l<0 THEN l=l+2*pi
- PRINT "Longitude = ";: PRINT USING "###.###";(l*180/pi);: PRINT " deg";
- TAB(40);"Latitude = ";: PRINT USING "+##.###";(b*180/pi);: PRINT " deg"
- PRINT "Radius = ";: PRINT USING "##.######";r;: PRINT TAB(40);"Apparent Diam. = ";: PRINT USING "##.#####";(di/r);: PRINT " sec"
- q=SQR(a(j))
- theta=ATN((q-1)/q*SQR(1+q*q))*180/pi
- sens$="Retrograde"
- IF dlong>theta THEN sens$="Direct"
- PRINT
- PRINT "Direction of the geocentric motion = ";sens$
- GOSUB Waiting
- RETURN
-
- END
-
- CoordEquat:
- '----------
- ep=.409138058#
- sd=COS(ep)*SIN(b)+SIN(ep)*COS(b)*SIN(l)
- de=ATN(sd/SQR(1-sd*sd))
- sr=COS(ep)*COS(b)*SIN(l)-SIN(ep)*SIN(b)
- rd=ATN(sr/COS(b)/COS(l))
- IF COS(l)*COS(b)<0 THEN rd=rd+pi
- IF rd<0 THEN rd=rd+2*pi
- rd=(rd/2/pi-INT(rd/2/pi))*2*pi
- r5=rd
- h=INT(rd/pi*12)
- m=INT((rd-h*pi/12)*720/pi)
- s=INT((rd-h*pi/12-m*pi/720)*43200&/pi)
- d5=de
- IF ch=9 THEN
- LINE (0,70)-(632,92),3,bf
- ELSE
- LINE (0,46)-(632,68),3,bf
- END IF
- COLOR 1,3
- PRINT
- hp=h+m/60
- LOCATE ,5
- IF ppass<>11 THEN
- PRINT "Right Ascension"; TAB(23);": ";
- PRINT USING "##";h;: PRINT "h ";: PRINT USING "##";m;: PRINT "m ";: PRINT USING "##.#";s;: PRINT "s"
- END IF
- de=de*180/pi: d0=INT(de): IF d0<0 THEN d0=d0+1
- m9=ABS((de-d0)*60): m0=INT(m9): s=INT((m9-m0)*60)
- dp=de
- LOCATE ,5
- IF ppass<>11 THEN
- PRINT "Déclination"; TAB(23);": ";
- PRINT USING "+##";d0;: PRINT "° ";: PRINT USING "##";m0;: PRINT "' ";: PRINT USING "##.#";s;: PRINT "''"
- END IF
- COLOR 1,0
- IF ch=9 THEN GOSUB RestoreData
- PRINT
- IF ppass<>11 THEN PRINT "Rectangular Coord. :"; TAB(23);": ";"X = ";xp;" Y = ";yp;" Z = ";zp
- RETURN
-
- DegRad:
- '------
- ld=l*180/pi
- ld=(ld/360-INT(ld/360))*360
- IF ld<0 THEN ld=ld+360
- ld=INT(ld*10000+.5)/10000
- RETURN
-
- RSHour:
- '-------
- lar=laa*pi/180: lor=loa*pi/180: hd=r5/pi*12
- tl=TAN(lar): td=TAN(d5): x=-tl*td
- IF (1-x*x)<0 THEN PRINT: PRINT "In this place Sighting is not possible": RETURN
- xx=-ATN(x/SQR(1-x*x))+pi/2
- h=xx*12/pi
- lv=24-h+hd: IF lv>24 THEN lv=lv-24
- ch=h+hd: IF ch>24 THEN ch=ch-24
- lh=lor*12/pi
- l1=lv+lh
- IF l1>24 THEN l1=l1-24
- IF l1<0 THEN l1=l1+24
- l2=ch+lh
- IF l2>24 THEN l2=l2-24
- IF l2<0 THEN l2=l2+24
- GOSUB CalculB
- l9=l1: GOSUB CalculLC
- PRINT
- LOCATE ,5: PRINT "Rising Time = ";h;"H";: PRINT USING "##.##";m;: PRINT "M"
- h1=l7
- l9=l2: GOSUB CalculLC
- LOCATE ,5: PRINT "Setting Time = ";h;"H";: PRINT USING "##.##";m;: PRINT "M"
- h2=l7: IF h1<h2 THEN h3=h1+(h2-h1)/2: GOTO SuiteC
- h3=h1+(24-h1+h2)/2
- IF h3>24 THEN h3=h3-24
- SuiteC:
- h=INT( h3): h=h-INT(h/24)*24: IF h<0 THEN h=h+24: m=INT((h3-h)*60)
- LOCATE ,5: PRINT "Passage at the meridian = ";h;"H";: PRINT USING "##.##";m;: PRINT "M"
- RETURN
-
- CalculLC:
- t0=quant*.0657098-b3: IF t0<0 THEN t0=t0+24
- l8=l9-t0: IF l8<0 THEN l8=l8+24
- l7=l8*.99727
- h=INT(l7): h=h-INT(h/24)*24:IF h<0 THEN h=h+24: m=INT((l7-h)*60)
- RETURN
-
- CalculB:
- JulianD#=nva+2415383.5#
- s3=JulianD#-2415020&
- t3=s3/36525&
- r3=6.6460656#+(2400.051262#*t3)+(.00002581#*t3*t3)
- u3=r3-(24*(annee-1900))
- b3=24-u3
- RETURN
-
- Waiting:
- '-------
- COLOR 1,3
- PRINT: PRINT:LOCATE ,25: INPUT " Hit <RETURN> to continue .... ", q$
- COLOR 1,0
- RETURN
-
- Zodiac:
- CLS
- IF hp<= 8 OR (ppass=11 AND hp(1)<=8) THEN ZodI
- IF (hp>8 AND hp<=16) OR (ppass=11 AND (hp(1)>8 AND hp(1)<=16)) THEN ZodII
- IF (hp>16 AND hp<24) OR (ppass=11 AND (hp(1)>16 AND hp(1)<24)) THEN ZodIII
- GOTO Others
-
- ZodI:
- '******************************************************
- ' Zodiac for R.A. 00 to 08 hours *
- '******************************************************
-
- dx = 15: dy = 120: dh=0: b=47
- DEF FNeclipt1(x) =dy+b*SIN((x)/900*pi-2*pi/3)
- coul = 3
- h=hp: d=dp: GOSUB coord: xp=x: yp=y
- LOCATE 5,30: PRINT "ZODIACAL SIGHT"
- LOCATE 10,15: INPUT "With referencial grid ? ................. (Y/N) : ",a$
- LOCATE 12,15: INPUT "With symbolic out-line of constellations? (Y/N) : ",b$
- cl = 2
- a$=UCASE$(LEFT$(a$,1))
- b$=UCASE$(LEFT$(b$,1))
- CLS
- LOCATE 1,5: t$=UCASE$(t$)
- pln$="planet ": IF t$="M O O N" THEN pln$=""
- COLOR 3
- PRINT "Position of ";pln$; t$;" the "mois"/"jour"/"annee" at "heure"h"minute
- COLOR 1
- IF a$= "N" AND b$ = "N" THEN coul=0: cl=0: GOTO eclipticI
- IF a$ = "N" AND b$ <> "N" THEN coul=0: cl = 2: GOTO eclipticI
- IF b$ = "N" THEN cl = 0
-
- ' right ascension
- FOR i=0 TO 8
- LINE (dx+75*i,20)-(dx+75*i,220),coul
- NEXT
-
- LOCATE 2,1
- PRINT "R.A."
- LOCATE 3,2
- PRINT "8h"; TAB(12)"7h";TAB(21)"6h";TAB(30)"5h";TAB(39)"4h";
- PRINT TAB(49)"3h";TAB(58)"2h";TAB(67)"1h";TAB(77)"0h"
-
- ' déclinatison
- FOR i=1 TO 7
- FOR j=0 TO 635 STEP 2
- LINE (j,30*i)-(j,30*i),coul
- NEXT j,i
- LOCATE 8,2: PRINT "30°"
- LOCATE 15,2: PRINT "0°"
- LOCATE 23,1: PRINT "-30°"
-
- eclipticI:
- FOR i=-dx TO 600+dx STEP 3
- y=FNeclipt1(i)
- PSET (dx+i,y),3
- NEXT
-
- LOCATE 28,7
- PRINT "G E M I N I"; TAB(26) "T A U R U S";
- PRINT TAB(45) "A R I E S"; TAB(64) "P I S C E S"
-
- ' stars
- PATTERN &H8888
-
- pegasus1:
- COLOR 1
- h=.15: d=15: GOSUB coord: x1=x: y1=y: GOSUB mag1
- h=.1: d=29.2: GOSUB coord: x2=x: y2=y: GOSUB mag1
- h=1.1: d=35.4: GOSUB coord: x3=x: y3=y: GOSUB mag1
- h=2: d=42: GOSUB coord: x4=x: y4=y: GOSUB mag1
- COLOR cl: IF cl=0 THEN pisces
- LINE (x1,y1)-(x2,y2): LINE -(x3,y3): LINE -(x4,y4)
- pisces:
- COLOR 1
- h=0: d=7: GOSUB coord: x1=x: y1=y: PSET (x,y)
- h=1: d=7: GOSUB coord: x2=x: y2=y: PSET (x,y)
- h=2: d=4.5: GOSUB coord: x3=x: y3=y: PSET (x,y)
- h=1.55: d=16: GOSUB coord: x4=x: y4=y: PSET (x,y)
- COLOR cl: IF cl=0 THEN aries
- LINE (x1,y1)-(x2,y2): LINE -(x3,y3): LINE -(x4,y4)
- aries:
- COLOR 1
- h=1.9: d=20: GOSUB coord: x1=x: y1=y: GOSUB mag1
- h=2.08: d=23.7: GOSUB coord: x2=x: y2=y: GOSUB mag1
- h=3: d=20: GOSUB coord: x3=x: y3=y: PSET (x,y)
- h=3.2: d=18: GOSUB coord: x4=x: y4=y: PSET (x,y)
- COLOR cl: IF cl=0 THEN taurus
- LINE (x1,y1)-(x2,y2): LINE -(x3,y3): LINE -(x4,y4)
- taurus:
- COLOR 1
- h=4.55: d=17: GOSUB coord: x1=x: y1=y: GOSUB mag2
- h=5.6: d=22: GOSUB coord: x2=x: y2=y: GOSUB mag1
- h=4.33: d=16: GOSUB coord: PSET (x,y)
- h=4.37: d=18: GOSUB coord: PSET (x,y)
- h=4.46: d=19.8: GOSUB coord: PSET (x,y)
- COLOR cl: IF cl=0 THEN gemini
- LINE (x1,y1)-(x2,y2)
- gemini:
- COLOR 1
- h=7.6: d=33: GOSUB coord: x1=x: y1=y: GOSUB mag2
- h=7.75: d=28: GOSUB coord: x2=x: y2=y: GOSUB mag2
- h=7.3: d=22: GOSUB coord: x3=x: y3=y: PSET (x,y)
- h=7.26: d=17: GOSUB coord: x4=x: y4=y: PSET (x,y)
- h=7.06: d=20: GOSUB coord: x5=x: y5=y: PSET (x,y)
- h=6.6: d=17: GOSUB coord: x6=x: y6=y: GOSUB mag1
- h=6.4: d=22: GOSUB coord: x7=x: y7=y: PSET (x,y)
- h=6.25: d=22: GOSUB coord: PSET (x,y)
- COLOR cl: IF cl=0 THEN cetus
- LINE (x1,y1)-(x2,y2): LINE -(x3,y3): LINE -(x4,y4)
- LINE -(x5,y5): LINE -(x6,y6): LINE -(x7,y7): LINE -(x1,y1)
- cetus:
- COLOR 1
- h=.65: d=-18.3: GOSUB coord: GOSUB mag1
- h=3: d=4: GOSUB coord: GOSUB mag1
- h=.25: d=-8: GOSUB coord: PSET (x,y)
- h=1.1: d=-10: GOSUB coord: PSET (x,y)
- h=1.9: d=-10: GOSUB coord: PSET (x,y)
- h=1.37: d=-8: GOSUB coord: PSET (x,y)
- h=.7: d=-16: GOSUB coord: PSET (x,y)
- phoenix:
- COLOR 1
- h=.35: d=-42.8: GOSUB coord: GOSUB mag1
- orion:
- COLOR 1
- h=5.9: d=8: GOSUB coord: x1=x: y1=y: GOSUB mag2
- h=5.4: d=7: GOSUB coord: x2=x: y2=y: GOSUB mag1
- h=5.25: d=-8: GOSUB coord: x3=x: y3=y: GOSUB mag2
- h=5.77: d= -9: GOSUB coord: x4=x: y4=y: GOSUB mag1
- h=5.7: d=-3: GOSUB coord: GOSUB mag1
- h=5.6: d=-1.5: GOSUB coord: GOSUB mag1
- h=5.5: d=0: GOSUB coord: GOSUB mag1
- COLOR cl: IF cl=0 THEN perseus
- LINE (x1,y1)-(x2,y2): LINE -(x3,y3): LINE -(x4,y4): LINE -(x1,y1)
- perseus:
- COLOR 1
- h=3.85: d=32.5: GOSUB coord: GOSUB mag1
- h=3.92: d=40: GOSUB coord: GOSUB mag1
- h=3.7: d=33: GOSUB coord: PSET (x,y)
- h=3.04: d=38: GOSUB coord: PSET (x,y)
- h=3.11: d=40: GOSUB coord: PSET (x,y)
- pleiades:
- COLOR 1
- h=3.72: d=24: GOSUB coord: GOSUB mag1
- h=3.71: d=22: GOSUB coord: PSET (x,y)
- h=3.65: d=23: GOSUB coord: PSET (x,y)
- h=3.62: d=25: GOSUB coord: PSET (x,y)
- h=3.67: d=25.5: GOSUB coord: PSET (x,y)
- h=3.67: d=24.7: GOSUB coord: PSET (x,y)
- lepus:
- COLOR 1
- h=5.45: d=-20.5: GOSUB coord: GOSUB mag1
- h=5.55: d=-17.7: GOSUB coord: GOSUB mag1
- canisMajor:
- COLOR 1
- h=6.35: d=-18: GOSUB coord: x1=x: y1=y: GOSUB mag1
- h=6.75: d=-16.5: GOSUB coord: x2=x: y2=y: GOSUB mag2
- h=7.13: d=-27: GOSUB coord: x3=x: y3=y: GOSUB mag1
- h=7.4: d=-29.2: GOSUB coord: x4=x: y4=y: GOSUB mag1
- h=6.93: d=-29: GOSUB coord: x5=x: y5=y: GOSUB mag1
- COLOR cl: IF cl=0 THEN auriga
- LINE (x1,y1)-(x2,y2): LINE -(x3,y3): LINE -(x4,y4)
- LINE -(x5,y5): LINE -(x3,y3)
- auriga:
- COLOR 1
- h=5.93: d=45: GOSUB coord: x1=x: y1=y: GOSUB mag1
- h=5.97: d=37: GOSUB coord: x2=x: y2=y: GOSUB mag1
- h=5.4: d=28.2: GOSUB coord: x3=x: y3=y: GOSUB mag1
- h=4.9: d=33: GOSUB coord: x4=x: y4=y: GOSUB mag1
- h=5: d=44: GOSUB coord: x5=x: y5=y: PSET (x,y)
- COLOR cl: IF cl=0 THEN eridanus
- LINE (x1,y1)-(x2,y2): LINE -(x3,y3): LINE -(x4,y4): LINE -(x5,y5)
- eridanus:
- COLOR 1
- h=5.1: d=-4: GOSUB coord: GOSUB mag1
- h=4.6: d=-3: GOSUB coord: PSET (x,y)
- h=4.18: d=-6: GOSUB coord: PSET (x,y)
- h=3.92: d=-14: GOSUB coord: PSET (x,y)
- h=3.7: d=-9.5: GOSUB coord: PSET (x,y)
- h=3.55: d=-9.4: GOSUB coord: PSET (x,y)
- h=3.6: d=-22: GOSUB coord: PSET (x,y)
- h=3: d=-25: GOSUB coord: PSET (x,y)
- h=4.6: d=-14.5: GOSUB coord: PSET (x,y)
- h=4.55: d=-24: GOSUB coord: PSET (x,y)
- h=4.28: d=-34: GOSUB coord: PSET (x,y)
- canisMinor:
- COLOR 1
- h=7.6: d=5.8: GOSUB coord: GOSUB mag2
- h=7.45: d=10: GOSUB coord: PSET (x,y)
- colombe:
- COLOR 1
- h=5.65: d=-34: GOSUB coord: GOSUB mag1
- divers1:
- COLOR 1
- h=7.3: d=-38: GOSUB coord: GOSUB mag1
- h=8.1: d=-25: GOSUB coord: GOSUB mag1
-
- IF ppass<>11 THEN GOSUB Planet
- IF ppass=11 THEN GOSUB Planets: GOTO SuitePln
-
- LOCATE 30,40: INPUT "",a$
- GOTO Others
-
- ZodII:
- '******************************************************
- ' Zodiac for R.A. 08 to 16 hours *
- '******************************************************
- dx = 15: dy = 120: dh=8: b=47
- DEF FNeclipt2(x) = dy+b*SIN((x)/900*pi+2*pi/3)
- coul = 3
- h=hp: d=dp: GOSUB coord: xp=x: yp=y
- LOCATE 5,30: PRINT "ZODIACAL SIGHT"
- LOCATE 10,15: INPUT "With referencial grid? .................. (Y/N) : ",a$
- LOCATE 12,15: INPUT "With symbolic out-line of constellations? (Y/N) : ",b$
- cl = 2
- a$=UCASE$(LEFT$(a$,1))
- b$=UCASE$(LEFT$(b$,1))
- CLS
- LOCATE 1,5: t$=UCASE$(t$)
- pln$="planet ": IF t$="M O O N" THEN pln$=""
- COLOR 3
- PRINT "Position of ";pln$; t$;" The "mois"/"jour"/"annee" at "heure"h"minute
- COLOR 1
- IF a$= "N" AND b$ = "N" THEN coul=0: cl=0: GOTO eclipticII
- IF a$ = "N" AND b$ <> "N" THEN coul=0: cl = 2: GOTO eclipticII
- IF b$ = "N" THEN cl = 0
-
- ' right ascension
- FOR i=0 TO 8
- LINE (dx+75*i,20)-(dx+75*i,220),coul
- NEXT
- LOCATE 2,1
- PRINT "R.A."
- LOCATE 3,2
- PRINT "16h"; TAB(12)"15h";TAB(21)"14h";TAB(30)"13h";TAB(39)"12h";
- PRINT TAB(49)"11h";TAB(58)"10h";TAB(67)"9h";TAB(77)"8h"
-
- ' déclination
- FOR i=1 TO 7
- FOR j=0 TO 635 STEP 2
- LINE (j,30*i)-(j,30*i),coul
- NEXT j,i
- LOCATE 8,2: PRINT "30°"
- LOCATE 15,2: PRINT "0°"
- LOCATE 23,1: PRINT "-30°"
-
- eclipticII:
- FOR i=-dx TO 600+dx STEP 3
- y=FNeclipt2(i)
- PSET (dx+i,y),3
- NEXT
-
- LOCATE 28,8
- PRINT "L I B R A"; TAB(27) "V I R G O";
- PRINT TAB(47) "L E O"; TAB(64) "C A N C E R"
-
- ' stars
- PATTERN &H8888
- cancer:
- COLOR 1
- h=8.95: d=12: GOSUB coord: x1=x: y1=y: PSET (x,y)
- h=8.75: d=19: GOSUB coord: x2=x: y2=y: PSET (x,y)
- h=8.25: d=10: GOSUB coord: x3=x: y3=y: GOSUB mag1
- h=8.7: d=22: GOSUB coord: x4=x: y4=y: PSET (x,y)
- COLOR cl: IF cl=0 THEN leo
- LINE (x1,y1)-(x2,y2): LINE -(x3,y3): LINE (x4,y4)-(x2,y2)
- leo:
- COLOR 1
- h=10.1: d=12: GOSUB coord: x1=x: y1=y: GOSUB mag2
- h=10.1: d=18: GOSUB coord: x2=x: y2=y: PSET (x,y)
- h=10.3: d=21: GOSUB coord: x3=x: y3=y: GOSUB mag1
- h=11.23: d=21.1: GOSUB coord: x4=x: y4=y: GOSUB mag1
- h=11.77: d=15: GOSUB coord: x5=x: y5=y: GOSUB mag1
- h=11.28: d=16: GOSUB coord: x6=x: y6=y: PSET (x,y)
- h=10.32: d=24.2: GOSUB coord: x7=x: y7=y: PSET (x,y)
- h=9.84: d=27: GOSUB coord: x8=x:y8=y: PSET (x,y)
- h=9.76: d=24: GOSUB coord: x9=x: y9=y: PSET (x,y)
- COLOR cl: IF cl=0 THEN virgo
- LINE (x1,y1)-(x2,y2): LINE -(x3,y3): LINE -(x4,y4): LINE -(x5,y5)
- LINE -(x6,y6): LINE -(x1,y1): LINE (x3,y3)-(x7,y7)
- LINE -(x8,y8): LINE -(x9,y9)
- virgo:
- COLOR 1
- h=13.4: d=-11: GOSUB coord: x1=x: y1=y: GOSUB mag2
- h=13.6: d=0: GOSUB coord: x2=x: y2=y: PSET (x,y)
- h=12.96: d=11.5: GOSUB coord: x3=x: y3=y: GOSUB mag1
- h=12.9: d=6: GOSUB coord: x4=x: y4=y: PSET (x,y)
- h=12.62: d=-1: GOSUB coord: x5=x: y5=y: GOSUB mag1
- h=12.3: d=0: GOSUB coord: x6=x: y6=y: PSET (x,y)
- h=11.83: d=3.5: GOSUB coord: x7=x: y7=y: PSET (x,y)
- COLOR cl: IF cl=0 THEN libra
- LINE (x1,y1)-(x2,y2): LINE -(x3,y3): LINE -(x4,y4)
- LINE -(x5,y5): LINE -(x1,y1): LINE (x5,y5)-(x6,y6): LINE -(x7,y7)
- libra:
- COLOR 1
- h=14.75: d=-16: GOSUB coord: x1=x: y1=y: GOSUB mag1
- h=15.25: d=-9: GOSUB coord: x2=x: y2=y: GOSUB mag1
- h=15.62: d=-14: GOSUB coord: x3=x: y3=y: PSET (x,y)
- h=15.2: d=-19: GOSUB coord: x4=x: y4=y: PSET (x,y)
- COLOR cl: IF cl=0 THEN scorpius2
- LINE (x1,y1)-(x2,y2): LINE -(x3,y3): LINE -(x4,y4): LINE -(x1,y1)
- scorpius2:
- COLOR 1
- h=15.9: d=-26: GOSUB coord: GOSUB mag1
- h=15.95: d=-22: GOSUB coord: GOSUB mag1
- h=16.05: d=-19.5: GOSUB coord: GOSUB mag1
- corvus:
- COLOR 1
- h=12.55: d=-23: GOSUB coord: x1=x: y1=y: GOSUB mag1
- h=12.5: d=-16: GOSUB coord: x2=x: y2=y: PSET (x,y)
- h=12.25: d=-17.2: GOSUB coord: x3=x: y3=y: GOSUB mag1
- h=12.15: d=-22.2: GOSUB coord: x4=x: y4=y: PSET (x,y)
- COLOR cl: IF cl=0 THEN lynx
- LINE (x1,y1)-(x2,y2): LINE -(x3,y3): LINE -(x4,y4): LINE -(x1,y1)
- lynx:
- COLOR 1
- h=9.4: d=35: GOSUB coord: x1=x: y1=y: PSET (x,y)
- h=9.3: d=37: GOSUB coord: x2=x: y2=y: PSET (x,y)
- h=8.3: d=44: GOSUB coord: x3=x: y3=y: PSET (x,y)
- COLOR cl: IF cl=0 THEN leoMinor
- LINE (x1,y1)-(x2,y2): LINE -(x3,y3)
- leoMinor:
- COLOR 1
- h=11.35: d=34: GOSUB coord: x1=x: y1=y: PSET (x,y)
- h=10.9: d=35.2: GOSUB coord: x2=x: y2=y: PSET (x,y)
- h=10.4: d=35.1: GOSUB coord: x3=x: y3=y: PSET (x,y)
- h=10.47: d=37.6: GOSUB coord: x4=x: y4=y: PSET (x,y)
- COLOR cl: IF cl=0 THEN hydra
- LINE (x1,y1)-(x2,y2): LINE -(x3,y3): LINE -(x4,y4): LINE -(x2,y2)
- hydra:
- COLOR 1
- h=8.65: d=4.2: GOSUB coord: x1=x: y1=y: PSET (x,y)
- h=8.6: d=6.4: GOSUB coord: x2=x: y2=y: PSET (x,y)
- h=8.75: d=6.6: GOSUB coord: x3=x: y3=y: PSET (x,y)
- h=8.9: d=6.4: GOSUB coord: x4=x: y4=y: PSET (x,y)
- h=9.23: d=3.2: GOSUB coord: x5=x: y5=y: PSET (x,y)
- h=9.4: d=-8.5: GOSUB coord: x6=x: y6=y: GOSUB mag1
- h=10.15: d=-13: GOSUB coord: x7=x: y7=y: PSET (x,y)
- h=11.5: d=-32: GOSUB coord: x8=x: y8=y: PSET (x,y)
- h=11.96: d=-33.5: GOSUB coord: x9=x: y9=y: PSET (x,y)
- h=13.3: d=-22: GOSUB coord: x10=x: y10=y: PSET (x,y)
- h=14.05: d=-26: GOSUB coord: x11=x: y11=y: PSET (x,y)
- COLOR cl: IF cl=0 THEN bootes
- LINE (x1,y1)-(x2,y2): LINE -(x3,y3): LINE -(x4,y4): LINE -(x5,y5)
- LINE -(x6,y6): LINE -(x7,y7): LINE -(x8,y8): LINE -(x9,y9)
- LINE -(x10,y10): LINE -(x11,y11)
- bootes:
- COLOR 1
- h=13.9: d=19: GOSUB coord: x1=x: y1=y: GOSUB mag1
- h=14.27: d=19.5: GOSUB coord: x2=x: y2=y: GOSUB mag2
- h=14.7: d=27.7: GOSUB coord: x3=x: y3=y: GOSUB mag1
- h=15.28: d=34: GOSUB coord: x4=x: y4=y: PSET (x,y)
- h=15.03: d=41.6: GOSUB coord: x5=x: y5=y: PSET (x,y)
- h=14.46: d=40: GOSUB coord: x6=x: y6=y: GOSUB mag1
- h=14.5: d=31: GOSUB coord: x7=x: y7=y: PSET (x,y)
- h=14.68: d=14.8: GOSUB coord: x8=x: y8=y: PSET (x,y)
- COLOR cl: IF cl=0 THEN divers2
- LINE (x1,y1)-(x2,y2): LINE -(x3,y3): LINE -(x4,y4): LINE -(x5,y5)
- LINE -(x6,y6): LINE -(x7,y7): LINE -(x2,y2): LINE -(x8,y8)
- divers2:
- COLOR 1
- h=8.1: d=-24: GOSUB coord: GOSUB mag1
- h=13.32: d=-36.5: GOSUB coord: GOSUB mag1
- h=14.05: d=-36: GOSUB coord: GOSUB mag1
- h=14.57: d=-42: GOSUB coord: GOSUB mag1
- h=14.92: d=-43: GOSUB coord: GOSUB mag1
- h=15.55: d=-41: GOSUB coord: GOSUB mag1
- h=15.7: d=7: GOSUB coord: GOSUB mag1
- h=15.6: d=27.5: GOSUB coord: GOSUB mag1
- h=12.9: d=39: GOSUB coord: GOSUB mag1
- h=12.6: d=42: GOSUB coord: PSET (x,y)
- h=11.3: d=-15: GOSUB coord: PSET (x,y)
-
- IF ppass<>11 THEN GOSUB Planet
- IF ppass=11 THEN GOSUB Planets: GOTO SuitePln
-
- LOCATE 30,40: INPUT "",a$
- GOTO Others
-
- ZodIII:
- '******************************************************
- ' Zodiac for R.A. 16 to 24 hours *
- '******************************************************
- dx = 15: dy = 120: dh=16: b=47
- DEF FNeclipt3(x) =dy+b*SIN((x)/900*pi)
- coul = 3
- h=hp: d=dp: GOSUB coord: xp=x: yp=y
- LOCATE 5,30: PRINT "ZODIACAL SIGHT"
- LOCATE 10,15: INPUT "With referencial grid? .................. (Y/N) : ",a$
- LOCATE 12,15: INPUT "With symbolic out-line of constellations? (Y/N) : ",b$
- cl = 2
- a$=UCASE$(LEFT$(a$,1))
- b$=UCASE$(LEFT$(b$,1))
- CLS
- LOCATE 1,5: t$=UCASE$(t$)
- pln$="planet ": IF t$="M O O N" THEN pln$=""
- COLOR 3
- PRINT "Position of "; pln$; t$;" the "mois"/"jour"/"annee" at "heure"h"minute
- COLOR 1
- IF a$= "N" AND b$ = "N" THEN coul=0: cl=0: GOTO eclipticIII
- IF a$ = "N" AND b$ <> "N" THEN coul=0: cl = 2: GOTO eclipticIII
- IF b$ = "N" THEN cl = 0
-
- ' right ascension
- FOR i=0 TO 8
- LINE (dx+75*i,20)-(dx+75*i,220),coul
- NEXT
- LOCATE 2,1
- PRINT "A.D."
- LOCATE 3,2
- PRINT "24h"; TAB(12)"23h";TAB(21)"22h";TAB(30)"21h";TAB(39)"20h";
- PRINT TAB(49)"19h";TAB(58)"18h";TAB(67)"17h";TAB(77)"16h"
-
- ' déclination
- FOR i=1 TO 7
- FOR j=0 TO 635 STEP 2
- LINE (j,30*i)-(j,30*i),coul
- NEXT j,i
- LOCATE 8,2: PRINT "30°"
- LOCATE 15,2: PRINT "0°"
- LOCATE 23,1: PRINT "-30°"
-
- eclipticIII:
- FOR i=-dx TO 600+dx STEP 3
- y=FNeclipt3(i)
- PSET (dx+i,y),3
- NEXT
-
- LOCATE 28,5
- PRINT "A Q U A R I U S"; TAB(25) "C A P R I C ";
- PRINT TAB(44) "S A G I T T" ; TAB(62) "S C O R P I U S"
-
- ' stars
- PATTERN &H8888
- scorpius3:
- COLOR 1
- h=15.9: d=-25.5: GOSUB coord: x1=x: y1=y: GOSUB mag1
- h=15.96: d=-22: GOSUB coord: x2=x: y2=y: GOSUB mag1
- h=16.05: d=-20: GOSUB coord: x3=x: y3=y: GOSUB mag1
- h=16.45: d=-25.8: GOSUB coord: x4=x: y4=y: GOSUB mag2
- h=16.55: d=-26: GOSUB coord: x5=x: y5=y: GOSUB mag1
- h=16.75: d=-34: GOSUB coord: x6=x: y6=y: GOSUB mag1
- h=16.8: d=-37: GOSUB coord: x7=x: y7=y: PSET (x,y)
- h=16.85: d=-41.2: GOSUB coord: x8=x: y8=y: PSET (x,y)
- h=17.15: d=-42.5: GOSUB coord: x9=x: y9=y: PSET (x,y)
- h=17.6: d=-42: GOSUB coord: x10=x: y10=y: GOSUB mag1
- h=17.68: d=-38: GOSUB coord: x11=x: y11=y: GOSUB mag1
- h=17.6: d=-36: GOSUB coord: x12=x: y12=y: GOSUB mag1
- h=17.5: d=-36.4: GOSUB coord: x13=x: y13=y: GOSUB mag1
- COLOR cl: IF cl=0 THEN sagittarius
- LINE (x1,y1)-(x2,y2): LINE -(x3,y3): LINE -(x4,y4): LINE -(x5,y5)
- LINE -(x6,y6): LINE -(x7,y7): LINE -(x8,y8): LINE -(x9,y9)
- LINE -(x10,y10): LINE -(x11,y11): LINE -(x12,y12): LINE -(x13,y13)
- sagittarius:
- COLOR 1
- h=18.3: d=-36: GOSUB coord: x1=x: y1=y: PSET (x,y)
- h=18.4: d=-35: GOSUB coord: x2=x: y2=y: GOSUB mag1
- h=18.3: d=-29.7: GOSUB coord: x3=x: y3=y: GOSUB mag1
- h=18.4: d=-27: GOSUB coord: x4=x: y4=y: GOSUB mag1
- h=18.7: d=-28: GOSUB coord: x5=x: y5=y: PSET (x,y)
- h=18.95: d=-30: GOSUB coord: x6=x: y6=y: GOSUB mag1
- h=19.1: d=-27: GOSUB coord: x7=x: y7=y: PSET (x,y)
- h=18.9: d=-26: GOSUB coord: x8=x: y8=y: GOSUB mag1
- h=18.2: d=-19: GOSUB coord: x9=x: y9=y: PSET (x,y)
- h=18.93: d=-19.3: GOSUB coord: x10=x: y10=y: PSET (x,y)
- h=19.1: d=-18.7: GOSUB coord: x11=x: y11=y: PSET (x,y)
- COLOR cl: IF cl=0 THEN capricornus
- LINE (x1,y1)-(x2,y2): LINE -(x3,y3): LINE -(x4,y4): LINE -(x5,y5)
- LINE -(x6,y6): LINE -(x7,y7): LINE -(x8,y8): LINE -(x5,y5)
- LINE (x4,y4)-(x9,y9): LINE -(x10,y10): LINE -(x11,y11)
- capricornus:
- COLOR 1
- h=20.27: d=-15: GOSUB coord: x1=x: y1=y: PSET (x,y)
- h=21.07: d=-16.5: GOSUB coord: x2=x: y2=y: PSET (x,y)
- h=21.4: d=-16.5: GOSUB coord: x3=x: y3=y: PSET (x,y)
- h=21.75: d=-16: GOSUB coord: x4=x: y4=y: GOSUB mag1
- COLOR cl: IF cl=0 THEN aquarius
- LINE (x1,y1)-(x2,y2): LINE -(x3,y3): LINE -(x4,y4)
- aquarius:
- COLOR 1
- h=20.8: d=-10: GOSUB coord: x1=x: y1=y: PSET (x,y)
- h=21.5: d=-6: GOSUB coord: x2=x: y2=y: PSET (x,y)
- h=22.1: d=0: GOSUB coord: x3=x: y3=y: GOSUB mag1
- h=22.35: d=-.5: GOSUB coord: x4=x: y4=y: GOSUB mag1
- h=22.9: d=-16: GOSUB coord: x5=x: y5=y: PSET (x,y)
- COLOR cl: IF cl=0 THEN serpens
- LINE (x1,y1)-(x2,y2): LINE -(x3,y3): LINE -(x4,y4): LINE -(x5,y5)
- serpens:
- COLOR 1
- h=15.95: d=16.3: GOSUB coord: x1=x: y1=y: PSET (x,y)
- h=15.8: d=16: GOSUB coord: x2=x: y2=y: PSET (x,y)
- h=15.6: d=12: GOSUB coord: x3=x: y3=y: PSET (x,y)
- h=15.75: d=7: GOSUB coord: x4=x: y4=y: GOSUB mag1
- h=15.8: d=-4: GOSUB coord: x5=x: y5=y: PSET (x,y)
- h=16.6: d=-10: GOSUB coord: x6=x: y6=y: GOSUB mag1
- h=17.1: d=-15.2: GOSUB coord: x7=x: y7=y: GOSUB mag1
- h=17.3: d=-23: GOSUB coord: x8=x: y8=y: PSET (x,y)
- h=16.2: d=-4: GOSUB coord: x9=x: y9=y: PSET (x,y)
- h=16.55: d=3: GOSUB coord: x10=x: y10=y: PSET (x,y)
- h=16.95: d=11: GOSUB coord: x11=x: y11=y: PSET (x,y)
- h=17.6: d=13: GOSUB coord: x12=x: y12=y: GOSUB mag1
- h=17.7: d=5.5: GOSUB coord: x13=x: y13=y: GOSUB mag1
- h=17.8: d=3.8: GOSUB coord: x14=x: y14=y: PSET (x,y)
- COLOR cl: IF cl=0 THEN aquila
- LINE (x1,y1)-(x2,y2): LINE -(x3,y3): LINE -(x4,y4): LINE -(x5,y5)
- LINE -(x6,y6): LINE -(x7,y7): LINE -(x8,y8): LINE (x6,y6)-(x9,y9)
- LINE -(x10,y10): LINE -(x11,y11): LINE -(x12,y12)
- LINE -(x13,y13): LINE -(x14,y14)
- aquila:
- COLOR 1
- h=19.1: d=-6: GOSUB coord: x1=x: y1=y: PSET (x,y)
- h=19.4: d=5: GOSUB coord: x2=x: y2=y: PSET (x,y)
- h=19.8: d=10: GOSUB coord: x3=x: y3=y: GOSUB mag2
- h=19.75: d=12: GOSUB coord: x4=x: y4=y: GOSUB mag1
- h=19.92: d=8: GOSUB coord: x5=x: y5=y: PSET (x,y)
- h=20.2: d=-.5: GOSUB coord: x6=x: y6=y: PSET (x,y)
- h=19.65: d=0: GOSUB coord: x7=x: y7=y: PSET (x,y)
- h=19.05: d=14.5: GOSUB coord: x8=x: y8=y: PSET (x,y)
- COLOR cl: IF cl=0 THEN pegasus3
- LINE (x1,y1)-(x2,y2): LINE -(x3,y3): LINE (x3,y3)-(x4,y4)
- LINE -(x5,y5): LINE -(x6,y6): LINE (x7,y7)-(x2,y2): LINE -(x8,y8)
- pegasus3:
- COLOR 1
- h=21.7: d=9.5: GOSUB coord: x1=x: y1=y: GOSUB mag1
- h=22.17: d=7: GOSUB coord: x2=x: y2=y: PSET (x,y)
- h=22.7: d=12.5: GOSUB coord: x3=x: y3=y: PSET (x,y)
- h=23.07: d=15: GOSUB coord: x4=x: y4=y: GOSUB mag1
- h=24.15: d=15: GOSUB coord: x5=x: y5=y: GOSUB mag1
- h=24.1: d=29.2: GOSUB coord: x6=x: y6=y: GOSUB mag1
- h=23.05: d=28: GOSUB coord: x7=x: y7=y: GOSUB mag1
- COLOR cl: IF cl=0 THEN piscisAust
- LINE (x1,y1)-(x2,y2): LINE -(x3,y3): LINE -(x4,y4): LINE -(x5,y5)
- LINE -(x6,y6): LINE -(x7,y7): LINE -(x4,y4)
- piscisAust:
- COLOR 1
- h=22.5: d=-32: GOSUB coord: x1=x: y1=y: PSET (x,y)
- h=22.9: d=-30: GOSUB coord: x2=x: y2=y: GOSUB mag1
- h=22.65: d=-26: GOSUB coord: x3=x: y3=y: PSET (x,y)
- COLOR cl: IF cl=0 THEN cygnus
- LINE (x1,y1)-(x2,y2): LINE -(x3,y3)
- cygnus:
- COLOR 1
- h=21.8: d=30: GOSUB coord: x1=x: y1=y: PSET (x,y)
- h=21.25: d=30: GOSUB coord: x2=x: y2=y: PSET (x,y)
- h=20.75: d=34: GOSUB coord: x3=x: y3=y: GOSUB mag1
- h=20.36: d=42: GOSUB coord: x4=x: y4=y: GOSUB mag1
- h=19.75: d=45: GOSUB coord: x5=x: y5=y: GOSUB mag1
- h=20.58: d=45: GOSUB coord: x6=x: y6=y: GOSUB mag1
- h=19.54: d=28: GOSUB coord: x7=x: y7=y: PSET (x,y)
- COLOR cl: IF cl=0 THEN lyra
- LINE (x1,y1)-(x2,y2): LINE -(x3,y3): LINE -(x4,y4): LINE -(x5,y5)
- LINE (x6,y6)-(x4,y4): LINE -(x7,y7)
- lyra:
- COLOR 1
- h=18.6: d=39: GOSUB coord: x1=x: y1=y: GOSUB mag2
- h=18.8: d=34: GOSUB coord: x2=x: y2=y: PSET (x,y)
- h=19: d=33: GOSUB coord: x3=x: y3=y: PSET (x,y)
- h=19.28: d=38.5: GOSUB coord: x4=x: y4=y: PSET (x,y)
- COLOR cl: IF cl=0 THEN hercules
- LINE (x1,y1)-(x2,y2): LINE -(x3,y3): LINE -(x4,y4): LINE -(x1,y1)
- hercules:
- COLOR 1
- h=17.95: d=38.5: GOSUB coord: x1=x: y1=y: PSET (x,y)
- h=17.28: d=38: GOSUB coord: x2=x: y2=y: PSET (x,y)
- h=16.7: d=39: GOSUB coord: x3=x: y3=y: PSET (x,y)
- h=16.65: d=32.7: GOSUB coord: x4=x: y4=y: GOSUB mag1
- h=16.45: d=21: GOSUB coord: x5=x: y5=y: GOSUB mag1
- h=17.23: d=15: GOSUB coord: x6=x: y6=y: PSET (x,y)
- h=17.23: d=25.3: GOSUB coord: x7=x: y7=y: PSET (x,y)
- h=17: d=31.5: GOSUB coord: x8=x: y8=y: PSET (x,y)
- h=17.8: d=28: GOSUB coord: x9=x: y9=y: PSET (x,y)
- COLOR cl: IF cl=0 THEN divers3
- LINE (x1,y1)-(x2,y2): LINE -(x3,y3): LINE -(x4,y4): LINE -(x5,y5)
- LINE -(x6,y6): LINE -(x7,y7): LINE -(x8,y8): LINE -(x2,y2)
- LINE (x9,y9)-(x7,y7): LINE (x4,y4)-(x8,y8)
- divers3:
- COLOR 1
- h=20.6: d=15: GOSUB coord: PSET (x,y)
-
- IF ppass<>11 THEN GOSUB Planet
- IF ppass=11 THEN GOSUB Planets: GOTO SuitePln
-
- LOCATE 30,40: INPUT "",a$
- GOTO Others
-
- coord:
- x=615-75*(h-dh): y=120-2*d
- RETURN
-
- mag1:
- FOR i=-1 TO 1
- PSET (x,y+i): PSET (x+2*i,y)
- NEXT
- RETURN
-
- mag2:
- FOR i=-2 TO 2
- PSET (x,y+i): PSET (x+2*i,y)
- PSET (x-1,y-1): PSET (x-1,y+1): PSET (x+1,y-1): PSET (x+1,y+1)
- NEXT
- RETURN
-
- Planet:
- COLOR 3
- x=xp: y=yp
- PSET (x,y-2): PSET (x-2,y-1): PSET (x,y-1): PSET (x+2,y-1)
- PSET (x-1,y-1): PSET (x+1,y-1)
- PSET (x-4,y): PSET (x-2,y): PSET (x,y): PSET (x+2,y): PSET (x+4,y)
- PSET (x-3,y): PSET (x-1,y): PSET (x+1,y): PSET (x+3,y)
- PSET (x-2,y+1): PSET (x,y+1): PSET (x+2,y+1): PSET (x,y+2)
- PSET (x-1,y+1): PSET (x+1,y+1)
- COLOR 1
- PSET (x,y)
- CIRCLE (x,y),12,1,,,.52
- RETURN
-
- Planets:
- FOR i=1 TO 4
- h=hp(i): d=dp(i): GOSUB coord
- COLOR 3
- PSET (x,y-2): PSET (x-2,y-1): PSET (x,y-1): PSET (x+2,y-1)
- PSET (x-1,y-1): PSET (x+1,y-1)
- PSET (x-4,y): PSET (x-2,y): PSET (x,y): PSET (x+2,y): PSET (x+4,y)
- PSET (x-3,y): PSET (x-1,y): PSET (x+1,y): PSET (x+3,y)
- PSET (x-2,y+1): PSET (x,y+1): PSET (x+2,y+1): PSET (x,y+2)
- PSET (x-1,y+1): PSET (x+1,y+1)
- COLOR 1
- PSET (x,y)
- IF i>1 THEN Fplns
- CIRCLE (x,y),6,1,,,.52
- Fplns:
- NEXT
- RETURN
-
-
- SuitePln:
- LOCATE 30,40: INPUT "",a$
- retro=1: ppass=0
- GOTO Others
-
-