Goldberg の生成プログラムを Ruby 化してみた。
n = x * y m = 4 * n - 2 * (x + y) puts "p sp #{n} #{m}" ids = 1.upto(n).sort_by { |item| rand } ids.unshift(0) 1.upto(x) do |i| 1.upto(y) do |j| puts "a #{ids[y*(i-1)+j]} #{ids[y*(i-1)+(j-1)]} #{ rand(hY+1).to_i+lY }" if j > 1 puts "a #{ids[y*(i-1)+j]} #{ids[y*(i-1)+(j+1)]} #{ rand(hY+1).to_i+lY }" if j < y puts "a #{ids[y*(i-1)+j]} #{ids[y*(i-2)+(j )]} #{ rand(hX+1).to_i+lX }" if i > 1 puts "a #{ids[y*(i-1)+j]} #{ids[y*(i )+(j )]} #{ rand(hX+1).to_i+lX }" if i < x end end
※コメント投稿者のブログIDはブログ作成者のみに通知されます