2011-10-14 5 views
3

최근에 루비 기술을 연마하고 미로 생성에 대한 훌륭한 설명이 나왔습니다.루비를 이용한 미로 생성

Presentation by Jamis Buck

나는 알고리즘의 몇 가지를 구현하고 미로의 이미지 파일을 생성 할 것이다.

나는 두 번째 부분 인 "미로의 이미지 생성"에 대해서는 확신이 없습니다. 내 미로를 상상할 수있는 간단한 보석이 필요합니다.

어쩌면 곧 모든 것이 웹용 Ruby on Rails 응용 프로그램이되기를 원할 것입니다.

어떻게 모두 함께 넣을 수 있습니까?

+0

이미지 생성은 쉬운 부분입니다. 나는 RMagick을 처음에 체크 아웃 할 것이지만 아마도 다른 옵션들도있을 것이다. 미로 데이터를 얻은 후에는 반복하여 이미지를 출력하는 것이 쉬워야합니다. – muffinista

답변

3

chunky_png 보석은 확실히 가치가 시도 일이다.

+0

Jamis는 ChunkyPNG를 사용하여이 주제에 대한 블로그 게시물의 모든 시각화를 만들었습니다. – wvanbergen

3

그것은 RMagick을 사용하여 매우 쉽게 :

require 'rubygems' 
require 'RMagick' 

maze = <<-MAZE 
############## 
.............# 
############.# 
#............# 
#.#.########.# 
#.#..........# 
#.############ 
MAZE 

maze = maze.split("\n").map{|line| line.split('')} 

square_size = 50 

height = maze.size 
width = maze.first.size 

img_height = height * square_size 
img_width = width * square_size 

img = Magick::Image.new(img_width, img_height) 

img_width.times do |col| 
    img_height.times do |row| 
    line_idx = (row/square_size).floor 
    char_idx = (col/square_size).floor 

    char = maze[line_idx][char_idx] 

    color = (char == "#" ? "rgb(0, 0, 0)" : "rgb(255, 255, 255)") 

    img.pixel_color(col, row, color) 
    end 
end 

img.write('maze.png') 
1

시간이 이동합니다. Jamis Buck은 실용적인 책장에서 '프로그래머를위한 미로'라는 책을 완성했습니다. Ruby와 Mazes에 대한 참고 자료로 생각됩니다.