Sha256: 272323c5b53bd6105d962586f44476271a0ebe65773b46654358c2063e4e8516
Contents?: true
Size: 747 Bytes
Versions: 1
Compression:
Stored size: 747 Bytes
Contents
# frozen_string_literal: true require_relative 'autoload' class Game include CodeGenerator attr_reader :user def initialize(user) @secret_code = CodeGenerator.call @user = user end def give_a_hint return nil if @user.hints_used >= @user.level[:hints] @user.hints_used += 1 @secret_code.shuffle[@user.hints_used] end def respond_to_guess(input) @user.attempts_used += 1 status = status(input, @secret_code) resolved_code = GuessHandler.new(input, @secret_code).call { status: status, response: resolved_code } end def status(input, code) return 'loss' if @user.attempts_used >= @user.level[:attempts] return 'win' if input.each_char.map(&:to_i) == code 'in_game' end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
codebreaker_kirill-1.2.1 | lib/codebreaker_kirill/game.rb |