home *** CD-ROM | disk | FTP | other *** search
/ C64'er / C64'er.iso / 85xx / 8505.d64 / sternenhimmel (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  14KB  |  598 lines

  1. 0 REM ********************************
  2. 1 REM *                              *
  3. 2 REM *        STERNENHIMMEL         *
  4. 3 REM *                              *
  5. 4 REM *      HORST  HINKELMANN       *
  6. 5 REM *        NICOLAISTR. 6         *
  7. 6 REM *         4700 HAMM 1          *
  8. 7 REM *     TELEFON  02385/1653      *
  9. 8 REM *                              *
  10. 9 REM ********************************
  11. 10 GOTO50000
  12. 96 REM **********************
  13. 97 REM *    STERN SETZEN    *
  14. 98 REM **********************
  15. 100 REM ** STUNDENWINKEL **
  16. 120 SW=FNMO(AR-RE-L)
  17. 130 REM ** BOGENMASS **
  18. 140 SW=SW*P1
  19. 150 REM ** KOORDINATEN-TRANSFORMATION **
  20. 160 H=FNAS(SB*SIN(DE)+CB*COS(DE)*COS(SW))
  21. 170 IFH<0THENX=0:Y=0:RETURN
  22. 180 A=FNAC((SIN(DE)-SB*SIN(H))/(CB*COS(H)))
  23. 190 IFSW<PITHENA=-A
  24. 200 REM ** GRADMASS **
  25. 210 R=99-H*198/PI:W=-A-PI/2
  26. 220 X=INT(COS(W)*R*1.1+159.5)
  27. 230 Y=INT(SIN(W)*R+99.5)
  28. 240 dX,Y,1
  29. 296 REM ***********************
  30. 297 REM * do UEBERSCHREIBEN *
  31. 298 REM ***********************
  32. 300 N$=LEFT$(N$,13)
  33. 310 IFN3$<>N$THENGOSUB340
  34. 320 IFN4$<>N1$THENGOSUB360
  35. 330 RETURN
  36. 340 N3$=N$:d0,184,103,191,0
  37. 350 do0,184,N$,1,0,8:RETURN
  38. 360 N4$=N1$:d0,192,119,199,0
  39. 370 d216,192,319,199,0
  40. 380 do0,192,N1$,1,0,8
  41. 390 do319-8*LEN(N2$),192,N2$,1,0,8
  42. 395 RETURN
  43. 396 REM ***********************
  44. 397 REM *   FEHLERMELDUNGEN   *
  45. 398 REM ***********************
  46. 400 N1$=LEFT$(N1$,9)
  47. 410 do0,192,N1$+" NICHT",1,0,8
  48. 420 do232,192,"SICHTBAR",1,0,8
  49. 430 GOTO41000
  50. 450 N$=LEFT$(N$,9)
  51. 460 do0,192,N$+" NICHT",1,0,8
  52. 470 do232,192,"GESPEICHERT",1,0,8
  53. 480 GOTO41000
  54. 496 REM ***********************
  55. 497 REM *    KREUZ BEWEGEN    *
  56. 498 REM ***********************
  57. 500 HN=X+19:VN=Y+46
  58. 510 d,HV,VV,HN,VN,0,100
  59. 520 GOTO300
  60. 596 REM ***********************
  61. 597 REM * BUCHSTABEN LOESCHEN *
  62. 598 REM ***********************
  63. 600 LE=LEN(N$)-1
  64. 610 dLE*8,184,LE*8+7,199,0
  65. 620 N$=LEFT$(N$,LE)
  66. 630 RETURN
  67. 996 REM ************************
  68. 997 REM * BILDSCHIRM ERSTELLEN *
  69. 998 REM ************************
  70. 1000 d7,6
  71. 1010 dB160,100,110,100,1
  72. 1020 HU=0:IFB<0THENHU=200
  73. 1030 IFB<0THENdB160,HU+B/9*10,2,2,1
  74. 1040 do1,0,MID$(STR$(T),2)+"."+MID$(STR$(M),2)+"."+MID$(STR$(J),2),1,0,8
  75. 1050 do1,8,"OZ"+OZ$,1,0,8
  76. 1060 do1,16,"WZ"+WZ$,1,0,8
  77. 1070 T$=MID$(STR$(INT(B+.5)),2,4)
  78. 1080 SP$=RIGHT$("   ",3-LEN(T$))
  79. 1090 do216,0,"BREITE "+SP$+T$,1,0,8
  80. 1100 T$=MID$(STR$(INT(L+.5)),2,4)
  81. 1110 SP$=RIGHT$("   ",3-LEN(T$))
  82. 1120 B$="N":IFB<0THENB$="S"
  83. 1130 do304,0,B$,1,0,8
  84. 1140 do216,8,"LAENGE "+SP$+T$,1,0,8
  85. 1150 L$="W":IFL<0THENL$="O"
  86. 1160 do304,8,L$,1,0,8
  87. 1170 do32,96,"O",1,0,8
  88. 1180 do280,96,"W",1,0,8
  89. 1190 GOSUB2010
  90. 1200 GOSUB2110
  91. 1210 do288,128,"F5 =",1,0,8
  92. 1220 do288,136,"COPY",1,0,8
  93. 1230 do288,152,"F7 =",1,0,8
  94. 1240 do256,160,"NEUSTART",1,0,8
  95. 1250 RETURN
  96. 2000 d0,128,39,143,0
  97. 2010 do0,128,"F1 =",1,0,8
  98. 2020 do0,136,"STERN",1,0,8
  99. 2030 RETURN
  100. 2050 d0,128,39,143,0
  101. 2060 do0,128,"SUCHT",1,0,8
  102. 2070 do0,136,"STERN",1,0,8
  103. 2080 RETURN
  104. 2100 d0,152,39,159,0
  105. 2110 d0,160,71,167,0
  106. 2120 do0,152,"F3 =",1,0,8
  107. 2130 do0,160,"STERNBILD",1,0,8
  108. 2140 RETURN
  109. 2150 d0,152,39,159,0
  110. 2160 d0,160,71,167,0
  111. 2170 do0,152,"SUCHT",1,0,8
  112. 2180 do0,160,"STERNBILD",1,0,8
  113. 2190 RETURN
  114. 4996 REM **********************
  115. 4997 REM *    d KREUZ     *
  116. 4998 REM **********************
  117. 5000 db 0,32*64+49152
  118. 5020 @.....B..................
  119. 5030 @.....B..................
  120. 5040 @.....B..................
  121. 5050 @.....B..................
  122. 5060 @B.B.B.B.B.B.............
  123. 5070 @.....B..................
  124. 5080 @.....B..................
  125. 5090 @.....B..................
  126. 5100 @.....B..................
  127. 5110 @........................
  128. 5120 @........................
  129. 5130 @........................
  130. 5140 @........................
  131. 5150 @........................
  132. 5160 @........................
  133. 5170 @........................
  134. 5180 @........................
  135. 5190 @........................
  136. 5200 @........................
  137. 5210 @........................
  138. 5220 @........................
  139. 5230 d 1,32,0,1,0
  140. 5240 HN=179:VN=145
  141. 5250 d,HV,VV,HN,VN,0,0
  142. 5260 RETURN
  143. 9996 REM *********************
  144. 9997 REM *  ERDE/SONNE/MOND  *
  145. 9998 REM *********************
  146. 10000 REM ** ERDE **
  147. 10100 BE=FNMO(TG*.985609121+99.18)
  148. 10200 EL=FNMO(BE+SIN((BE-102.2)*P1)*1.845)
  149. 10300 EA=1+SIN((EL-192.2)*P1)*.0167
  150. 11000 REM ** SONNE **
  151. 11200 LS=FNMO(EL+180)
  152. 12000 REM ** MOND **
  153. 12010 LM=TG*13.1763976+51.23
  154. 12020 PM=TG*.111399014+208.9
  155. 12030 KM=372.1-TG*.052953643
  156. 12040 LM=FNMO(LM)
  157. 12050 PM=FNMO(PM)
  158. 12060 KM=FNMO(KM)
  159. 12070 AM=LM-PM
  160. 12080 KM=KM-SIN(AS*P1)*.16
  161. 12090 MS=(LM-LS)*2-AM
  162. 12100 AM=AM+SIN(MS*P1)*1.27388889-SIN(AS*P1)*(.18638889+.36)
  163. 12110 LM=LM+SIN(MS*P1)*1.27388889-SIN(AS*P1)*.18638889+SIN(AM*P1)*6.28833333
  164. 12120 M1=LM-LS
  165. 12130 LM=LM+SIN(M1*2*P1)*.658333333
  166. 12140 M2=LM-KM
  167. 12150 LM=LM-SIN(M2*2*P1)*.12
  168. 12160 BM=SIN(M2*P1)*5.14539
  169. 12170 M3=(LM-LS)*2-M2
  170. 12180 BM=BM+SIN(M3*P1)*.15
  171. 15000 N$="SONNE":AL=LS:AB=0:GOSUB30000
  172. 15010 IFX=0GOTO15040
  173. 15020 dBX,Y,4,3,1
  174. 15030 duX+1,Y,1
  175. 15040 N$="MOND":AL=LM:AB=BM:GOSUB30000
  176. 15050 IFX=0GOTO15080
  177. 15060 dX,Y,0
  178. 15070 dBX,Y,4,3,1
  179. 15080 RETURN
  180. 19996 REM *********************
  181. 19997 REM *      PLANETEN     *
  182. 19998 REM *********************
  183. 20000 d062500
  184. 20010 FORZ=0TO5
  185. 20020 READN$,TB,EP,PH,MP,E,KN,I,AE
  186. 20030 P$(Z)=N$
  187. 20040 ML=FNMO(TB*TG+EP)
  188. 20050 WL=ML+SIN((ML-PH)*P1)*MP
  189. 20060 SP=AE+SIN((WL-PH-90)*P1)*E*AE
  190. 20070 WS=FNMO(C+EL-WL)*P1:SI=SIN(WS)
  191. 20080 FL=EA/SP-COS(WS)
  192. 20090 WE=ATN(SI/FL)*P2
  193. 20100 AL=FNMO(EL+WE-180*(FL>=0))
  194. 20110 WT=SIN((WL-KN)*P1)*I
  195. 20120 AB=ATN(TAN(WT*P1)*ABS(SIN(WE*P1)/SI))*P2
  196. 20130 GOSUB30000
  197. 20140 P(2*Z)=X:P(2*Z+1)=Y
  198. 20150 NEXT
  199. 20160 RETURN
  200. 24996 REM *********************
  201. 24997 REM *     FIXSTERNE     *
  202. 24998 REM *********************
  203. 25000 d060000
  204. 25010 FORS=1TOI1
  205. 25020 READRE,DE,N$,A
  206. 25030 DE=DE*P1
  207. 25040 N1$=Z$(A,1):N2$=Z$(A,0)
  208. 25050 GOSUB100
  209. 25060 Z%(S)=X:Z%(S+I2)=Y
  210. 25070 NEXT
  211. 25080 RETURN
  212. 29996 REM *********************
  213. 29997 REM *  REKTAS./DEKdY.  *
  214. 29998 REM *********************
  215. 30000 SN=SIN(AB*P1):CS=COS(AB*P1)
  216. 30010 SL=SIN(AL*P1):CL=COS(AL*P1)
  217. 30020 DE=FNAS(EC*SN+ES*CS*SL)
  218. 30030 RE=2*ATN((EC*CS*SL-ES*SN)/(COS(DE)+CS*CL))
  219. 30040 RE=FNMO(RE*P2)
  220. 30050 GOTO100
  221. 39996 REM *********************
  222. 39997 REM *     EINGABEN      *
  223. 39998 REM *********************
  224. 40000 GETG$:IFG$=""THENV=1:GOTO40000
  225. 40010 P=ASC(G$)
  226. 40020 IFP=17THENVN=VN+V:GOTO41000
  227. 40030 IFP=145THENVN=VN-V:GOTO41000
  228. 40040 IFP=29THENHN=HN+V:GOTO41000
  229. 40050 IFP=157THENHN=HN-V:GOTO41000
  230. 40060 IFP=133THENGOSUB2050:GOTO42000
  231. 40070 IFP=134THENGOSUB2150:GOTO42000
  232. 40080 IFP=135GOTO57000
  233. 40090 IFP=136GOTO58000
  234. 40100 IFP>64ANDP<91GOTO47000
  235. 40110 GOTO40000
  236. 41000 V=V+.5
  237. 41010 d,HN,VN,HN,VN,0,0
  238. 41020 GOTO40000
  239. 42000 X=INT(HN-19):Y=INT(VN-46)
  240. 42010 XM=200000
  241. 42020 IFP=134GOTO44000
  242. 42030 FORA=0TO10STEP2
  243. 42035 F=P(A)-X:H=P(A+1)-Y
  244. 42040 XX=F*F+H*H
  245. 42050 IFXX<XMTHENXM=XX:ZP=A
  246. 42060 IFXX=0THENA=12
  247. 42070 NEXT
  248. 42080 N$=P$(ZP/2):N1$=" ":N2$=" "
  249. 42090 IFXX=0GOTO45000
  250. 44000 XP=XM
  251. 44010 FORA=0TOI1
  252. 44015 F=Z%(A)-X:H=Z%(A+I2)-Y
  253. 44020 XX=F*F+H*H
  254. 44030 IFXX<XMTHENXM=XX:Z=A
  255. 44040 IFXX=0THENA=I2
  256. 44050 NEXT
  257. 44060 X=P(ZP):Y=P(ZP+1)
  258. 44070 IFXP=XMGOTO45000
  259. 44080 X=Z%(Z):Y=Z%(Z+I2)
  260. 44090 d060000+Z*10
  261. 44100 READRE,DE,N$,D
  262. 44110 N1$=Z$(D,1):N2$=Z$(D,0)
  263. 44120 IFP=134THENZ1=Z:Z=D:GOSUB2100:GOTO48060
  264. 45000 GOSUB2000
  265. 45010 HV=HN:VV=VN:GOSUB500:GOTO40000
  266. 47000 N$=G$:N1$=" ":N2$=" "
  267. 47010 GOSUB340:GOSUB360
  268. 47020 GETG$:IFG$=""GOTO47020
  269. 47030 IFASC(G$)=20THENGOSUB600:GOTO47020
  270. 47040 IFASC(G$)=13GOTO47060
  271. 47050 N$=N$+G$:GOSUB350:GOTO47020
  272. 47060 P=0:Z=-1
  273. 47070 FORS=0TO5
  274. 47080 IFd(N$,P$(S))THENZ=S:S=5
  275. 47090 NEXT
  276. 47100 IFZ<0GOTO48000
  277. 47110 HV=HN:VV=VN
  278. 47120 X=P(2*Z):Y=P(2*Z+1)
  279. 47130 N1$=P$(Z):N2$=" "
  280. 47140 IFX=0GOTO400
  281. 47150 GOSUB500:GOTO40000
  282. 48000 FORS=0TOI3
  283. 48010 IFd(N$,Z$(S,0))THENZ=S:S=I3
  284. 48020 IFd(N$,Z$(S,1))THENZ=S:S=I3
  285. 48030 NEXT
  286. 48040 IFZ<0GOTO49000
  287. 48050 Z1=-1
  288. 48060 A1=Z(Z,1):A2=A1+Z(Z,0)
  289. 48070 IFZ1>=0GOTO48120
  290. 48080 FORA=A1TOA2
  291. 48090 IFZ%(A)THENZ1=A:A=A2
  292. 48100 NEXT
  293. 48110 IFZ1<0THENN1$=Z$(Z,1):GOTO400
  294. 48120 F=0:HV=HN:VV=VN
  295. 48130 N1$=Z$(Z,1):N2$=Z$(Z,0)
  296. 48140 X=Z%(Z1):Y=Z%(Z1+I2):GOSUB500
  297. 48150 FORA=A1TOA2
  298. 48160 X=Z%(A)
  299. 48170 IFXTHENdX,Z%(A+I2),F
  300. 48180 NEXT
  301. 48190 F=1-F
  302. 48200 IFF=1GOTO48150
  303. 48210 GETG$:P=ASC(G$+CHR$(0))
  304. 48220 IFPGOTO40020
  305. 48240 FORA=1TO1000*F+10:NEXT
  306. 48250 GOTO48150
  307. 49000 d060000
  308. 49010 FORS=1TOI1
  309. 49020 READRE,DE,S$,A
  310. 49030 IFd(N$,S$)THENZ=S:S=I2
  311. 49040 NEXT
  312. 49050 IFZ<0THENHN=X+19