Sha256: bb67744dcfe58c7e8a435fd38bc1b48c2dd45b21bd8419c5c368f4b26bf6e717
Contents?: true
Size: 1.07 KB
Versions: 2
Compression:
Stored size: 1.07 KB
Contents
# frozen_string_literal: true # Main Gem module module CodeBrkrGameTraining # Class for game class Game include Validator extend Statistics extend FileOperations GameError = Class.new(StandardError) attr_reader :user, :difficulty, :code def initialize(user, difficulty) @user = user @difficulty = difficulty validate @code = Code.new @hints_indexes = [] end def code_guessing_attempt(digits_arr) result = @code.code_check(digits_arr) @difficulty.guessing_attempts_decrement! if result[:in_positions] == Code::GAME_NUMBERS[:count] result = { win: true } elsif !@difficulty.guessing_attempts_available? result = { loss: true, Ńorrect_answer: @code.to_s } end result end def game_hint @difficulty.hints_decrement! hint = @code.random_digit(@hints_indexes) @hints_indexes << hint[:index] hint[:digit] end private def validate check_type(@user, User) check_type(@difficulty, DifficultyController) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
code_brkr_game_training-0.9.2 | lib/code_brkr_game_training/entities/game.rb |
code_brkr_game_training-0.9.1 | lib/code_brkr_game_training/entities/game.rb |