#!/usr/bin/env ruby # -*- coding: utf-8 -*- #mogrify -resize '>400x300' *.jpg 画像を小さくする魔法 #このプログラムのテーマは「現在は人口が減少している・観光客もまだ少ない遊佐を、 たくさんの人がいる・観光客が多く活気がある町にするプログラム」です。 #現在の遊佐は人口が減少(特に若い人や子供)していて、まだ観光客も少ないため、 魅力や行くと楽しくなるスポットを紹介し、遊佐が人がたくさんいる賑やかな町に なるようにと考えこのプログラムを作りました。 #工夫したところ ・CSVを使ってできるだけ行数が少ないものにしました。 ・あとからでも、場所を追加できるようにしました。 #実装しているもの ・選んだスポットについての、サイト・写真・案内文を見ることができる。 ・CSVに書き加えれば、いつでも場所の情報を追加することができる。 #中間発表で「こうするともっと良くなるよ」と講評で言われた、実装できたもの。 1.自分自身の言葉を入れる。→自分が実際に見て思ったことをできるだけ多く入れるようにしてみました。 2.選択した場所のみ画像が見れるようにしたこと。→鳥海山を選んだ場合、鳥海山の写真のみ見れるように作った。 #新たに実装できたこと(今後の展望に書いたこと) 1.選択できる場所を増やしたい →スポット「神泉の水」を追加しました。 2.もっと親しみやすくなるように、できれば遊佐のキャラクターやオリジナルキャラクターを入れたい →タイトルに登場するようにしました。 3.遊佐クイズも作りたい →遊佐クイズのプログラムをsystemでj2311_last.rbに組み込み、できるようにしました。 #新たに、実装したいこと スポットを地域別で絞れるようにしたいです。 puts"遊佐観光案内!!" puts"1:観光案内・2:スポットクイズ" puts"どちらを選びますか?" erabu = gets.to_i while true if erabu == "1" 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"#{bun}" pid = spawn "display -geometry +10+20 #{gazou}" sleep(7) Process.kill(:INT,pid) puts"ばいばい" break else puts"もう一回入力して下さい。" redo end end break end break elsif erabu == "2" system"ruby yuza_quiz.rb" break end end