Newer
Older
Ruby / j2133_7.rb
#!/usr/bin/env/ruby
# -*- coding: utf-8 -*-
#自己紹介プログラム

def komento(a,y)
  serifu=[a,y]
  srand()
  homeru=rand(serifu.length)
  printf("%s\n",serifu[homeru])
end



puts"こんにちは(こんばんは)"
sleep(0.8)
puts"私は、後藤美咲といいます。"
puts""
sleep(0.5)
puts"こんな顔です。(似てなくても許して)"
pid = spawn "display -geometry +260+250 jigazo.jpg"
sleep(3)
puts"私について紹介します。長いからって飽きないで!(いらない情報混ざってます)"
sleep(1)
puts""


require'csv'
data = CSV.read("testdata.csv", :headers => true)
data_2 = CSV.read("nazokake.csv", :headers =>true)


i=0
require'curses'
Curses.init_screen
Curses.start_color

Curses.init_pair(1,Curses::COLOR_CYAN,  Curses::COLOR_BLACK)
Curses.init_pair(2,Curses::COLOR_GREEN,  Curses::COLOR_BLACK)

Curses.refresh
data.each{|hako|
  Curses.clear
  Curses.setpos(0,0)
  Curses.attrset(Curses.color_pair(1))
  Curses.addstr(sprintf("%s",hako["内容"]))
  Curses.refresh
  Curses.setpos(0+1,0)
  Curses.attrset(Curses.color_pair(0))
  Curses.addstr(sprintf("%s",hako["データ"]))
  Curses.setpos(0+2,0)
  Curses.addstr(sprintf("%s",hako["補足"]))
  Curses.refresh
  Curses.setpos(0+4,0)
  Curses.attrset(Curses.color_pair(2))
  Curses.addstr"---------------------------------"
  Curses.refresh
  Curses.setpos(0+5,0)
  sleep(3)
  i+=1
}
Curses.close_screen


puts"私の情報はこれくらいです。役に立ち…ませんね。はい。"
pid_2 = spawn "display -geometry +340+450 jigazo_2.jpg"
Process.kill(:INT,pid)
sleep(3)
Process.kill(:INT,pid_2)
pid = spawn "display -geometry +260+250 jigazo.jpg"


puts""
puts"急ですが私の好きなこととしてなぞかけをしませんか?"
puts"2つの物事の共通点を言い当てるという、簡単な(ほんと?)ダジャレ遊びです。"
puts""
sleep(2)

puts"なぞかけをしますか? yes→1 no→その他"
input=gets.chomp.to_i
atatta=0
if input==1
  sleep(1)
  puts""
  puts"タイムを計りますか?yes→1 no→その他"
  input=gets.chomp.to_i
  if input==1
    kaisi=Time.now
    hakaru=1
  else
    hakaru=0
  end
  puts"それでは始めましょう!"
  sleep(0.3)
  data_2.each{|nazo|
    printf("%s\n",nazo["説明"])}
  gets
  data_2.each{|nazo|
    printf("%sとかけまして、%sととく。その心は?\n",nazo["かける"],nazo["とく"])
    while true
      print"答えを入力:"
      x=gets.chomp
      if x==nazo["こたえ"]
        sleep(1)
        puts"正解!"
        komento("よくわかりましたね","簡単でしたか?")
        sleep(0.5)
        puts""
        atatta+=1
        break
      elsif x=="1"
        printf("%s\n",nazo["ヒント"])
        redo
      elsif x=="2"
        printf("%s\n",nazo["答え方"])
        redo
      elsif x=="3"
        printf("%s   %s\n",nazo["ヒント"],nazo["答え方"])
        redo
      else
        sleep(1)
        puts"不正解!"
        komento("残念…","またの機会に…")
        sleep(0.5)
        puts"再挑戦しますか? yes→1  no→0"
        input=gets.chomp.to_i
        if input==1
          redo
        elsif input==0
          printf("こたえは、%sでした!\n",nazo["こたえ"])
          puts""
          break
        else
          break
        end
      end
    end}
  if hakaru==1
    owari=Time.now
    time=owari-kaisi
    sleep(1)
    print"あなたのタイムは"
    sleep(1)
    print"・"
    sleep(1)
    print"・"
    sleep(1)
    print"・"
    sleep(1)
    printf("%d秒でした!\n",time)
  else
  end
  print("あなたの正答数は")
  sleep(1)
  print"・"
  sleep(1)
  print"・"
  sleep(1)
  print"・"
  sleep(1)
  printf("%d問でした!!\n",atatta)
  sleep(1)
  puts""
  puts"どうでしたか?"
  sleep(1)
  puts"頑張って考えたので解いてくれて嬉しいです!"
else
  puts"残念!またこんどにしましょう"
end


sleep(1)
pid_3 = spawn "display -geometry +260+250 jigazo_3.jpg"
Process.kill(:INT,pid)
puts""
puts"これで自己紹介を終わります"
sleep(1)
puts"ありがとうございました!"
Process.kill(:INT,pid_3)