diff --git "a/\043tyuukan.rb\043" "b/\043tyuukan.rb\043" new file mode 100644 index 0000000..e69de29 --- /dev/null +++ "b/\043tyuukan.rb\043" diff --git a/tyuukan.rb b/tyuukan.rb new file mode 100755 index 0000000..ac55a56 --- /dev/null +++ b/tyuukan.rb @@ -0,0 +1,58 @@ +#!/usr/bin/env ruby +# -*- coding:utf-8 -*- + +require 'csv' +require 'timeout' +qsa=CSV.read("tyuukan.csv", headers:true) +puts("カップラーメンの待ち時間は何分ですか?(数字だけで入力)") +print("\e[5m>>\e[m") +wt=gets.to_f +puts("お湯を入れたらエンターを押してください。タイマーがスタートします") +print("\e[5m>>\e[m") +gets +a=1 +c=d=0 +time=Time.now +begin + Timeout.timeout(60*wt){ + while true + srand() + b=rand(qsa.length) + printf("%d問目:%s\n",a,qsa[b]["quiz"]) + puts(qsa[b]["selection1"]) + puts(qsa[b]["selection2"]) + puts(qsa[b]["selection3"]) + puts("選択肢の数字で答えてね。") + while true + print("\e[5m>>\e[m") + ans=gets.chomp.to_i + if ans==qsa[b]["ans_number"].to_i + puts("\e[31;47m正解!\e[m") + d+=1 + break + elsif ans>=4||ans==0 + print("選択肢の数字で答えてね。") + sleep(0.5) + print("\e[24D\e[J\e[1A\e[J") + redo + else + puts("\e[34;47m不正解…\e[m") + c+=1 + break + end + end + printf("正解は%sの%sでした。\n",qsa[b]["ans_number"],qsa[b]["answer"]) + sleep(1) + printf("残り%d秒!\n",wt*60-(Time.now-time)) + puts("") + a+=1 + end + } +rescue Timeout::Error + puts("") + puts("========================終了========================") + printf("%d分立ちました。\n",wt) + printf("%d問解くことができました。\n",a) + printf("%d問正解して、%d問不正解でした。\n",d,c) + puts("召し上がれ!!") +end