#!/usr/bin/env/ruby # -*- coding: utf-8 -*- #自己紹介プログラム atatta=0 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 +350+460 自画像.鳥海塾提出プログラム.jpg" sleep(3) puts"私について紹介します。長いからって飽きないで!(いらない情報混ざってます)" sleep(1) puts"" require'csv' data = CSV.read("testdata.csv", :headers => true) data.each{|hako| printf("%s:%s\n",hako["内容"],hako["データ"]) puts"" printf("%s\n",hako["補足"]) puts"" puts"---------------------------------------" puts"" sleep(3) } puts"私の情報はこれくらいです。役に立ち…ませんね。はい。" sleep(1) puts"" puts"急ですがな私の好きなこととしてなぞかけをしませんか?" puts"2つの物事の共通点を言い当てるという、簡単な(ほんと?)ダジャレ遊びです。" puts"" sleep(2) puts"なぞかけをしますか? yes→1 no→その他" kotae=gets.to_i if kotae==1 sleep(1) puts"それでは始めましょう!" sleep(0.3) puts"<ルール>" puts"答えのあとに、~でしょうをつけてください" puts"答え方が違うとはずれるので、再挑戦で違う言葉を試してください" puts"同音異義語なのでひらがなで答えてください。" puts"〇〇が大事 や 〇〇がいる と答えるところがあります。" puts"" puts"Enterでスタート" gets sleep(1) puts"あっ!質問を忘れていました" print"タイムを計りますか? yes→1 no→その他" kotae=gets.to_i if kotae==1 kaisi=Time.now kesan=1 else kesan=0 end require'csv' data_2=CSV.read("nazokake.csv",:headers=>true) 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) atatta+=1 puts"" break else sleep(1) puts"不正解!" komento("残念…","またの機会に…") sleep(0.5) puts"再挑戦しますか? yes→1 no→0" kotae=gets.to_i if kotae==1 redo elsif kotae==0 printf("こたえは、%sでした!\n",nazo["こたえ"]) break end end end} if kesan==1 owari=Time.now time=owari-kaisi puts"" print"あなたのタイムは" sleep(1) print"・" sleep(1) print"・" sleep(1) print"・" sleep(1) printf("%dでした!\n",time) else end puts"" 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(2) puts"" puts"これで自己紹介を終了します。" sleep(1) puts"ありがとうございました!" Process.kill(:INT,pid)