3

最近、Ruby のスキルを磨いていて、迷路生成に関するすてきなプレゼンテーションに出会いました。

Jamis Buck によるプレゼンテーション

いくつかのアルゴリズムを実装してから、迷路用の画像ファイルを生成したいと思います。

仕事の2番目の部分である「迷路の画像の生成」については、よくわかりません。迷路を画像にマッピングできる単純な宝石が必要です。

近いうちに、すべてを Web 用の Ruby on Rails アプリケーションとして使いたいと思うようになるかもしれません。

どうすればすべてをまとめることができますか?

4

3 に答える 3

3

チャンキー_pngの宝石は間違いなく試してみる価値のあるものです。

于 2011-10-14T14:06:36.733 に答える
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')
于 2011-10-14T14:03:46.427 に答える
1

時間は進みます。Jamis Buck は現在、実用的な本棚で「プログラマーのための迷路」という本を完成させています。これは、Ruby と Mazes の参考になると思います。

于 2015-09-21T10:19:42.150 に答える