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