class Codebreaker::Game
Constants
- ATTEMPTS
- HINTS
Attributes
attempts[R]
guess[R]
guesses[R]
hints_left[R]
player[RW]
requested_hint[R]
result[R]
Public Class Methods
new()
click to toggle source
# File lib/codebreaker/game.rb, line 14 def initialize @attempts = ATTEMPTS @hints_left = HINTS @guesses = 0 @secret_code = Array.new(4) { rand(1..6) } end
Public Instance Methods
compare(input)
click to toggle source
# File lib/codebreaker/game.rb, line 21 def compare(input) @guess = input @attempts -= 1 @guesses += 1 @result = Marker.new(@guess, @secret_code).result end
hint()
click to toggle source
# File lib/codebreaker/game.rb, line 32 def hint return @requested_hint = '' unless @hints_left.nonzero? @hints_left -= 1 @requested_hint = @secret_code[rand(0..3)] end
score()
click to toggle source
# File lib/codebreaker/game.rb, line 38 def score return 0 if @attempts.zero? @attempts * 200 + @hints_left * 100 + 50 end
win?()
click to toggle source
# File lib/codebreaker/game.rb, line 28 def win? @result == '++++' ? true : false end