Class: Game
Constant Summary
collapse
- STATUS_IN_PROGRESS =
:in_progress
- STATUS_WIN =
:win
- STATUS_LOSE =
:lose
Codebreaker::Storage::FILE_NAME
Instance Attribute Summary collapse
Instance Method Summary
collapse
init_store, load, save, storage_exists?, store
Constructor Details
#initialize ⇒ Game
Returns a new instance of Game.
Instance Attribute Details
#user ⇒ Object
Returns the value of attribute user.
8
9
10
|
# File 'lib/codebreaker.rb', line 8
def user
@user
end
|
Instance Method Details
#create_difficulty(difficulty_name) ⇒ Object
#create_user(name, difficulty) ⇒ Object
22
23
24
|
# File 'lib/codebreaker.rb', line 22
def create_user(name, difficulty)
@user = Codebreaker::User.new(name, difficulty)
end
|
#lose? ⇒ Boolean
34
35
36
|
# File 'lib/codebreaker.rb', line 34
def lose?
@status == STATUS_LOSE
end
|
#save_storage ⇒ Object
51
52
53
54
55
|
# File 'lib/codebreaker.rb', line 51
def save_storage
@storage.transaction do
@storage[:winners] = @winners || []
end
end
|
#take_attempt(guess) ⇒ Object
44
45
46
47
48
49
|
# File 'lib/codebreaker.rb', line 44
def take_attempt(guess)
return equal(@secret_code, guess.to_s) if user.attempts?
@status = STATUS_LOSE
nil
end
|
#take_hint ⇒ Object
38
39
40
41
42
|
# File 'lib/codebreaker.rb', line 38
def take_hint
user.hint if user.hints?
@hints.pop
end
|
#win? ⇒ Boolean
30
31
32
|
# File 'lib/codebreaker.rb', line 30
def win?
@status == STATUS_WIN
end
|