class Model::BoardSetup
Attributes
teams[RW]
Public Class Methods
new(args)
click to toggle source
# File lib/tic_tac_toe/model/board_setup.rb, line 5 def initialize(args) @board_klass = args[:board_klass] @tile_collection_klass = args[:tile_collection_klass] @team_collection_klass = args[:team_collection_klass] @game_state = args[:game_state] @tile_klass = args[:tile_klass] @dimensions = args[:dimensions] @teams = [] end
Public Instance Methods
create_board()
click to toggle source
# File lib/tic_tac_toe/model/board_setup.rb, line 15 def create_board tiles = create_tiles @board_klass.new(tile_collection: @tile_collection_klass.new(tiles, @dimensions), team_collection: @team_collection_klass.new(@teams), game_state: @game_state.new) end
Private Instance Methods
create_tiles()
click to toggle source
# File lib/tic_tac_toe/model/board_setup.rb, line 25 def create_tiles cnt = @dimensions**2 (1..cnt).map { |_i| @tile_klass.new } end