Sha256: a0cbbb1f0484cac4976b6d4b56b4cabb4871939533859e0449e18d144fe3f608

Contents?: true

Size: 733 Bytes

Versions: 2

Compression:

Stored size: 733 Bytes

Contents

# frozen_string_literal: true

require_relative "../string"

module Wordle
  class GuessAnalyzer
    def initialize(target_word, guess)
      @target_word = target_word
      @guess = guess
    end

    def match?
      @guess.downcase.strip == @target_word
    end

    def colors
      target_letters = @target_word.split("")
      guess_letters = @guess.split("")
      colored_letters = ""

      guess_letters.each_with_index do |letter, i|
        if letter == target_letters[i]
          colored_letters += letter.green
        elsif target_letters.include?(letter)
          colored_letters += letter.yellow
        else
          colored_letters += letter.gray
        end
      end

      colored_letters
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
wordle-0.1.1 lib/wordle/guess_analyzer.rb
wordle-0.1.0 lib/wordle/guess_analyzer.rb