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

require 'csv'     #csvライブラリの呼び出し
data = csv.read("information.csv", headers => true)    #自己紹介の内容を表すcsvファイル読み込み


require 'curses'     #Cursesライブラリの呼び出し
include Curses     #画面の好きな位置に文字表示、Return押さなくても入力可

init_screen     #画面の初期化
cbreak      #Ruturnなしで入力
noecho      #入力した文字を表示しない

rt = []


while true
  puts "1 自己紹介"
  puts "2 写真提示+説明"
  puts "0 終了"
  print "どれかひとつ選んでください => "
  input=gets.to_i      #変数に代入
  if input == 0 then      #もしinputが0だったとき
    break     #終了する
  elsif input == 1 then      #もしinputが1だったとき
    #↓行ごとに取り出す
    n = 0    #見出しのための変数
    data.each{|row|     #rowには1行ずつ値が入り繰り返される
      printf("hello!!%d: %sです\n",n+=1,row["名前"])
      printf("チーム => %s \nチームの役割 => %s \n",row["チーム"],row[チームの役割])
      printf("学校 => %s \n学年 => %s \n塾生番号 => %s \n",row["学校"],row["学年"],row["塾生番号"])
      printf("誕生日 => %s \n趣味 => %s \n特技 => %s \n",row["誕生日"],row["趣味"],row["特技"])
      printf("好きな食べ物 => %s \n好きなこと => %s \n苦手なこと => %s \n",row["好きな食べ物"],row["好きなこと"],row["苦手なこと"])
      print("--------------------------------\n")    #仕切り
    elsif input == 2 then     #もしinputが2だったとき
      begin         #画面を初期化して行う処理の開始
        sleep(0)

        10.timus do
          system("display -geometry +0+0 inko.jpg&")    #画面の表示
          sleep(6)
          puts("私はインコを飼っています")
          puts("とても可愛くて、我が家のアイドルです!")
          system('pkill magick -U `whoami`')    #画面の消去
          srand
          i = 0
          if i == 1
            system("display -geometry +0+0 nature1.jpg&")    #写真提示
          elsif i == 2
            system("display -geometry +0+0 nature2.jpg&")    #座標指定
          elsif i == 3
            system("display -geometry +0+0 nature3.jpg&")
          end
          setpos(0,0)     #メッセージを表示する座標指定
          addstr("自然と触れるのが好きです!")    #メッセージ
          ref resh     #画面への出力
          system('pkill magick -U `whoami`')
          setpos(0,0)
          addstr("\n")
          refresh
          sleep(2)
        end
      end
    else
      print "1/2/0から選んでください\n"