Sierpinski carpet: Difference between revisions
Content added Content deleted
(Added solution for Action!) |
(→{{header|Nascom BASIC}}: Added) |
||
Line 4,072: | Line 4,072: | ||
# ## ## ## ## ## ## ## ## # |
# ## ## ## ## ## ## ## ## # |
||
###########################</pre> |
###########################</pre> |
||
=={{header|Nascom BASIC}}== |
|||
{{trans|BBC BASIC}} |
|||
{{works with|Nascom ROM BASIC|4.7}} |
|||
<lang basic> |
|||
10 REM Sierpinski carpet |
|||
20 CLS |
|||
30 LET RDR=3 |
|||
40 LET S=3^RDR |
|||
50 FOR I=0 TO S-1 |
|||
60 FOR J=0 TO S-1 |
|||
70 LET X=J |
|||
80 LET Y=I |
|||
90 GOSUB 300 |
|||
100 IF C THEN SET(J,I) |
|||
110 NEXT J |
|||
120 NEXT I |
|||
130 REM ** Set up machine code INKEY$ command |
|||
140 IF PEEK(1)<>0 THEN RESTORE 410 |
|||
150 DOKE 4100,3328:FOR A=3328 TO 3342 STEP 2 |
|||
160 READ B:DOKE A,B:NEXT A |
|||
170 SCREEN 1,15 |
|||
180 PRINT "Hit any key to exit."; |
|||
190 A=USR(0):IF A<0 THEN 190 |
|||
200 CLS |
|||
210 END |
|||
290 REM ** Is (X,Y) in the carpet? |
|||
295 REM Returns C=0 (no) or C=1 (yes). |
|||
300 LET C=0 |
|||
310 XD3=INT(X/3):YD3=INT(Y/3) |
|||
320 IF X-XD3*3=1 AND Y-YD3*3=1 THEN RETURN |
|||
330 LET X=XD3 |
|||
340 LET Y=YD3 |
|||
350 IF X>0 OR Y>0 THEN GOTO 310 |
|||
360 LET C=1 |
|||
370 RETURN |
|||
395 REM ** Data for machine code INKEY$ |
|||
400 DATA 25055,1080,-53,536,-20665,3370,-5664,0 |
|||
410 DATA 27085,14336,-13564,6399,18178,10927 |
|||
420 DATA -8179,233 |
|||
</lang> |
|||
=={{header|NetRexx}}== |
=={{header|NetRexx}}== |