我一直在努力研究我的紅寶石技能,並且在迷宮一代中遇到了一個很好的時髦演示。帶紅寶石的迷宮一代
我想實現一對夫婦的算法,然後生成迷宮的圖像文件。
我很不確定第二部分的工作:「生成迷宮圖像」。我想要一個簡單的寶石,讓我將我的迷宮映射到圖像。
也許不久之後,我還希望整個事情成爲Web上的Ruby on Rails應用程序。
我怎樣才能把所有的東西放在一起?
我一直在努力研究我的紅寶石技能,並且在迷宮一代中遇到了一個很好的時髦演示。帶紅寶石的迷宮一代
我想實現一對夫婦的算法,然後生成迷宮的圖像文件。
我很不確定第二部分的工作:「生成迷宮圖像」。我想要一個簡單的寶石,讓我將我的迷宮映射到圖像。
也許不久之後,我還希望整個事情成爲Web上的Ruby on Rails應用程序。
我怎樣才能把所有的東西放在一起?
它使用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')
時間繼續。 Jamis Buck現在已經在實用的書架上完成了一本名爲「程序員迷宮」的書。我認爲這是你去參考Ruby和迷宮。
生成圖像是很容易的部分。我會爲初學者結賬RMagick,但也可能有其他選擇。一旦你有了你的迷宮數據,它應該很容易迭代並輸出圖像。 – muffinista