puts 'Hangi dilde bilgi seviyenizi olcmek istersiniz?'
puts 'Inglizce _>> Turkce icin 1'
puts 'Turkce _>> Inglizce icin 2 giriniz'
ing_tr = gets.to_i
if ing_tr == 1 or ing_tr == 2
if ing_tr == 1
n = 1
l = 0
lang = 'Turkce'
else
n = 0
l = 1
lang = 'Inglice'
end
wrongs = []
questions = []
wrong_question = []
point = 0
question_nr = 0
4.times do # 4 cunku 4 soru var her soru icin ayri calisyor
txt = File.readlines('f.txt').map(&:chomp)
question_nr += 1
random_line = txt[rand(txt.size)].split(':')
randoms = []
3.times do # 3 cunku 3 defa farkli random kelimeleri secmesi gerekyor seceneklerde gostermek icin
randoms << txt[rand(txt.size)].split(':')[n]
end
randoms << random_line[n]
randoms = randoms.uniq
randoms << txt[rand(txt.size)].split(':')[n] if randoms.size != 4
randoms = randoms.shuffle
txt = randoms[rand(3)]
print "\n"
while questions.include? random_line[l]
random_line = txt[rand(txt.size)].split(':')
end
puts "\nSoru #{question_nr}.#{random_line[l]} kelimesinin #{lang} anlami nedir?"
questions << random_line[l]
a = randoms[rand(3)]
puts "a) #{a}"
randoms.delete a
b = randoms[rand(2)]
puts "b) #{b}"
randoms.delete b
c = randoms[rand]
puts "c) #{c}"
randoms.delete c
d = randoms[rand(0)]
puts "d) #{d}"
print 'Cevap:'
sonuc = gets.chomp
abcd = [a, b, c, d]
abcd.each_with_index do |i, index|
if i == random_line[n]
if
index.zero?
answer = 'a'
elsif index == 1
answer = 'b'
elsif index == 2
answer = 'c'
elsif index == 3
answer = 'd'
end
if sonuc == answer
point += 25
else
wrong_question << question_nr
wrongs << "#{question_nr}. sorunun cevabi #{answer} yani #{i}"
end
end
end
end
if wrong_question.empty?
puts "\n\nTebrikler!"
puts '100 puan aldiniz'
else
puts "\n\nSonuc: Test sonucunda #{point} puan aldiniz"
puts "Yanlis yapilan sorular #{wrong_question.join(', ')}"
puts 'Yanlis sorularin cevaplari:'
puts wrongs
end
else
puts '!!!Yanlis karakter girdiniz!!!'
end