class Game

Attributes

correct[R]
deck[R]

Public Class Methods

check_answer() click to toggle source
# File lib/game.rb, line 29
def check_answer
  while !@correct
    sleep(0.5)
    View.render("Guess:")
    answer = GameLogic.user_input
    if answer == @current_card.answer
      @correct = true
      View.correct_answer
    elsif answer.downcase == "exit"
      @user_exit = true
      break
    else
      View.wrong_answer
      try_again = GameLogic.user_input
      if try_again == 'n'
        View.show_answer(@current_card)
        break
      end
    end
  end
end
initialize(args={}) click to toggle source
# File lib/game.rb, line 8
def initialize(args={})
  @current_card = nil
  @file = args[:file] || ARGV[0]
  @deck = Deck.initialize(@file)
  @user_exit = false
  @counter = 0
  @correct = false
end
play() click to toggle source
# File lib/game.rb, line 17
def play
  View.game_intro
  while !@user_exit && @counter < deck.length
    sleep(0.5)
    # repeat = true
    @correct = false
    @current_card = deck[@counter]
    View.show_question(@current_card)
    check_answer
    @counter += 1
  end
end