Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save knnyluk/7996900 to your computer and use it in GitHub Desktop.
Save knnyluk/7996900 to your computer and use it in GitHub Desktop.
phase 0 unit 2 week 1 boggle class challenge
class BoggleBoard
def initialize(grid)
@grid = grid
end
attr_reader :grid
def create_word(*coords)
coords.map { |coord| @grid[coord.first][coord.last]}.join("")
end
def get_row(row_num)
@grid[row_num]
end
def get_col(col_num)
@grid.map { |row| row[col_num] }
end
def get_coord(row, col)
@grid[row][col]
end
end
dice_grid = [["b", "r", "a", "e"],
["i", "o", "d", "t"],
["e", "c", "l", "r"],
["t", "a", "k", "e"]]
boggle_board = BoggleBoard.new(dice_grid)
# implement tests for each of the methods here:
p boggle_board.create_word([2,2], [3,1], [3,2], [3,3])
p boggle_board.create_word([1,2], [1,1], [2,1], [3,2])
p boggle_board.get_row(1)
p boggle_board.get_col(1)
p boggle_board.get_coord(3, 2)
boggle_board.grid.count.times { |i| puts boggle_board.get_row(i).join; puts boggle_board.get_col(i).join}
# create driver test code to retrieve a value at a coordinate here:
p boggle_board.get_coord(3, 2) == 'k'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment