home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C64'er
/
C64'er.iso
/
85xx
/
8505.d64
/
sternenhimmel
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
14KB
|
598 lines
0 REM ********************************
1 REM * *
2 REM * STERNENHIMMEL *
3 REM * *
4 REM * HORST HINKELMANN *
5 REM * NICOLAISTR. 6 *
6 REM * 4700 HAMM 1 *
7 REM * TELEFON 02385/1653 *
8 REM * *
9 REM ********************************
10 GOTO50000
96 REM **********************
97 REM * STERN SETZEN *
98 REM **********************
100 REM ** STUNDENWINKEL **
120 SW=FNMO(AR-RE-L)
130 REM ** BOGENMASS **
140 SW=SW*P1
150 REM ** KOORDINATEN-TRANSFORMATION **
160 H=FNAS(SB*SIN(DE)+CB*COS(DE)*COS(SW))
170 IFH<0THENX=0:Y=0:RETURN
180 A=FNAC((SIN(DE)-SB*SIN(H))/(CB*COS(H)))
190 IFSW<PITHENA=-A
200 REM ** GRADMASS **
210 R=99-H*198/PI:W=-A-PI/2
220 X=INT(COS(W)*R*1.1+159.5)
230 Y=INT(SIN(W)*R+99.5)
240 dX,Y,1
296 REM ***********************
297 REM * do UEBERSCHREIBEN *
298 REM ***********************
300 N$=LEFT$(N$,13)
310 IFN3$<>N$THENGOSUB340
320 IFN4$<>N1$THENGOSUB360
330 RETURN
340 N3$=N$:d0,184,103,191,0
350 do0,184,N$,1,0,8:RETURN
360 N4$=N1$:d0,192,119,199,0
370 d216,192,319,199,0
380 do0,192,N1$,1,0,8
390 do319-8*LEN(N2$),192,N2$,1,0,8
395 RETURN
396 REM ***********************
397 REM * FEHLERMELDUNGEN *
398 REM ***********************
400 N1$=LEFT$(N1$,9)
410 do0,192,N1$+" NICHT",1,0,8
420 do232,192,"SICHTBAR",1,0,8
430 GOTO41000
450 N$=LEFT$(N$,9)
460 do0,192,N$+" NICHT",1,0,8
470 do232,192,"GESPEICHERT",1,0,8
480 GOTO41000
496 REM ***********************
497 REM * KREUZ BEWEGEN *
498 REM ***********************
500 HN=X+19:VN=Y+46
510 d,HV,VV,HN,VN,0,100
520 GOTO300
596 REM ***********************
597 REM * BUCHSTABEN LOESCHEN *
598 REM ***********************
600 LE=LEN(N$)-1
610 dLE*8,184,LE*8+7,199,0
620 N$=LEFT$(N$,LE)
630 RETURN
996 REM ************************
997 REM * BILDSCHIRM ERSTELLEN *
998 REM ************************
1000 d7,6
1010 dB160,100,110,100,1
1020 HU=0:IFB<0THENHU=200
1030 IFB<0THENdB160,HU+B/9*10,2,2,1
1040 do1,0,MID$(STR$(T),2)+"."+MID$(STR$(M),2)+"."+MID$(STR$(J),2),1,0,8
1050 do1,8,"OZ"+OZ$,1,0,8
1060 do1,16,"WZ"+WZ$,1,0,8
1070 T$=MID$(STR$(INT(B+.5)),2,4)
1080 SP$=RIGHT$(" ",3-LEN(T$))
1090 do216,0,"BREITE "+SP$+T$,1,0,8
1100 T$=MID$(STR$(INT(L+.5)),2,4)
1110 SP$=RIGHT$(" ",3-LEN(T$))
1120 B$="N":IFB<0THENB$="S"
1130 do304,0,B$,1,0,8
1140 do216,8,"LAENGE "+SP$+T$,1,0,8
1150 L$="W":IFL<0THENL$="O"
1160 do304,8,L$,1,0,8
1170 do32,96,"O",1,0,8
1180 do280,96,"W",1,0,8
1190 GOSUB2010
1200 GOSUB2110
1210 do288,128,"F5 =",1,0,8
1220 do288,136,"COPY",1,0,8
1230 do288,152,"F7 =",1,0,8
1240 do256,160,"NEUSTART",1,0,8
1250 RETURN
2000 d0,128,39,143,0
2010 do0,128,"F1 =",1,0,8
2020 do0,136,"STERN",1,0,8
2030 RETURN
2050 d0,128,39,143,0
2060 do0,128,"SUCHT",1,0,8
2070 do0,136,"STERN",1,0,8
2080 RETURN
2100 d0,152,39,159,0
2110 d0,160,71,167,0
2120 do0,152,"F3 =",1,0,8
2130 do0,160,"STERNBILD",1,0,8
2140 RETURN
2150 d0,152,39,159,0
2160 d0,160,71,167,0
2170 do0,152,"SUCHT",1,0,8
2180 do0,160,"STERNBILD",1,0,8
2190 RETURN
4996 REM **********************
4997 REM * d KREUZ *
4998 REM **********************
5000 db 0,32*64+49152
5020 @.....B..................
5030 @.....B..................
5040 @.....B..................
5050 @.....B..................
5060 @B.B.B.B.B.B.............
5070 @.....B..................
5080 @.....B..................
5090 @.....B..................
5100 @.....B..................
5110 @........................
5120 @........................
5130 @........................
5140 @........................
5150 @........................
5160 @........................
5170 @........................
5180 @........................
5190 @........................
5200 @........................
5210 @........................
5220 @........................
5230 d 1,32,0,1,0
5240 HN=179:VN=145
5250 d,HV,VV,HN,VN,0,0
5260 RETURN
9996 REM *********************
9997 REM * ERDE/SONNE/MOND *
9998 REM *********************
10000 REM ** ERDE **
10100 BE=FNMO(TG*.985609121+99.18)
10200 EL=FNMO(BE+SIN((BE-102.2)*P1)*1.845)
10300 EA=1+SIN((EL-192.2)*P1)*.0167
11000 REM ** SONNE **
11200 LS=FNMO(EL+180)
12000 REM ** MOND **
12010 LM=TG*13.1763976+51.23
12020 PM=TG*.111399014+208.9
12030 KM=372.1-TG*.052953643
12040 LM=FNMO(LM)
12050 PM=FNMO(PM)
12060 KM=FNMO(KM)
12070 AM=LM-PM
12080 KM=KM-SIN(AS*P1)*.16
12090 MS=(LM-LS)*2-AM
12100 AM=AM+SIN(MS*P1)*1.27388889-SIN(AS*P1)*(.18638889+.36)
12110 LM=LM+SIN(MS*P1)*1.27388889-SIN(AS*P1)*.18638889+SIN(AM*P1)*6.28833333
12120 M1=LM-LS
12130 LM=LM+SIN(M1*2*P1)*.658333333
12140 M2=LM-KM
12150 LM=LM-SIN(M2*2*P1)*.12
12160 BM=SIN(M2*P1)*5.14539
12170 M3=(LM-LS)*2-M2
12180 BM=BM+SIN(M3*P1)*.15
15000 N$="SONNE":AL=LS:AB=0:GOSUB30000
15010 IFX=0GOTO15040
15020 dBX,Y,4,3,1
15030 duX+1,Y,1
15040 N$="MOND":AL=LM:AB=BM:GOSUB30000
15050 IFX=0GOTO15080
15060 dX,Y,0
15070 dBX,Y,4,3,1
15080 RETURN
19996 REM *********************
19997 REM * PLANETEN *
19998 REM *********************
20000 d062500
20010 FORZ=0TO5
20020 READN$,TB,EP,PH,MP,E,KN,I,AE
20030 P$(Z)=N$
20040 ML=FNMO(TB*TG+EP)
20050 WL=ML+SIN((ML-PH)*P1)*MP
20060 SP=AE+SIN((WL-PH-90)*P1)*E*AE
20070 WS=FNMO(C+EL-WL)*P1:SI=SIN(WS)
20080 FL=EA/SP-COS(WS)
20090 WE=ATN(SI/FL)*P2
20100 AL=FNMO(EL+WE-180*(FL>=0))
20110 WT=SIN((WL-KN)*P1)*I
20120 AB=ATN(TAN(WT*P1)*ABS(SIN(WE*P1)/SI))*P2
20130 GOSUB30000
20140 P(2*Z)=X:P(2*Z+1)=Y
20150 NEXT
20160 RETURN
24996 REM *********************
24997 REM * FIXSTERNE *
24998 REM *********************
25000 d060000
25010 FORS=1TOI1
25020 READRE,DE,N$,A
25030 DE=DE*P1
25040 N1$=Z$(A,1):N2$=Z$(A,0)
25050 GOSUB100
25060 Z%(S)=X:Z%(S+I2)=Y
25070 NEXT
25080 RETURN
29996 REM *********************
29997 REM * REKTAS./DEKdY. *
29998 REM *********************
30000 SN=SIN(AB*P1):CS=COS(AB*P1)
30010 SL=SIN(AL*P1):CL=COS(AL*P1)
30020 DE=FNAS(EC*SN+ES*CS*SL)
30030 RE=2*ATN((EC*CS*SL-ES*SN)/(COS(DE)+CS*CL))
30040 RE=FNMO(RE*P2)
30050 GOTO100
39996 REM *********************
39997 REM * EINGABEN *
39998 REM *********************
40000 GETG$:IFG$=""THENV=1:GOTO40000
40010 P=ASC(G$)
40020 IFP=17THENVN=VN+V:GOTO41000
40030 IFP=145THENVN=VN-V:GOTO41000
40040 IFP=29THENHN=HN+V:GOTO41000
40050 IFP=157THENHN=HN-V:GOTO41000
40060 IFP=133THENGOSUB2050:GOTO42000
40070 IFP=134THENGOSUB2150:GOTO42000
40080 IFP=135GOTO57000
40090 IFP=136GOTO58000
40100 IFP>64ANDP<91GOTO47000
40110 GOTO40000
41000 V=V+.5
41010 d,HN,VN,HN,VN,0,0
41020 GOTO40000
42000 X=INT(HN-19):Y=INT(VN-46)
42010 XM=200000
42020 IFP=134GOTO44000
42030 FORA=0TO10STEP2
42035 F=P(A)-X:H=P(A+1)-Y
42040 XX=F*F+H*H
42050 IFXX<XMTHENXM=XX:ZP=A
42060 IFXX=0THENA=12
42070 NEXT
42080 N$=P$(ZP/2):N1$=" ":N2$=" "
42090 IFXX=0GOTO45000
44000 XP=XM
44010 FORA=0TOI1
44015 F=Z%(A)-X:H=Z%(A+I2)-Y
44020 XX=F*F+H*H
44030 IFXX<XMTHENXM=XX:Z=A
44040 IFXX=0THENA=I2
44050 NEXT
44060 X=P(ZP):Y=P(ZP+1)
44070 IFXP=XMGOTO45000
44080 X=Z%(Z):Y=Z%(Z+I2)
44090 d060000+Z*10
44100 READRE,DE,N$,D
44110 N1$=Z$(D,1):N2$=Z$(D,0)
44120 IFP=134THENZ1=Z:Z=D:GOSUB2100:GOTO48060
45000 GOSUB2000
45010 HV=HN:VV=VN:GOSUB500:GOTO40000
47000 N$=G$:N1$=" ":N2$=" "
47010 GOSUB340:GOSUB360
47020 GETG$:IFG$=""GOTO47020
47030 IFASC(G$)=20THENGOSUB600:GOTO47020
47040 IFASC(G$)=13GOTO47060
47050 N$=N$+G$:GOSUB350:GOTO47020
47060 P=0:Z=-1
47070 FORS=0TO5
47080 IFd(N$,P$(S))THENZ=S:S=5
47090 NEXT
47100 IFZ<0GOTO48000
47110 HV=HN:VV=VN
47120 X=P(2*Z):Y=P(2*Z+1)
47130 N1$=P$(Z):N2$=" "
47140 IFX=0GOTO400
47150 GOSUB500:GOTO40000
48000 FORS=0TOI3
48010 IFd(N$,Z$(S,0))THENZ=S:S=I3
48020 IFd(N$,Z$(S,1))THENZ=S:S=I3
48030 NEXT
48040 IFZ<0GOTO49000
48050 Z1=-1
48060 A1=Z(Z,1):A2=A1+Z(Z,0)
48070 IFZ1>=0GOTO48120
48080 FORA=A1TOA2
48090 IFZ%(A)THENZ1=A:A=A2
48100 NEXT
48110 IFZ1<0THENN1$=Z$(Z,1):GOTO400
48120 F=0:HV=HN:VV=VN
48130 N1$=Z$(Z,1):N2$=Z$(Z,0)
48140 X=Z%(Z1):Y=Z%(Z1+I2):GOSUB500
48150 FORA=A1TOA2
48160 X=Z%(A)
48170 IFXTHENdX,Z%(A+I2),F
48180 NEXT
48190 F=1-F
48200 IFF=1GOTO48150
48210 GETG$:P=ASC(G$+CHR$(0))
48220 IFPGOTO40020
48240 FORA=1TO1000*F+10:NEXT
48250 GOTO48150
49000 d060000
49010 FORS=1TOI1
49020 READRE,DE,S$,A
49030 IFd(N$,S$)THENZ=S:S=I2
49040 NEXT
49050 IFZ<0THENHN=X+19