(* * LANGUAGE : ANS Forth with extensions * PROJECT : Forth Environments * DESCRIPTION : Fractal tennis; Sierpinski's triangle * CATEGORY : Fractals * AUTHOR : Marcel Hendrix * LAST CHANGE : December 12, 2003, Marcel Hendrix *) NEEDS -miscutil NEEDS -graphics REVISION -fractenn "ÄÄÄ Fractal Tennis Version 1.00 ÄÄÄ" PRIVATES DOC (* Build Sierpinski's triangle using random numbers. *) ENDDOC White VALUE color 2 VALUE dotsize 0 [IF] :INLINE FPLOT ( F: x y -- ) SCALE dotsize color CIRCLE ; ( nice with p=8 or so) [ELSE] :INLINE FPLOT ( F: x y -- ) SCALE color SET-MDOT ; ( MDOT is about twice faster than DOT ) [THEN] : FRACTAL TEXTMODE? IF GRAPHICS ENDIF GCLEAR 0 0 Xmax Ymax -1.2e -0.1e 1.2e 1.2e SET-GWINDOW RESET-MDOTS 1 FCHOOSE 1 FCHOOSE F2DUP FPLOT ( start ) #6000 0 DO CASE 3 CHOOSE 0 OF F2/ FSWAP F1- F2/ FSWAP F2DUP FPLOT ENDOF ( player A ) 1 OF F2/ FSWAP F1+ F2/ FSWAP F2DUP FPLOT ENDOF ( player B ) 2 OF F1+ F2/ FSWAP F2/ FSWAP F2DUP FPLOT ENDOF ( player C ) ENDCASE LOOP F2DROP FLUSH-MDOTS TEXT ; :ABOUT CR ." Try: FRACTAL " ; .ABOUT -fractenn CR DEPRIVE (* End of Source *)