#!/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)