```Hi,
here is my solution. The fractal-part is straight forward, the ascii-art
was harder.

thanks,
Philip

--------------------------------

#!/usr/bin/ruby -w

class Fractal

def initialize n
@steps={:up =>[:up, :left, :up, :right, :up],
:down=>[:down, :right, :down, :left, :down],
:left=>[:left, :down, :left, :up, :left],
:right=>[:right, :up, :right, :down, :right] }
@n=n
@moves=(0..n).to_a.inject([]) {|result, ignore| one_step(result) }
end

def to_s
x=0
y=0

width = 3 ** @n
height= (1+width)/2
screen= (1.. height).collect { " " *(2* width-1) }

@moves.each {|item|
case item
when :up
y+=1
(screen[y-1])[x-1]="|"
when :down
y-=1
(screen[y])[x-1]="|"
when :left
x-=2
(screen[y])[x]="_"
when :right
x+=2
(screen[y])[x-2]="_"
end
}
screen.reverse.join("\n")
end

private

def one_step x
x.empty? ? [:right] : (x.collect {|item| @steps[item] }).flatten
end

end

n=ARGV[0].to_i

if (ARGV.length < 1 || n<0)
puts "Usage: quizz_125.rb level"
puts "-> level: non-negative integer"
else
puts Fractal.new(n)
end

```