Newer
Older
Ruby / yuzatown.rb
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-

#mogrify -resize '>400x300' *.jpg 画像を小さくする魔法

require 'csv'
yuza = CSV.read("yuza.csv", headers:true)
basho = yuza["場所"]            # 「場所」の列が配列で入る
puts "何番の場所の情報を見ますか?"
basho.each_with_index do |b, n| # bが場所、nが配列の番号(添字)
  printf("%2d: %s\n", n, b)
end
 print "番号: "
n =  gets.to_i
 
  while true
  if n<0 || n>=basho.length
    puts "さようなら!"
    break
  end
  
  sentaku = yuza[n]		# 配列のn番目のものをもってくる
  bun = sentaku["案内文"]	# その行の"案内文"の列を取る
  url = sentaku["URL"]          # その行の"URL"の列を取る
  gazou = sentaku["画像"]
  while true
    puts"案内文を見ますか?(いいえと選択したら、写真が表示されます)"
    puts"案内文を見るとそれに関するサイトに飛びます。"
    puts"はい、いいえ"
    puts"入力:"
    erabu = gets.chomp
  if erabu == "はい"
  printf("%s\n", bun)
  system "firefox #{url} &"	# #{url}がurl変数に置き換わって実行される
  break
  elsif erabu == "いいえ"
    puts"わかりました。"
    puts"サイトは見ないで、写真を見ましょう。"
    puts"写真は、選択肢に出ていたものを見せます"
    puts"鳥海山、丸池様、十六羅漢、釜磯、牛渡川、胴腹滝、鳥海山大物忌神社(2つあります)の順で見ましょう"
    puts"まずは鳥海山!!"
    pid = spawn "display -geometry +10+20 鳥海山.jpg"
    sleep(7)
    Process.kill(:INT,pid)
    puts"次は丸池様!!"
    pid = spawn "display -geometry +15+25 丸池様.jpg"
    sleep(7)
    Process.kill(:INT,pid)
    puts"その次は十六羅漢!!"
    pid = spawn "display -geometry +20+30 十六羅漢.jpg"
    sleep(7)
    Process.kill(:INT,pid)
    puts"お次は、釜磯!"
    pid = spawn "display -geometry +25+35 釜磯.jpg"
    sleep(7)
    Process.kill(:INT,pid)
    puts"次は、牛渡川!"
    pid = spawn "display -geometry +30+40 牛渡川.jpg"
    sleep(7)
    Process.kill(:INT,pid)
    puts"その次は、胴腹滝!"
    pid = spawn "display -geometry +35+45 胴腹の滝.jpg"
    sleep(7)
    Process.kill(:INT,pid)
    puts"その次は、鳥海山大物忌神社!2つあるよ同時に出すね。"
    pid = spawn "display -geometry +40+50 大物忌神社吹浦2.JPG"
    pid1 = spawn "display -geometry +500+40 大物忌神社蕨岡.JPG"
    sleep(10)
    Process.kill(:INT,pid)
    Process.kill(:INT,pid1)
    puts"ばいばい"
    break
  else
    puts"もう一回入力して下さい。"
    redo
  end
  end
  break
  end