Class: Quiz

Inherits:
Object
  • Object
show all
Defined in:
lib/Quiz.rb

Overview

Quiz.rb

Autor

Dailos Sabina Rodriguez

Autor

Raul Perez Hernandez

Clase Quiz

Definicion de la clase Quiz que permite representar un examen por pantalla mediante los siguientes metodos y tambien comprobar el resultado del examen

  • metodo initialize

  • metodo to_s

  • metodo check

Direct Known Subclasses

InterfazQuiz

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, questions) ⇒ Quiz

Metodo para inicializar la clase



23
24
25
26
27
# File 'lib/Quiz.rb', line 23

def initialize(name, questions)
  @aciertos = 0
  @name = name
  @questions = questions
end

Instance Attribute Details

#nameObject

Atributo name que guarda el titulo del examen Atributo questions que guarda las diferentes respuestas del examen



20
21
22
# File 'lib/Quiz.rb', line 20

def name
  @name
end

#questionsObject

Atributo name que guarda el titulo del examen Atributo questions que guarda las diferentes respuestas del examen



20
21
22
# File 'lib/Quiz.rb', line 20

def questions
  @questions
end

Instance Method Details

#check(resp) ⇒ Object

Metodo para comprobar las respuestas dadas del examen



39
40
41
42
43
44
45
46
47
48
# File 'lib/Quiz.rb', line 39

def check(resp)
  r = 0
  @questions.each do |q|
    if q.num_c == resp[r]
      @aciertos += 1
    end
    r +=1
  end
  @aciertos
end

#invertirObject

Metodo para invertir el order de las preguntas siguiendo programacion funcional



60
61
62
63
64
# File 'lib/Quiz.rb', line 60

def invertir
 q_inv = List.new
 @questions.map { |n| q_inv.ins_inicio(n) }
 @questions = q_inv
end

#invertir_manualObject

Metodo para invertir el order de las preguntas sin programacion funcional



51
52
53
54
55
56
57
# File 'lib/Quiz.rb', line 51

def invertir_manual
  q_inv = List.new
  @questions.each do |p|
    q_inv.ins_inicio(p)
  end
  @questions = q_inv
end

#to_sObject

Metodo para mostrar el examen por pantalla



30
31
32
33
34
35
36
# File 'lib/Quiz.rb', line 30

def to_s
  q = "#{@name}" + "\n"
  @questions.each do |p|
    q << p.to_s + "\n"
  end
  q
end