Ruby simple code(ruby is so damn readable)
pos[0]=x pos[1]=y
just pass the value u wanna convert to translate function, logic is
quite clean :)


step=10
print translate(step)

def move(pos,direction)
        case direction
        when :down
                pos[1]+=1
        when :left
                pos[0]-=1
        when :up
                pos[1]-=1
        when :right
                pos[0]+=1
        when :diagup
                pos[0],pos[1]=pos[0]+1,pos[1]-1
        when :diagdown
                pos[0],pos[1]=pos[0]-1,pos[1]+1
        end
end

def translate(steps)
        guide=[:left,:up,:diagup,:right,:down,:down,:diagdown]
        pos=[0,0]
        move(pos,:down)
        (steps-1).times{|i|
        move(pos,guide[i%7])
        }
        return pos
end

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algoge...@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to