Sha256: 07bbd45989c42cd8107101b99462cbfa0024026d67adb85dff864fbeb1ad4f19

Contents?: true

Size: 1.77 KB

Versions: 1

Compression:

Stored size: 1.77 KB

Contents

# -*- coding: utf-8 -*-

#Modulo para contener las clases con las que se crea un examen
module Quiz
  #clase Quiz que permite la definicion de un examen
  class Quiz
    #Variable que se asigna a una respuesta para indicar que es correcta  
    RIGHT = 0
    #Variable que se asigna a una respuesta para indicar que es erronea 
    WRONG = 1
    
    #almacena el titulo del examen y un bloque que analiza para obtener las preguntas
    #string y bloque
    def initialize(titulo, &preguntas)
      @titulo = titulo
      @preguntas = Array.new
      @counter = 0
      instance_eval &preguntas
    end
    
    #cada cuestion es dividida en pregunta y respuestas, almacenando un array de questiones
    # string y hash
    def question(pregunta, respuestas)
      nuevaPregunta = Question.new(pregunta, respuestas)
      @preguntas.push(nuevaPregunta) 
      @counter = 0
    end
      
    #muestra el examen como un string
    def to_s
      @cadena = @titulo + "\n"
      @preguntas.each do |q|
        @cadena = @cadena + q.to_s
      end
      return @cadena
    end
      
    #diferencia las ocurrencias de las respuestas usando un contador @counter:
    def wrong
      @counter += 1
      [@counter, WRONG]
    end
    
    #diferencia las ocurrencias de las respuestas usando un contador @counter:
    def right
      @counter += 1
      [@counter, RIGHT]
    end
    
    #ejecuta el examen
    def run
      @acertadas = 0
      puts @titulo +"\n\n"
      @preguntas.each do |pre|
        if pre.consulta then
          @acertadas += 1
        end
      end
      puts "#{@acertadas} respuestas correctas de un total de #{@preguntas.size}"
    end
      
      
    def consultaUnica(pregunta, respuesta)
      return @preguntas[pregunta - 1].consultaUnica(respuesta)
    end
      
  end
  
end






Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ull-etsii-alu0100315462-quiz-0.0.2 lib/quiz/quiz.rb