class PlayerFactory

Public Instance Methods

create_players(player_option, command_line_ui) click to toggle source
# File lib/player_factory.rb, line 6
def create_players(player_option, command_line_ui)
  if player_option == PlayerOptions::HUMAN_VS_HUMAN
    human_vs_human(command_line_ui)
  elsif player_option == PlayerOptions::HUMAN_VS_AI
    human_vs_ai(command_line_ui)
  else
    ai_vs_human(command_line_ui)
  end
end

Private Instance Methods

ai_vs_human(command_line_ui) click to toggle source
# File lib/player_factory.rb, line 32
def ai_vs_human(command_line_ui)
  [
    AiPlayer.new(PlayerSymbols::X),
    create_human(command_line_ui, PlayerSymbols::O)
  ]
end
human_vs_ai(command_line_ui) click to toggle source
# File lib/player_factory.rb, line 25
def human_vs_ai(command_line_ui)
  [
    create_human(command_line_ui, PlayerSymbols::X),
    AiPlayer.new(PlayerSymbols::O)
  ]
end
human_vs_human(command_line_ui) click to toggle source
# File lib/player_factory.rb, line 18
def human_vs_human(command_line_ui)
  [
    create_human(command_line_ui, PlayerSymbols::X),
    create_human(command_line_ui, PlayerSymbols::O)
  ]
end