Sha256: 41890b394d5e0401eca969247bc9804d0fe1181f2b628a09cce9d98f9ad1cbc4
Contents?: true
Size: 1.31 KB
Versions: 1
Compression:
Stored size: 1.31 KB
Contents
module AlexCodebreaker class Session include AlexCodebreaker::Modules::ArgumentsValidation INITIAL_ATTEMPTS_USED = 0 INITIAL_HINTS_USED = 0 attr_reader :hints_used, :attempts_used, :player_name, :hints_total, :difficulty_name, :attempts_total, :difficulty_level def initialize @attempts_used = INITIAL_ATTEMPTS_USED @hints_used = INITIAL_HINTS_USED end def add_name(given_name) @player_name = given_name if name_validation(given_name) end def add_difficulty(difficulty) return unless AlexCodebreaker::Modules::DifficultyLevels::DIFFICULTY_LEVELS.include?(difficulty.downcase.to_sym) difficulty(AlexCodebreaker::Modules::DifficultyLevels::DIFFICULTY_LEVELS[difficulty.downcase.to_sym]) end def check_hints @hints_used += 1 if @hints_used < @hints_total end def check_attempts @attempts_used += 1 if @attempts_used < @attempts_total - 1 end def save_statistic File.open(AlexCodebreaker::Modules::Files::STATS_FILE, 'a') { |file| file.write(to_yaml) } end private def difficulty(difficulty) @difficulty_name = difficulty[:name] @difficulty_level = difficulty[:level] @attempts_total = difficulty[:attempts_total] @hints_total = difficulty[:hints_total] end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
alex_codebreaker-0.1.7 | lib/alex_codebreaker/session.rb |