module TicTacToe::PlayerFactory
Public Class Methods
build(parameters)
click to toggle source
# File lib/player_factory.rb, line 7 def self.build(parameters) case parameters[:type] when AvailablePlayerTypes::HUMAN create_human_player(parameters) when AvailablePlayerTypes::COMPUTER create_computer_player(parameters) end end
Private Class Methods
create_computer_player(parameters)
click to toggle source
# File lib/player_factory.rb, line 26 def self.create_computer_player(parameters) computer_parameters = { player_mark: parameters[:player_mark], opponent_mark: (parameters[:game].player_marks - [parameters[:player_mark]]).pop, board: parameters[:game].board } ComputerPlayer.new(computer_parameters) end
create_human_player(parameters)
click to toggle source
# File lib/player_factory.rb, line 18 def self.create_human_player(parameters) human_parameters = { player_mark: parameters[:player_mark], interface: parameters[:game].interface } HumanPlayer.new(human_parameters) end