class GemCodebreaker::GameConfig

Constants

GAME_LEVEL

Attributes

difficulty[R]
max_attempts[R]
max_hints[R]
user_attempts[R]
user_hints[R]
user_nick_name[R]

Public Class Methods

new(user, level) click to toggle source
# File lib/gem_codebreaker/classes/game_config.rb, line 28
def initialize(user, level)
  check_difficulty(level)
  @user_nick_name = user.nick_name
  @difficulty = level
  @max_attempts = GAME_LEVEL[level][:attempts]
  @max_hints = GAME_LEVEL[level][:hints]
  @user_attempts = 0
  @user_hints = 0
end

Public Instance Methods

attempts_used?() click to toggle source
# File lib/gem_codebreaker/classes/game_config.rb, line 46
def attempts_used?
  @user_attempts >= @max_attempts
end
hints_used?() click to toggle source
# File lib/gem_codebreaker/classes/game_config.rb, line 50
def hints_used?
  @user_hints >= @max_hints
end
increase_user_attempts() click to toggle source
# File lib/gem_codebreaker/classes/game_config.rb, line 38
def increase_user_attempts
  @user_attempts += 1
end
increase_user_hints() click to toggle source
# File lib/gem_codebreaker/classes/game_config.rb, line 42
def increase_user_hints
  @user_hints += 1
end
reset_user_attempts_hints() click to toggle source
# File lib/gem_codebreaker/classes/game_config.rb, line 54
def reset_user_attempts_hints
  @user_attempts = 0
  @user_hints = 0
end

Private Instance Methods

check_difficulty(difficulty) click to toggle source
# File lib/gem_codebreaker/classes/game_config.rb, line 61
def check_difficulty(difficulty)
  validate_inclusion(GAME_LEVEL.keys, difficulty)
end