codebreaker_kub 0.1.9 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +0 -3
- data/Gemfile +2 -0
- data/Gemfile.lock +1 -1
- data/Rakefile +2 -0
- data/bin/console +1 -0
- data/codebreaker.gemspec +2 -0
- data/lib/codebreaker.rb +2 -0
- data/lib/codebreaker/game.rb +8 -4
- data/lib/codebreaker/loader.rb +3 -1
- data/lib/codebreaker/output.rb +2 -0
- data/lib/codebreaker/validation.rb +5 -1
- data/lib/codebreaker/version.rb +3 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: f04c487aaa2731e942ffff6cb60ef16d1104251d00bb9983a6e7d91c103b7169
         | 
| 4 | 
            +
              data.tar.gz: 4b505fe8bfe8a2e60e0f3915db5f3e4afe8175f06812602d4f1d972c9dcb31f4
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: f4479ce9fa5fc088e8acdacc83756ea2842711fcc410f7885df6a70461906df3d9bbad0c0fe8f54df0ec98afe14d83f7574fbdd9d2b77c7ab7644da3f56481d9
         | 
| 7 | 
            +
              data.tar.gz: 24ef175cf81346eb5a3eb83553ac0e31ea77cb95e09502c3428e4cba77413d1ec55eeb578502bcd1b423d3e02fc9cceac6f622f15ed7fdfc19c77ce7af205141
         | 
    
        data/.rubocop.yml
    CHANGED
    
    
    
        data/Gemfile
    CHANGED
    
    
    
        data/Gemfile.lock
    CHANGED
    
    
    
        data/Rakefile
    CHANGED
    
    
    
        data/bin/console
    CHANGED
    
    
    
        data/codebreaker.gemspec
    CHANGED
    
    
    
        data/lib/codebreaker.rb
    CHANGED
    
    
    
        data/lib/codebreaker/game.rb
    CHANGED
    
    | @@ -1,5 +1,9 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 1 3 | 
             
            module Codebreaker
         | 
| 2 4 | 
             
              class Game
         | 
| 5 | 
            +
                CODE_LENGTH = 4
         | 
| 6 | 
            +
                CODE_RANGE = (1..6).freeze
         | 
| 3 7 | 
             
                attr_accessor :input_code, :code, :name, :difficulties, :difficulty, :hints_left, :attempts_left
         | 
| 4 8 | 
             
                attr_reader :minuse, :plus, :none
         | 
| 5 9 | 
             
                def initialize
         | 
| @@ -67,11 +71,12 @@ module Codebreaker | |
| 67 71 | 
             
                end
         | 
| 68 72 |  | 
| 69 73 | 
             
                def generate_code
         | 
| 70 | 
            -
                  Array.new( | 
| 74 | 
            +
                  Array.new(CODE_LENGTH) { rand(CODE_RANGE) }.join
         | 
| 71 75 | 
             
                end
         | 
| 72 76 |  | 
| 73 77 | 
             
                def generate_hint
         | 
| 74 | 
            -
                  @code.chars.shuffle | 
| 78 | 
            +
                  hint_code = @code.chars.shuffle
         | 
| 79 | 
            +
                  hint_code.pop
         | 
| 75 80 | 
             
                end
         | 
| 76 81 |  | 
| 77 82 | 
             
                def difficulty_option
         | 
| @@ -86,8 +91,7 @@ module Codebreaker | |
| 86 91 | 
             
                    hints: difficulty_option[:hints],
         | 
| 87 92 | 
             
                    code: @code,
         | 
| 88 93 | 
             
                    used_attempts: difficulty_option[:attempts] - @attempts_left,
         | 
| 89 | 
            -
                    used_hints: difficulty_option[:hints] - @hints_left | 
| 90 | 
            -
                    win: win?
         | 
| 94 | 
            +
                    used_hints: difficulty_option[:hints] - @hints_left
         | 
| 91 95 | 
             
                  }
         | 
| 92 96 | 
             
                end
         | 
| 93 97 | 
             
              end
         | 
    
        data/lib/codebreaker/loader.rb
    CHANGED
    
    | @@ -1,7 +1,9 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 1 3 | 
             
            module Codebreaker
         | 
| 2 4 | 
             
              module Loader
         | 
| 3 5 | 
             
                PATH = File.join(File.dirname(__FILE__), 'data/').freeze
         | 
| 4 | 
            -
                EXTENCTION = '.yml' | 
| 6 | 
            +
                EXTENCTION = '.yml'
         | 
| 5 7 | 
             
                def self.load(file_name)
         | 
| 6 8 | 
             
                  file_name = PATH + file_name + EXTENCTION.to_s
         | 
| 7 9 | 
             
                  if File.exist?(file_name)
         | 
    
        data/lib/codebreaker/output.rb
    CHANGED
    
    
| @@ -1,7 +1,11 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 1 3 | 
             
            module Codebreaker
         | 
| 2 4 | 
             
              module Validation
         | 
| 5 | 
            +
                MIN_NAME_LENGTH = 3
         | 
| 6 | 
            +
                MAX_NAME_LENGTH = 20
         | 
| 3 7 | 
             
                def name_is_valid?(name)
         | 
| 4 | 
            -
                  name.instance_of?(String) && name.length.between?( | 
| 8 | 
            +
                  name.instance_of?(String) && name.length.between?(MIN_NAME_LENGTH, MAX_NAME_LENGTH)
         | 
| 5 9 | 
             
                end
         | 
| 6 10 |  | 
| 7 11 | 
             
                def input_is_valid?(input)
         | 
    
        data/lib/codebreaker/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: codebreaker_kub
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.1 | 
| 4 | 
            +
              version: 0.2.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - katia kub
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2020-07- | 
| 11 | 
            +
            date: 2020-07-16 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: fasterer
         |