class Board
Attributes
squares[R]
Public Class Methods
new(squares = [' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '])
click to toggle source
# File lib/ttt_malisa/board.rb, line 4 def initialize(squares = [' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ']) @squares = squares end
Public Instance Methods
available_moves()
click to toggle source
# File lib/ttt_malisa/board.rb, line 18 def available_moves open_squares = [] @squares.each_with_index {|value, index| open_squares << index if value == ' '} open_squares end
display()
click to toggle source
# File lib/ttt_malisa/board.rb, line 8 def display <<-HEREDOC #{@squares[0]} | #{@squares[1]} | #{@squares[2]} ----------- #{@squares[3]} | #{@squares[4]} | #{@squares[5]} ----------- #{@squares[6]} | #{@squares[7]} | #{@squares[8]} HEREDOC end
full?()
click to toggle source
# File lib/ttt_malisa/board.rb, line 36 def full? @squares.all? do |index| index != ' ' end end
mark(index, mark = 'X')
click to toggle source
# File lib/ttt_malisa/board.rb, line 32 def mark(index, mark = 'X') @squares[index] = mark end
position_taken?(index)
click to toggle source
# File lib/ttt_malisa/board.rb, line 24 def position_taken?(index) @squares[index] != ' ' end
valid_move?(index)
click to toggle source
# File lib/ttt_malisa/board.rb, line 28 def valid_move?(index) index.between?(0, 8) && !position_taken?(index) end