Guest User

Untitled

a guest
Apr 26th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.42 KB | None | 0 0
  1. class Maze
  2. def initialize(s)
  3. @m = s.dup
  4. @d = r(@m.index('A'),@m.index("\n")+1)
  5. end
  6.  
  7. def r(a,w)
  8. n = [[1,a]]
  9. until n.empty? do
  10. d,i = n.shift
  11. [i-w,i+w,i-1,i+1].each do |j|
  12. case @m[j]
  13. when 32
  14. @m[j] = 'x'
  15. n << [d+1,j]
  16. when 66
  17. return d
  18. end
  19. end
  20. n.sort!
  21. end
  22. nil
  23. end
  24.  
  25. def solvable?; !!@d; end
  26. def steps; @d || 0; end
  27. end
Add Comment
Please, Sign In to add comment