class Board

Attributes

cells[RW]
input[R]

Public Class Methods

new() click to toggle source
# File lib/board.rb, line 6
def initialize
  @cells = Array.new(9, " ")
end

Public Instance Methods

display() click to toggle source
# File lib/board.rb, line 19
def display
  puts " #{@cells[0]} | #{@cells[1]} | #{@cells[2]} "
  puts "-----------"
  puts " #{@cells[3]} | #{@cells[4]} | #{@cells[5]} "
  puts "-----------"
  puts " #{@cells[6]} | #{@cells[7]} | #{@cells[8]} "
end
full?() click to toggle source
# File lib/board.rb, line 32
def full?
@cells.include?(" " || "" || nil) ? false : true
end
input=(input) click to toggle source
# File lib/board.rb, line 14
def input=(input)
  @input = gets.strip
  @input.to_i
end
position(input) click to toggle source
# File lib/board.rb, line 27
def position(input)
  index = (input.to_i - 1)
  @cells[index]
end
reset!() click to toggle source
# File lib/board.rb, line 10
def reset!
  @cells = Array.new(9, " ")
end
taken?(input) click to toggle source
# File lib/board.rb, line 43
def taken?(input)
  if position(input) == "X"
    true
  elsif position(input) == "O"
    true
  else
    false
  end
end
turn_count() click to toggle source
# File lib/board.rb, line 36
def turn_count
  x_turns = @cells.count("X")
  o_turns = @cells.count("O")
  turn_count = x_turns + o_turns
  return turn_count
end
update(position, player) click to toggle source
# File lib/board.rb, line 61
def update(position, player)
index = (position.to_i - 1)
@cells[index] = player.token
end
valid_move?(input) click to toggle source
# File lib/board.rb, line 53
def valid_move?(input)
  if (input.to_i.between?(1,9) == true) && (taken?(input.to_i) == false)
    return true
  else
    return false
  end
end