Sidef

 view release on metacpan or  search on metacpan

scripts/Graphical/LSystem/Turtle.sf  view on Meta::CPAN

#!/usr/bin/ruby

require('Image::Magick')

class Turtle(
    x      = 500,
    y      = 500,
    angle  = 0,
    scale  = 1,
    mirror = 1,
    xoff   = 0,
    yoff   = 0,
    color  = 'black',
) {

    has im = %O<Image::Magick>.new(size => "#{x}x#{y}")

    method init {
        angle.deg2rad!
        im.ReadImage('canvas:white')
    }

    method forward(r) {
        var (newx, newy) = (x + r*sin(angle), y + r*-cos(angle))

        im.Draw(



( run in 0.251 second using v1.01-cache-2.11-cpan-beeb90c9504 )