Class: MastermindSname::Player

Inherits:
Object
  • Object
show all
Includes:
Input
Defined in:
lib/mastermind_sname/sname/player.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Input

#get_input

Constructor Details

#initializePlayer

Returns a new instance of Player.



6
7
8
# File 'lib/mastermind_sname/sname/player.rb', line 6

def initialize
  @message = Message.new
end

Instance Attribute Details

#levelObject

Returns the value of attribute level.



4
5
6
# File 'lib/mastermind_sname/sname/player.rb', line 4

def level
  @level
end

#nameObject

Returns the value of attribute name.



4
5
6
# File 'lib/mastermind_sname/sname/player.rb', line 4

def name
  @name
end

Instance Method Details

#set_full_levelObject



31
32
33
34
35
36
37
# File 'lib/mastermind_sname/sname/player.rb', line 31

def set_full_level
  case @level
  when "i" then "intermediate"
  when "b" then "beginner"
  when "a" then "advanced"
  end
end

#set_levelObject



20
21
22
23
24
25
26
27
28
29
# File 'lib/mastermind_sname/sname/player.rb', line 20

def set_level
  puts @message.get_level_message
  @level = get_input
  loop do
    break if valid_level?
    puts @message.invalid_level
    @level = get_input
  end
  @level
end

#set_playerObject



10
11
12
# File 'lib/mastermind_sname/sname/player.rb', line 10

def set_player
  { name: set_player_name, level: set_level, full_level: set_full_level }
end

#set_player_nameObject



14
15
16
17
18
# File 'lib/mastermind_sname/sname/player.rb', line 14

def set_player_name
  puts "Enter first name"
  @name = get_input
  @name.capitalize!
end

#valid_level?Boolean

Returns:

  • (Boolean)


39
40
41
42
# File 'lib/mastermind_sname/sname/player.rb', line 39

def valid_level?
  valid_level = [:a, :b, :i]
  valid_level.include?(@level.to_sym)
end