require 'exam1/SeleccionSimple' require 'exam1/linkedlist'

class Examen

attr_accessor :exam, :respuesta_usuario, :rcorrecta, :correctaP

def initialize (lista_preguntas)
        @exam = lista_preguntas 
        @respuesta_usuario=[nil,nil,nil,nil,nil]
        @rcorrecta = ['b','a','c','a','a']
        @correctaP=0
end

def respuesta_user 

puts "Introduce las opciones de respuesta: "

begin

puts "1): " + r1=gets.chomp
puts "2): " + r2=gets.chomp
puts "3): " + r3=gets.chomp
puts "4): " + r4=gets.chomp
puts "5): " + r5=gets.chomp

end

# @respuesta_usuario = [r1,r2,r3,r4,r5]

@respuesta_usuario = [gets.chomp,gets.chomp,gets.chomp,gets.chomp,gets.chomp]

end

def vresp_user
        return @respuesta_usuario
end

def correcta(ans_usuario,numero_preg)

        if ans_usuario == @rcorrecta[numero_preg] then

                puts "Pregunta #{numero_preg+1}: Respuesta correcta"
                @correctaP+=1
                true

        else
                puts "Pregunta #{numero_preg+1}: Respuesta incorrecta"
                false

        end

end

def calificacion

        if @correctaP >= 3 then
                puts "Calificación: Aprobado"
                true
        else
                puts "Calificación: Suspendido"
                false
        end

end

def to_s
        actual = @exam.tail

        i=1
        while actual != nil && i < 6

                puts "#{i} #{actual.value}\n"
                actual = actual.siguiente

        i+=1

        end

end

def invert

        @exam.reverse_each { |x| puts  "#{x}\n" }
        return true

end

end

class Interfaz

attr_accessor :interfaz, :correctaP

def initialize (examen)

@interfaz = examen
@correctaP = 0

end

def to_s

@interfaz.to_s

end

def correcta(ans_usuario,numero_preg)

if ans_usuario == @interfaz.rcorrecta[numero_preg] then

        puts "Pregunta #{numero_preg+1}: Respuesta correcta"
        @correctaP+=1
        true

else
        puts "Pregunta #{numero_preg+1}: Respuesta incorrecta"
        false

end

end

def respuesta_correcta

if @interfaz.respuesta_usuario != @interfaz.rcorrecta 

        puts "Hay respuestas erroneas\n\n"

        for i in (0..4)

                if @interfaz.respuesta_usuario[i] != @interfaz.rcorrecta[i] 
                        puts "Pregunta #{i+1} incorrecta "

                elsif @interfaz.respuesta_usuario[i] == @interfaz.rcorrecta[i] 
                        puts "Pregunta #{i+1} correcta "
                end

        end

elsif vresp_user == rcorrecta 

                puts "Todas las respuestas son correctas\n"

end

end

def calificacion

if @correctaP >= 3 then
        puts "Calificación: Aprobado"
        true
else
        puts "Calificación: Suspendido"
        false
end

end

end