Newer
Older
Ruby / csquiz.rb
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-


require 'csv'
neta = CSV.read("quiz.csv", :headers => true)

#mondai   = neta["問題"]         # "問題"の中身が配列になってる
#santaku1 = neta["三択1"]
#santaku2 = neta["三択2"]
#santaku3 = neta["三択3"]
#printf("%s\n",mondai[0])        # =>quiz.csvのA2

count = 0                       # 今何問目なのか
print("\e[2J")
print("\e[H")
neta.each{|row|
            count += 1
            printf("第%d問\n",count) 
            printf("%s\n", row["問題"])               
            santaku = [row["三択1"],row["三択2"],row["三択3"]]
            fuseikai = 0
            while true
              if fuseikai == 3
                num = 1
                for i in santaku
                  printf("%d => %s\n",num,i)
                  num += 1
                end
              end
              print("\e7")
              print"答えを入力..."
              kaitou = gets.chomp
            
              if kaitou == row["答え"] ||
                 fuseikai >= 3 && santaku[(kaitou.to_i)-1] == row["答え"]
                 puts"正解!!"
                 break
              else
                puts"不正解!"
                fuseikai += 1
                sleep(0.5)
                print("\e8")    # 以下endまで画面のリセット
                puts("                     ")
                puts("                     ")
                print("\e8")
              end
            end
            sleep(0.5)
            print("--------------------------\n") #何個でもいい仕切りの機能
            }
puts"終了!!"

#puts "問題 "+ mondai[kazu]