Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
40
Task/Dragon-curve/MSX-Basic/dragon-curve.basic
Normal file
40
Task/Dragon-curve/MSX-Basic/dragon-curve.basic
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
10 REM Dragon curve
|
||||
20 REM SIN, COS in arrays for PI/4 multipl.
|
||||
30 DIM S(7),C(7)
|
||||
40 QPI=ATN(1):SQ=SQR(2)
|
||||
50 FOR I=0 TO 7
|
||||
60 S(I)=SIN(I*QPI):C(I)=COS(I*QPI)
|
||||
70 NEXT I
|
||||
80 LEVEL=15
|
||||
90 INSIZE=128:REM 2^WHOLE_NUM (looks better)
|
||||
100 X=80:Y=70
|
||||
110 ROTQPI=0:RQ=1
|
||||
120 DIM R(LEVEL)
|
||||
130 SCREEN 2
|
||||
140 GOSUB 200
|
||||
150 OPEN "GRP:" FOR OUTPUT AS #1
|
||||
160 DRAW "BM 0,184":PRINT #1,"Hit any key to exit."
|
||||
170 IF INKEY$="" THEN 170
|
||||
180 CLOSE #1
|
||||
190 END
|
||||
200 REM Dragon
|
||||
210 ROTQPI=ROTQPI AND 7
|
||||
220 IF LEVEL>1 THEN GOTO 280
|
||||
230 YN=S(ROTQPI)*INSIZE+Y
|
||||
240 XN=C(ROTQPI)*INSIZE+X
|
||||
250 LINE (X,Y)-(XN,YN)
|
||||
260 X=XN:Y=YN
|
||||
270 RETURN
|
||||
280 INSIZE=INSIZE*SQ/2
|
||||
290 ROTQPI=(ROTQPI+RQ)AND 7
|
||||
300 LEVEL=LEVEL-1
|
||||
310 R(LEVEL)=RQ:RQ=1
|
||||
320 GOSUB 200
|
||||
330 ROTQPI=(ROTQPI-R(LEVEL)*2)AND 7
|
||||
340 RQ=-1
|
||||
350 GOSUB 200
|
||||
360 RQ=R(LEVEL)
|
||||
370 ROTQPI=(ROTQPI+RQ)AND 7
|
||||
380 LEVEL=LEVEL+1
|
||||
390 INSIZE=INSIZE*SQ
|
||||
400 RETURN
|
||||
Loading…
Add table
Add a link
Reference in a new issue