Class: BoardRenderer
- Inherits:
-
Object
- Object
- BoardRenderer
- Defined in:
- lib/command_four/board_renderer.rb
Defined Under Namespace
Classes: TextCell
Instance Method Summary collapse
-
#initialize(board) ⇒ BoardRenderer
constructor
A new instance of BoardRenderer.
- #render_for_printing ⇒ Object
Constructor Details
#initialize(board) ⇒ BoardRenderer
Returns a new instance of BoardRenderer.
4 5 6 |
# File 'lib/command_four/board_renderer.rb', line 4 def initialize(board) @board = board end |
Instance Method Details
#render_for_printing ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/command_four/board_renderer.rb', line 8 def render_for_printing row_divider = ("+" + ("----+" * @board.width)).blue col_divider = "|".blue result = "" << (row_divider + "\n") string_symbol_board = @board.to_a.map do |row| row.map {|cell_color| TextCell.new(" ", "#{color_to_s(cell_color)}", " ")} end if @board.game_over? add_winning_cell_highlights(string_symbol_board) end string_board = string_symbol_board.transpose.reverse.map do |row| col_divider + row.map(&:to_s).join(col_divider) + col_divider end result << string_board.join(+ "\n" + row_divider + "\n") << "\n" <<row_divider end |