Sha256: f793cab47e5f1370bfa6de7ba126598d78d27462539ac8057623305caa4bae3f

Contents?: true

Size: 1.06 KB

Versions: 1

Compression:

Stored size: 1.06 KB

Contents

# Dir[File.join(File.expand_path(File.dirname(__FILE__)), 'shared', '*.rb')].each {|file| require file }
# Dir[File.join(File.expand_path(File.dirname(__FILE__)), 'tictactoe', '*.rb')].each {|file| require file }

require File.join('games', 'shared', 'io_terminal')
require File.join('games', 'tictactoe', 'io_helpers')
require File.join('games', 'tictactoe', 'board_presenter_terminal')
require File.join('games', 'tictactoe', 'board_builder')
require File.join('games', 'tictactoe', 'players_factory')
require File.join('games', 'tictactoe', 'game')

class TicTacToe
  def self.run
    io = Shared::IOTerminal.new
    io_helpers = TTT::IOHelpers.new(io)
    board_presenter = TTT::BoardPresenterTerminal.new
    board_builder = TTT::BoardBuilder.new
    players_factory = TTT::PlayersFactory.new(io_helpers)

    game = TTT::Game.new(
                         io_helpers: io_helpers,
                         board_presenter: board_presenter,
                         board_builder: board_builder,
                         players_factory: players_factory,
    )
    game.play
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
games_bfox-0.6.0 lib/games/tictactoe.rb