home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / sh4x / sh47a.d64 / parapol (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  15KB  |  605 lines

  1. 5 REM ********PARAPOL******************
  2. 10 REM FUNKTIONEN IN PARAMETER-BZW.-  *
  3. 12 REM POLARKOORDINATENDARSTELLUNG    *
  4. 14 REM ZEICHNEN UND AUSDRUCKEN        *
  5. 16 REM GRAFIK MIT GR2001              *
  6. 18 REM                                *
  7. 20 REM      DIETHER GNILKA            *
  8. 22 REM      NELKENSTR.7               *
  9. 24 REM      8120 WEILHEIM             *
  10. 26 REM        28.7.1989               *
  11. 28 REM                                *
  12. 30 REM ********************************
  13. 32 POKE 53280,13:POKE 53281,0
  14. 36 :
  15. 38 PRINT"[147]     [158]GR2001 GELADEN ? <J/N> ?"
  16. 40 GET L$:IF L$="N" THEN 46
  17. 42 IF L$<>"J" THEN 40
  18. 44 GOTO 70
  19. 46 PRINT"     MIT <RUN/STOP>[158] PRG. BEENDEN !"
  20. 48 PRINT"     GR2001,8 LADEN ![158]"
  21. 50 PRINT"    POKE 12481,133:POKE12482,48[158]
  22. 52 [153]"     EINGEBEN, DANN 'RUNSYS'"
  23. 54 [153]"   UND 'PARAPOL,8' LADEN U.STARTEN !SYS"
  24. 56 [153]"           <TASTE>CLOSE!SYS"
  25. 58 [146] 198,1: [161]A$
  26. 60 :
  27. 65 [143] EINGANGSGRAFIK
  28. 70 [151] 53280,8
  29. 75 [153]"LOAD"
  30. 80 A[178]1024:B[178]55296:C[178]1984:D[178]56256
  31. 82 [129] I[178]0 [164] 39:[151]A[170]I,42:[151]B[170]I,4:[130]
  32. 84 [129] I[178]0 [164] 39:[151]C[170]I,42:[151]D[170]I,4:[130]
  33. 86 [129] I[178]1 [164] 23:[151]A[170]40[172]I,42:[151]B[170]40[172]I,4:[130]
  34. 88 [129] I[178]1 [164] 22:[151]A[170]39[170]40[172]I,42:[151]B[170]39[170]40[172]I,4:[130]
  35. 90 [153]"ZEICHNEN UND DRUCKEN VON FUNKTIONEN"
  36. 92 [153]"IN PARAMETERDARSTELLUNG"
  37. 94 [153]"ODER"
  38. 96 [153]"POLARKOORDINATENFORM"
  39. 98 [129] W[178]1 [164] 1000:[130]
  40. 100 [151]781,18:[151]782,11:[158]65520
  41. 102 [153]"D.GNILKA WEILHEIM"
  42. 104 [151]781,20:[151]782,18:[158]65520
  43. 106 [153]"DEFTASTE !SYS"
  44. 108 [151] 1983,42:[151] 56255,4
  45. 112 [209] 0
  46. 115 [146] 198,1: [161] A$
  47. 116 :
  48. 118 [151] 53280,3
  49. 120 [153]"LOADES WERDEN FUNKTIONEN, DIE IN PARAMETER-SYS"
  50. 125 [153]"    ODER POLARKOORDINATENDARSTELLUNG SYS"
  51. 130 [153]"        GEGEBEN SIND, GEZEICHNET."
  52. 135 [153]"TYP 1: PARAMETERDARSTELLUNG  X(T), Y(T)SYS"
  53. 140 [153]"       MIT ARGUMENT T,WOBEI T1..T..T2"
  54. 145 [153]"       IM BOGENMASS EINZUSETZEN IST."
  55. 150 [153]"TYP 2: POLARKOORDINATENDARSTELLUNG R(W)SYS"
  56. 155 [153]"       MIT ARGUMENT W,WOBEI W1..W..W2"
  57. 160 [153]"       IM BOGENMASS EINZUSETZEN IST."
  58. 165 [153]"  ES KANN AUCH EIN ZWEITER PARAMETER K"
  59. 170 [153]"   ALS FORMVARIABLESYS GENOMMEN WERDEN."
  60. 175 [153]"   NACH ZEICHNEN AUSGABE AUF DRUCKERSYS"
  61. 177 [153]"                MOEGLICH."
  62. 180 [153]"          DEFAUSWAHL:  <TASTE> !SYS"
  63. 185 [209] 0
  64. 190 [146] 198,1: [161] A$
  65. 192 :
  66. 195 [141] 4000: [143] FEHLERROUTINE EINLESEN
  67. 200 [143]************MENUE**************
  68. 205 [206] 0
  69. 207 [151] 53280,5: [143] RAHMEN GRUEN
  70. 208 [151] 53281,0: [143] HINTERGRD.SCHWARZ
  71. 210 [153]"LOADSYS  ************ DEFMENUESYS *****************"
  72. 220 [153]"  <1SYS>  FUNKTIONEN IN PARAMETERFORM"
  73. 225 [153]"        DEFINIEREN UND ZEICHNEN"
  74. 230 [153]"  <2SYS>  FUNKTION IN POLARKOORDINATEN"
  75. 235 [153]"        DEFINIEREN UND ZEICHNEN"
  76. 245 [153]"  <3SYS>  GRAFIK ANSEHEN"
  77. 248 [153]"  <4SYS>  GRAFIK LOESCHENSYS
  78. 250 PRINT"  <5[158]>  PARAM.(X0;Y0,T,W,K) AENDERN"
  79. 255 PRINT"  <6[158]>  DRUCKER-HARDCOPY"
  80. 257 PRINT"  <7[158]>  GRAFIK SAVE/LOAD"
  81. 258 PRINT"  <8[158]>  DIRECTORY LESEN"
  82. 260 PRINT"  <9[158]>  ENDE ?"
  83. 265 PRINT"  FUNKTIONEN AENDERN MIT <1[158]> ODER <2[158]> !"
  84. 268 PRINT"         [150]BITTE WAEHLEN ![158]"
  85. 269 (null) 0
  86. 270 POKE 198,0:WAIT 198,1:GET A$
  87. 280 IFA$<"1"OR A$>"9" THEN 270
  88. 285 A=VAL(A$)
  89. 290 ON A GOTO 400,800,4500,5000,1200,3200,5700,6100,3500
  90. 295 GOTO 270
  91. 300 PRINT"[147]MIT PARAMETER K[158] ? <J/N[158]>"
  92. 310 GET P$: IF P$="N" THEN 340
  93. 320 IF P$<>"J" THEN 310
  94. 330 Q=1:POKE856,1:GOTO 350 :REM MIT PARAMETER
  95. 340 Q=0:POKE 856,0:REM OHNE PARAMETER
  96. 350 RETURN
  97. 380 :
  98. 390 REM FUNKTIONEN X(T),Y(T) DEFINIEREN
  99. 400 REM *******************************
  100. 401 POKE 53280,4
  101. 402 M%=0:POKE 854,0:REM NEUE FUNKT.EINGEGEBEN
  102. 403 P=1: REM TYP 1 PARAMETERFORM
  103. 404 POKE 852,1:REM RETTEN IN ZP
  104. 405 GOSUB 300: REM MIT PARAMETER K
  105. 410 PRINT"[147]BITTE FUNKTIONSTERM X(T)[158] EINGEBEN:"
  106. 420 PRINT"IN UEBLICHER BASIC-SYNTAX[158]!"
  107. 425 GOSUB 3900
  108. 430 PRINT:PRINT
  109. 440 INPUT"X(T)=";XT$
  110. 450 PRINT"[147]"
  111. 460 PRINT"490XT$="CHR$(34)XT$CHR$(34)"
  112. 462 [153]"740XT$="[199](34)XT$[199](34)"
  113. 465 PRINT"2490XT$="CHR$(34)XT$CHR$(34)"
  114. 470 [153]"2340X="XT$:[153]"GOTO490"
  115. 480 [151] 631,19:[129] I[178]632 [164] 637:[151] I,13:[130]:[151] 198,6:[128]
  116. 490 XT$[178]"150*SIN(K)*COS(T)"
  117. 500 [153]"LOADX(T)=SYS"XT$
  118. 510 [153]"RICHTIG EINGEGEBEN ? <J/NSYS>"
  119. 520 [161] E$:[139] E$[178]"N" [167] 430
  120. 530 [139] E$[179][177]"J" [167] 520
  121. 540 [153]
  122. 550 :
  123. 590 [143] Y(T) EINGEBEN
  124. 600 [143] *************
  125. 605 [209] 0
  126. 610 [153]"LOADBITTE FUNKTIONSTERM Y(T)SYS EINGEBEN:"
  127. 620 [153]"IN UEBLICHER BASIC-SYNTAXSYS!"
  128. 625 [141] 3900
  129. 630 [153]:[153]
  130. 640 [133]"Y(T)=";YT$
  131. 650 [153]"LOAD"
  132. 660 [153]"690YT$="[199](34)YT$[199](34)"
  133. 665 PRINT"2495YT$="CHR$(34)YT$CHR$(34)"
  134. 670 [153]"2350Y="YT$:[153]"GOTO690"
  135. 680 [151] 631,19:[129] I[178]632 [164] 636:[151] I,13:[130]:[151] 198,5:[128]
  136. 690 YT$[178]"88*COS(K)*SIN(2*T)"
  137. 700 [153]"LOADY(T)=SYS"YT$
  138. 710 [153]"RICHTIG EINGEGEBEN ? <J/NSYS>"
  139. 720 [161] E$:[139] E$[178]"N" [167] 630
  140. 730 [139] E$[179][177]"J" [167] 720
  141. 740 XT$[178]"150*SIN(K)*COS(T)"
  142. 750 [153]"LOADX(T)="XT$
  143. 760 [153]"Y(T)="YT$
  144. 770 [153]"WEITER:<TASTESYS>, MENUE:<_SYS>"
  145. 775 [141] 3700
  146. 780 [137] 1202: [143] ACHSEN,PARAMETER
  147. 790 :
  148. 795 [143] FUNKTION R(W) DEFINIEREN
  149. 800 [143] ************************
  150. 801 [151] 53280,4
  151. 802 M%[178]0:[151] 854,0:[143] NEUE FUNKT.EINGEGEBEN
  152. 803 P[178]2 : [143] TYP 2 POLARK.
  153. 804 [151] 852,2
  154. 805 [141] 300: [143] MIT PARAMETER K
  155. 807 [209] 0
  156. 810 [153]"LOADBITTE FUNKTIONSTERM R(W)SYS EINGEBEN:"
  157. 820 [153]"IN UEBLICHER BASIC-SYNTAXSYS!"
  158. 825 [141] 3900
  159. 830 [153]:[153]
  160. 840 [133]"R(W)=";RW$
  161. 850 [153]"LOAD"
  162. 860 [153]"890RW$="[199](34)RW$[199](34)"
  163. 865 PRINT"2840RW$="CHR$(34)RW$CHR$(34)"
  164. 870 [153]"2670R="RW$:[153]"GOTO890"
  165. 880 [151] 631,19:[129] I[178]632 [164] 636:[151] I,13:[130]:[151] 198,5:[128]
  166. 890 RW$[178]"K*W"
  167. 900 [153]"LOADR(W)=SYS"RW$
  168. 910 [153]"RICHTIG EINGEGEBEN ? <J/NSYS>"
  169. 920 [161] E$:[139] E$[178]"N" [167] 830
  170. 930 [139] E$[179][177]"J" [167] 920
  171. 940 [153]"LOADR(W)="RW$
  172. 950 [153]"WEITER:<TASTESYS>, MENUE:<_SYS>"
  173. 960 [141] 3700
  174. 970 [137] 1202
  175. 1180 :
  176. 1190 [143] FESTLEGEN DER ACHSEN
  177. 1200 [143] ********************
  178. 1201 [137] 5500
  179. 1202 [151] 53280,8
  180. 1205 [209] 0
  181. 1210 [153]"LOADPOSITION DER KOORDINATENACHSENSYS"
  182. 1220 [153]"DURCH DRUECKEN VON <F1SYS> KOENNEN NACH"
  183. 1230 [153]"ZEICHNUNG DER FUNKTION DIE ACHSEN GE-"
  184. 1240 [153]"LOESCHTSYS OD. DURCH <F3SYS> ERNEUERTSYS WERDEN !"
  185. 1250 [153]"ACHSEN BEIM 1.LAUF UNBEDINGT FESTLEGEN SYS!"
  186. 1260 X0[178][194](832):Y0[178][194](836):N%[178][194](834)
  187. 1262 [139] N%[178]1 [167] X0[178]X0[172]8
  188. 1265 [153]"SOLL DIE ACHSENLAGE NEU FESTGELEGT"
  189. 1270 [153]"WERDEN ?"
  190. 1275 [153]"ALTE WERTE:  X0="X0,"Y0="Y0
  191. 1277 [153]" SYSEINGABE  <J/NSYS> !"
  192. 1280 [161]B$:[139]B$[178]"N" [167] 1400
  193. 1290 [139] B$[179][177]"J" [167] 1280
  194. 1295 [153]"NULLPUNKT O(X0;Y0)SYS
  195. 1297 PRINT" O IN DER MITTE: O(150;90)[158]"
  196. 1300 PRINT"X-WERT D. NULLPUNKTS[158]: 0<X0<=300"
  197. 1305 N%=0:REM MARKE,WENN X0<256
  198. 1307 POKE 834,0
  199. 1310 INPUT"X0=";X0
  200. 1312 IF X0<=0 OR X0>300 THEN (null) 0:GOTO 1300
  201. 1315 IF X0>255 THEN X0=INT(X0/8):N%=1:POKE 834,1
  202. 1320 POKE 832,X0
  203. 1330 PRINT"Y-WERT D. NULLPUNKTS[158]: 0<Y0<=180"
  204. 1340 INPUT"Y0=";Y0
  205. 1345 IF Y0<=0 OR Y0>180 THEN (null) 0:GOTO 1330
  206. 1350 POKE 836,Y0
  207. 1355 IF N%=1 THEN PRINT"X0="X0*8,"Y0="Y0 :GOTO 1365
  208. 1360 PRINT"X0="X0,"Y0="Y0
  209. 1365 GOSUB 3800
  210. 1370 GOSUB 3700
  211. 1375 IF M$="^" THEN PRINT"[147]": GOTO 1260
  212. 1380 GOTO 1400
  213. 1385 :
  214. 1390 REM EINGABE T1,T2 (PARAMETER K)
  215. 1395 REM ***************************
  216. 1400 P=PEEK(852):POKE 53280,9
  217. 1408 IF P=2 THEN 1600
  218. 1409 (null) 0
  219. 1410 M%=PEEK(854):REM NACH NEUEINGABE D.FUNKT. M%=0,SONST 1
  220. 1412 IF M%=0 THEN PRINT"[147]":GOTO 1425
  221. 1415 PRINT "[147]ALTE WERTE:"
  222. 1420 PRINT"T1="T1;"  T2="T2
  223. 1425 PRINT"ANFANGS-UND ENDWERT FUER T[158]:"
  224. 1430 PRINT"T IM BOGENMASS [158]!"
  225. 1435 INPUT "T1=[158]";T1
  226. 1440 INPUT "T2=[158]";T2
  227. 1442 IF T1>T2 THEN PRINT"T1>T2 !!"
  228. 1444 PRINT"RECHT SO ?      <J/N>"
  229. 1445 GET A$:IF A$="J" THEN 1460
  230. 1446 IF A$<>"N" THEN 1445
  231. 1450 GOTO 1430
  232. 1455 :
  233. 1460 Q=PEEK(856):REM MIT PARAMETER K
  234. 1465 IF Q=0 THEN 2000
  235. 1468 M%=PEEK(854)
  236. 1470 IF M%=0 THEN 1480
  237. 1474 PRINT"ALTE WERTE:"
  238. 1476 PRINT"KA="KA;"KE="KE;"S="S
  239. 1480 INPUT"ANFANGSWERT KA=[158]";KA
  240. 1490 INPUT"ENDWERT      KE=[158]";KE
  241. 1492 IF KA>KE THEN PRINT"KA>KE !!"
  242. 1494 PRINT"RECHT SO ?      <J/N>"
  243. 1495 GET A$:IF A$="J" THEN 1500
  244. 1496 IF A$<>"N" THEN 1495
  245. 1498 GOTO 1480
  246. 1500 INPUT"SCHRITTWEITE S =[158]";S
  247. 1501 IF S=0 THEN PRINT"S DARF NICHT NULL SEIN ![158]":GOTO 1500
  248. 1502 PRINT"RECHT SO ?      <J/N>"
  249. 1503 GET A$:IF A$="J" THEN 1506
  250. 1504 IF A$<>"N" THEN 1503
  251. 1505 GOTO 1500
  252. 1506 IFKA<KE AND S<0 THEN S=-S:GOTO1510
  253. 1508 IFKA>KE AND S>0 THEN S=-S
  254. 1510 GOTO 2000
  255. 1570 :
  256. 1580 REM EINGABE W1,W2 (PARAMETER K)
  257. 1590 REM ***************************
  258. 1600 POKE 53280,9
  259. 1601 (null) 0
  260. 1602 M%=PEEK(854)
  261. 1603 IF M%=0 THEN PRINT"[147]":GOTO 1610
  262. 1604 PRINT"[147]ALTE WERTE :"
  263. 1606 PRINT"W1="W1;"W2="W2
  264. 1610 PRINT"ANFANGS-UND ENDWERT FUER W[158]:"
  265. 1615 PRINT"W IM BOGENMASS[158]"
  266. 1620 INPUT "W1=[158]";W1
  267. 1630 INPUT "W2=[158]";W2
  268. 1632 IF W1>W2 THEN PRINT"W1>W2 !!"
  269. 1634 PRINT"RECHT SO ?      <J/N>"
  270. 1635 GET A$:IF A$="J" THEN 1790
  271. 1636 IF A$<>"N" THEN 1635
  272. 1638 GOTO 1620
  273. 1640 :
  274. 1790 REM EINGABE KA,KE,S
  275. 1800 (null) 0
  276. 1805 Q=PEEK(856):REM MIT PARAMETER K
  277. 1810 IF Q=1 THEN 1460: REM MIT K
  278. 1970 :
  279. 1980 REM GRAPHIK
  280. 1990 REM *******
  281. 2000 PRINT"BILDSCHIRM LOESCHEN[158] !"
  282. 2010 PRINT"BEIM 1.LAUF UNBEDINGT ERFORDERLICH [158]!"
  283. 2020 PRINT"SOLL DER BILDSCHIRM GELOESCHT"
  284. 2030 PRINT"WERDEN ? <J/N[158]>"
  285. 2040 GET C$: IF C$="N" THEN 2050
  286. 2045 IF C$<>"J" THEN 2040
  287. 2050 PRINT"SOLLEN DIE ACHSEN GEZEICHNET[158]"
  288. 2055 PRINT"WERDEN ?   <J/N[158]>"
  289. 2060 GET K$:IF K$="N" THEN 2070
  290. 2065 IF K$<>"J" THEN 2060
  291. 2070 (null) 1:    REM GRAFIK-EIN
  292. 2080 (null) 1,0: REM ZEICHENFARBE WEISS
  293. 2090 REM HINTERGRUND SCHWARZ
  294. 2095 POKE 53280,2: REM RAHMEN ROT
  295. 2100 IF C$="N" THEN 2120
  296. 2110 (null) : REM LOESCHEN GRAF.SCHIRM
  297. 2115 :
  298. 2120 P=PEEK(852)
  299. 2130 (null) 1,0,0,319,199
  300. 2140 IF K$="N" AND P=1 THEN 2300
  301. 2150 IF K$="N" AND P=2 THEN 2600
  302. 2160 GOSUB 2200: REM ACHSEN ZEICHNEN
  303. 2170 IF P=1 THEN 2300
  304. 2180 GOTO 2600
  305. 2190 :
  306. 2194 REM ACHSEN ZEICHNEN
  307. 2196 REM ***************
  308. 2200 X0=PEEK(832):Y0=PEEK(836):N%=PEEK(834)
  309. 2205 IF N%=1 THEN X0=X0*8
  310. 2210 XA$="X": REM X-ACHSE
  311. 2220 (null) 0,1,Y0,300,Y0
  312. 2230 (null) 0,1,1,1,0,8,290,Y0+2,XA$
  313. 2240 YA$="Y": REM Y-ACHSE
  314. 2250 (null) 0,X0,1,X0,180
  315. 2260 (null) 0,1,1,1,0,8,X0+1,1,YA$
  316. 2270 RETURN
  317. 2280 :
  318. 2290 REM PLOTTEN X(T), Y(T)
  319. 2295 REM ******************
  320. 2300 GOSUB 4110: REM FEHLERR. EIN
  321. 2302 X0=PEEK(832):Y0=PEEK(836):N%=PEEK(834)
  322. 2303 IF N%=1 THEN X0=X0*8
  323. 2304 M%=PEEK(854)
  324. 2305 IF K$="N" AND M%=1 THEN GOSUB 3100
  325. 2306 GOSUB 2460: REM GRAFIK BESCHRIFTEN
  326. 2308 IF Q=0 THEN 2320
  327. 2310 FOR K=KA TO KE STEP S
  328. 2320 PL%=1: REM PLOTFLAG F.AUSSERHALB
  329. 2325 DT=6.2832/360
  330. 2327 IF T1>T2 THEN DT=-DT
  331. 2330 FOR T=T1-DT TO T2 STEP DT
  332. 2335 GET H$:IF H$=CHR$(95) THEN 2900
  333. 2340 X=150*SIN(K)*COS(T)
  334. 2350 Y=88*COS(K)*SIN(2*T)
  335. 2360 X2=INT(X+X0)
  336. 2370 IF X2<0 OR X2>300 THEN PL%=1:NEXT T:GOTO 2440
  337. 2380 Y2=Y0-Y
  338. 2390 IF T=T1 THEN 2430
  339. 2400 IF Y2<0 OR Y2>180 THEN PL%=1:NEXT T:GOTO 2440
  340. 2410 IF PL%=0 THEN (null) 0,X1,Y1,X2,Y2
  341. 2420 PL%=0
  342. 2430 X1=X2: Y1=Y2: NEXT T
  343. 2440 IF Q=0 THEN 2900
  344. 2450 NEXT K
  345. 2452 GOTO 2900
  346. 2455 :
  347. 2456 REM GRAFIK BESCHRIFTEN (PAR.DARST)
  348. 2457 REM ******************
  349. 2458 REM ZUERST ALTE DATEN LOESCHEN
  350. 2460 TL$="                        [146]"
  351. 2462 KL$="                        [146]"
  352. 2466 XL$="                                    [146]"
  353. 2468 YL$="                                    [146]"
  354. 2470 (null) 1,4,1,1,0,8,318,1,TL$
  355. 2472 (null) 1,4,1,1,0,8,310,1,KL$
  356. 2474 (null) 1,1,1,1,0,8,1,182,XL$
  357. 2476 (null) 1,1,1,1,0,8,1,191,YL$
  358. 2478 IF L$=CHR$(135) THEN RETURN
  359. 2480 T1$=STR$(T1):T2$=STR$(T2)
  360. 2482 T$="T1="+T1$+";"+"T2="+T2$
  361. 2490 XT$="150*SIN(K)*COS(T)"
  362. 2495 YT$="88*COS(K)*SIN(2*T)"
  363. 2500 (null) 0,4,1,1,0,8,318,1,T$
  364. 2510 (null) 0,1,1,1,0,8,1,182,"X(T)="+XT$
  365. 2520 (null) 0,1,1,1,0,8,1,191,"Y(T)="+YT$
  366. 2522 IF Q=0 THEN 2540
  367. 2525 KA$=STR$(KA):KE$=STR$(KE):S$=STR$(S)
  368. 2527 K$="KA="+KA$+";"+"KE="+KE$+";"+"S="+S$
  369. 2530 (null) 0,4,1,1,0,8,310,1,K$
  370. 2540 RETURN
  371. 2560 GOTO 2900: REM ZUM TEXT
  372. 2590 :
  373. 2600 REM PLOTTEN R(W)
  374. 2610 REM ************
  375. 2614 GOSUB 4110: REM FEHLERR. EIN
  376. 2615 X0=PEEK(832):Y0=PEEK(836):N%=PEEK(834)
  377. 2616 IF N%=1 THEN X0=X0*8
  378. 2617 M%=PEEK(854)
  379. 2620 IF K$="N" AND M%=1 THEN GOSUB 3100
  380. 2625 GOSUB 2800: REM GRAFIK BESCHRIFTEN
  381. 2627 Q=PEEK(856)
  382. 2630 IF Q=0 THEN 2650
  383. 2640 FOR K=KA TO KE STEP S
  384. 2650 PL%=1: REM PLOTFLAG F.AUSSERHALB
  385. 2655 DW=6.2832/360
  386. 2656 IF W1>W2 THEN DW=-DW
  387. 2660 FOR W=W1-DW TO W2 STEP DW
  388. 2665 GETH$:IFH$=CHR$(95)THEN2900
  389. 2670 R=K*W
  390. 2680 XR=R*COS(W)
  391. 2690 YR=R*SIN(W)
  392. 2700 X=INT(XR+X0)
  393. 2710 IF X<0 OR X>300 THEN PL%=1:NEXT W:GOTO 2780
  394. 2720 Y=Y0-YR
  395. 2730 IF W=W1 THEN 2770
  396. 2740 IF Y<0 OR Y>190 THEN PL%=1:NEXT W:GOTO 2780
  397. 2750 IF PL%=0 THEN (null) 0,X1,Y1,X,Y
  398. 2760 PL%=0
  399. 2770 X1=X:Y1=Y:NEXT W
  400. 2780 IF Q=0 THEN 2900
  401. 2790 NEXT K
  402. 2792 GOTO 2900
  403. 2795 :
  404. 2800 REM GRAFIK BESCHRIFTEN (POLARK.D)
  405. 2801 REM ******************
  406. 2802 REM ZUERST ALTE DATEN LOESCHEN
  407. 2804 WL$="                      [146]"
  408. 2806 KL$="                      [146]"
  409. 2808 XL$="                                    [146]"
  410. 2810 RL$="                                    [146]"
  411. 2812 (null) 1,4,1,1,0,8,318,1,WL$
  412. 2814 (null) 1,4,1,1,0,8,310,1,KL$
  413. 2816 (null) 1,1,1,1,0,8,1,182,XL$
  414. 2818 (null) 1,1,1,1,0,8,1,191,RL$
  415. 2819 IF L$=CHR$(135) THEN RETURN
  416. 2820 W1$=STR$(W1):W2$=STR$(W2)
  417. 2825 W$="W1="+W1$+";"+"W2="+W2$
  418. 2835 (null) 0,4,1,1,0,8,318,1,W$
  419. 2840 RW$="K*W"
  420. 2845 (null) 0,1,1,1,0,8,1,191,"R(W)="+RW$
  421. 2850 IF Q=0 THEN 2870
  422. 2855 KA$=STR$(KA):KE$=STR$(KE):S$=STR$(S)
  423. 2860 K$="KA="+KA$+";"+"KE="+KE$+";"+"S="+S$
  424. 2865 (null) 0,4,1,1,0,8,310,1,K$
  425. 2870 RETURN
  426. 2878 :
  427. 2880 REM GRAFIK FERTIG -> MENUE
  428. 2890 REM **********************
  429. 2900 GOSUB 4120: REM FEHLERR. AUS
  430. 2905 (null) 0,0,0,301,181
  431. 2910 M%=1: REM FUNKTION GEZEICHNET
  432. 2912 POKE 854,1
  433. 2915 (null) 0
  434. 2920 WAIT 198,1: GET A$
  435. 2930 GOTO 200: REM MENUE
  436. 3080 :
  437. 3090 REM ACHSEN LOESCHEN
  438. 3095 REM ***************
  439. 3100 X0=PEEK(832):Y0=PEEK(836):N%=PEEK(834)
  440. 3105 IF N%=1 THEN X0=X0*8
  441. 3110 XA$="X"
  442. 3120 (null) 1,1,Y0,300,Y0
  443. 3130 (null) 1,1,1,1,0,8,290,Y0+2,XA$
  444. 3140 YA$="Y"
  445. 3150 (null) 1,X0,1,X0,180
  446. 3160 (null) 1,1,1,1,0,8,X0+1,1,YA$
  447. 3170 RETURN
  448. 3180 :
  449. 3190 REM DRUCKEN
  450. 3195 REM *******
  451. 3200 POKE 53280,2
  452. 3210 GOTO 5600
  453. 3220 PRINT"[147]DRUCKEN MIT DOPPELTER VERGROESSERUNG IN"
  454. 3230 PRINT"X-RICHTUNG          VG=1"
  455. 3235 PRINT"Y-RICHTUNG          VG=2"
  456. 3240 PRINT"X- UND Y-RICHTUNG   VG=3"
  457. 3245 PRINT"OHNE VERGROESSERUNG VG=0"
  458. 3250 PRINT"NACH DEM DRUCKEN IST VG=0"
  459. 3255 PRINT
  460. 3260 INPUT" VG=";VG
  461. 3270 OPEN 4,4
  462. 3280 (null) 1
  463. 3290 (null) VG
  464. 3300 CLOSE4
  465. 3310 VG=0
  466. 3320 GOTO 200 : REM MENUE
  467. 3470 :
  468. 3480 REM BEENDEN
  469. 3490 REM *******
  470. 3500 POKE 53280,11:POKE 53281,6
  471. 3505 PRINT"[147]AUFHOEREN MIT PARAPOL ? <J/N[158]>"
  472. 3510 GETA$:IFA$="N" THEN 200:REM MENUE
  473. 3520 IF A$<>"J" THEN 3510
  474. 3530 GOTO 3600:REM GRA1 AUFRUFEN/ENDE
  475. 3540 PRINT"[147]DANKE U. AUF WIEDERSEHEN !"
  476. 3550 END
  477. 3600 PRINT"GRA1 AUFRUFEN[158] UND MIT ANDEREM GR2001-[158]"
  478. 3610 PRINT"PROGRAMM[158] WEITERARBEITEN ? <J/N[158]>"
  479. 3620 GET GR$:IF GR$="N"THEN 3540
  480. 3630 IF GR$<>"J" THEN 3620
  481. 3640 PRINT"[147][158][147]:L[207]";CHR$(34);"GRA1";CHR$(34);",8":PRINT"R[213]"
  482. 3650 POKE 631,19:FORI=0TO2:POKE632+I,13:NEXT:POKE198,4:END
  483. 3670 :
  484. 3680 REM RUECKSPRUNG ZUM MENUE
  485. 3690 REM *********************
  486. 3700 GETM$:IF M$="" THEN 3700
  487. 3710 IF M$="_" THEN 200
  488. 3720 RETURN
  489. 3790 :
  490. 3800 PRINT"[158]WEITER: <TASTE[158]>, NEUEINGABE: <^[158]>,             MENUE: <_[158]>"
  491. 3810 RETURN
  492. 3880 :
  493. 3890 REM HINWEIS AUF PARAMETER K
  494. 3895 REM ***********************
  495. 3900 Q=PEEK(856)
  496. 3910 IF Q=1 THEN PRINT"MIT[158] PARAMETER K !": GOTO 3930
  497. 3920 PRINT"OHNE[158] PARAMETER K !"
  498. 3930 RETURN
  499. 3990 :
  500. 4000 REM FEHLERROUTINE HERSTELLEN
  501. 4005 REM ************************
  502. 4010 FORI=860 TO 868:READX:POKEI,X:NEXT
  503. 4020 DATA 138,48,3,76,59,169,76,116,164
  504. 4030 RETURN
  505. 4100 REM FEHLERROUTINE EIN/AUS
  506. 4110 POKE 768,92:POKE 769,03 :RETURN
  507. 4120 POKE 768,139:POKE 769,227:RETURN
  508. 4140 :
  509. 4480 REM HINWEISE ZU <F1>,<F3>,<F5> UND <F7>
  510. 4490 REM *************************
  511. 4500 (null) 1:VA=(null)(0,0)
  512. 4504 IF VA=1 THEN 4508
  513. 4506 GOTO 5520
  514. 4508 (null) 0
  515. 4510 PRINT"[147]MIT <F1[158]> WERDEN DIE ACHSEN GELOESCHT[158],"
  516. 4515 PRINT"MIT <F3[158]> WIEDER GEZEICHNET[158]!"
  517. 4520 PRINT"MIT <F5[158]> WIRD D. BESCHRIFTUNG GELOESCHT[158],"
  518. 4525 PRINT"MIT <F7[158]> WIEDER GESCHRIEBEN!"
  519. 4530 PRINT"<TASTE[158]> !"
  520. 4540 PRINT"DANN ZUM MENUE[158] MIT <TASTE[158]>[160]!"
  521. 4545 P=PEEK(852)
  522. 4550 WAIT 198,1: GET A$
  523. 4560 (null) 1: (null) 1,0
  524. 4570 GET L$: IF L$="" THEN 4570
  525. 4580 IF L$=CHR$(133) THEN GOSUB 3100:GOTO 4570: REM <F1>
  526. 4590 IF L$=CHR$(134) THEN GOSUB 2200:GOTO 4570: REM <F3>
  527. 4600 IF L$=CHR$(135) AND P=1 THEN GOSUB 2460:GOTO 4570: REM <F5>
  528. 4610 IF L$=CHR$(135) AND P=2 THEN GOSUB 2800:GOTO 4570: REM <F5>
  529. 4620 IF L$=CHR$(136) AND P=1 THEN GOSUB 2460:GOTO 4570: REM <F7>
  530. 4630 IF L$=CHR$(136) AND P=2 THEN GOSUB 2800:GOTO 4570: REM <F7>
  531. 4640 GOTO 200 : REM MENUE
  532. 4990 :
  533. 5000 REM GRAFIK LOESCHEN
  534. 5010 REM ***************
  535. 5014 (null) 1:VA=(null)(0,0)
  536. 5015 IF VA=1 THEN 5020
  537. 5016 GOTO 5520
  538. 5020 (null) 0:(null) 0,1
  539. 5030 PRINT"[147]WIRKLICH LOESCHEN ?  <J/N>"
  540. 5040 FOR I=0 TO 20 :POKE53280,1:NEXT
  541. 5050 FOR I=0 TO 20 :POKE53280,2:NEXT
  542. 5060 FOR I=0 TO 20 :POKE53280,5:NEXT
  543. 5070 FOR I=0 TO 20 :POKE53280,8:NEXT
  544. 5080 GET A$:IF A$="J" THEN 5110
  545. 5090 IF A$<>"N" THEN 5040
  546. 5100 GOTO 200
  547. 5110 (null) 1:(null)
  548. 5120 M%=0:POKE 854,0
  549. 5130 GOTO 200 : REM MENUE
  550. 5140 :
  551. 5480 REM TEST AUF GRAFIK-PARAM.AENDERN
  552. 5490 REM *****************************
  553. 5500 (null) 1:(null) 1,0:VA=(null)(0,0)
  554. 5510 IF VA=1 THEN (null) 0:GOTO 1202
  555. 5520 (null) 0
  556. 5530 PRINT"[147]NOCH KEINE GRAFIK DA !"
  557. 5540 FOR I=0 TO 500:NEXT
  558. 5550 GOTO 200: REM MENUE
  559. 5590 :
  560. 5600 REM TEST AUF GRAFIK-DRUCKEN
  561. 5610 REM ***********************
  562. 5620 (null) 1:VA=(null)(0,0)
  563. 5630 IF VA=1 THEN (null) 0:GOTO 3220:REM DRUCKEN
  564. 5640 GOTO 5520:REM KEINE GRAFIK-MENUE
  565. 5690 :
  566. 5700 REM GRAFIK SAVE/LOAD
  567. 5710 REM ****************
  568. 5720 (null) 0
  569. 5730 PRINT"[147]GRAFIK SAVE ODER LOAD ? <S/L> OD.<TASTE>"
  570. 5740 GETL$:IF L$=""THEN 5740
  571. 5750 IF L$="S" THEN 5800
  572. 5760 IF L$="L" THEN 5900
  573. 5770 GOTO 200
  574. 5790 :
  575. 5800 REM GRAFIK SPEICHERN
  576. 5810 REM ****************
  577. 5815 GOTO 6000
  578. 5820 (null) 0
  579. 5830 INPUT"BILDNAME ?";G$
  580. 5840 PRINT"[147][158][147]:MODE1:CHANGE:GSAVE";CHR$(34);G$;CHR$(34);",8:CHANGE"
  581. 5845 PRINT"R[213]200"
  582. 5850 POKE 631,19:FORI=0TO3:POKE632+I,13:NEXT:POKE198,5:END
  583. 5890 :
  584. 5900 REM GRAFIK LADEN
  585. 5910 REM ************
  586. 5920 INPUT"BILDNAME ?";G$
  587. 5930 PRINT"[147][158][147]:MODE1:GLOAD";CHR$(34);G$;CHR$(34);",8":PRINT"R[213]200"
  588. 5940 POKE 631,19:FORI=0TO3:POKE632+I,13:NEXT:POKE198,5:END
  589. 5990 :
  590. 6000 REM TEST AUF GRAFIK-SAVE
  591. 6010 REM ********************
  592. 6020 (null) 1:(null) 1,0:VA=(null)(0,0)
  593. 6030 IF VA=1 THEN 5820:REM SAVE
  594. 6040 GOTO 5520:REM KEINE GRAFIK DA
  595. 6090 :
  596. 6100 REM DIRECTORY LESEN
  597. 6110 REM ***************
  598. 6120 PRINT"[147]"
  599. 6130 (null)
  600. 6140 PRINT:PRINT
  601. 6150 PRINT"      TASTE !"
  602. 6160 (null) 0
  603. 6170 WAIT 198,1: POKE 198,0
  604. 6180 GOTO 200
  605.