home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er 1987 September
/
64er_Magazin_87-09_1987_Markt__Technik_de_Side_A.d64
/
hilbert
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
2KB
|
60 lines
10 rem ****************************
20 rem * hilbert-kurve *
30 rem ****************************
40 :
50 if a=0 then a=1:load "fractal.obj"
60 :
70 open 1,8,15,"u9":close 1: rem diese zeeile kann bei problemen mit dem
80 rem floppyspeeder weggelassen werden!
90 poke53280,0:poke53281,0
100 input "[147]grad ";gr
110 sp=95/2^(gr):se=95/2^(gr-1):xp=65+sp:yp=195-sp:w=0:r=1
120 :
130 sys 50176,14,0:sys 50179,1:sys 50194:rem grafik ein
140 :
150 gosub 300: rem 'hilbert' aufrufen
160 sys 50185,0,0,319,0,1:sys 50185,319,0,319,199,1
170 sys 50185,319,199,0,199,1:sys 50185,0,199,0,0,1
180 get a$:if a$="" goto 180
190 sys 50179,0:if a$="s" then gosub 700: rem 'grafik speichern'
200 goto 60: rem neustart
260 :
270 :
280 rem ***************************
290 rem * 'hilbert' *
300 rem ***************************
310 :
320 if gr=0 then return
330 w=w-90*r: rem 'drehe'
340 gr=gr-1:r=-r:gosub 300:r=-r: rem 'hilbert'
350 s=se:gosub 500: rem 'schreite'
360 w=w+90*r: rem 'drehe'
370 gosub 300: rem 'hilbert'
380 s=se:gosub 500: rem 'schreite'
390 gosub 300: rem 'hilbert'
400 w=w+90*r: rem 'drehe'
410 s=se:gosub 500: rem 'schreite'
420 r=-r:gosub 300:r=-r:gr=gr+1: rem 'hilbert'
430 w=w-90*r: rem 'drehe'
440 return
450 :
460 :
470 rem ***************************
480 rem * 'schreite' *
490 rem ***************************
500 :
510 xs=s*cos(w*(NULL)/180)
520 ys=s*sin(w*(NULL)/180)
530 xp=xp+xs:yp=yp+ys
540 sys 50185,xp-xs,yp-ys,xp,yp,1:rem linie
550 return
650 :
660 :
670 rem ***************************
680 rem * 'grafik speichern' *
690 rem ***************************
700 :
710 input "grafik-name ";n$
720 open 2,8,2,"pi."+n$+",p,w":sys 50191:close 2
730 return