Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save gamolsch/8772122 to your computer and use it in GitHub Desktop.
Save gamolsch/8772122 to your computer and use it in GitHub Desktop.
phase 0 unit 2 week 1boggle class challenge
class BoggleBoard
def initialize(grid)
@grid = grid
end
def create_word(*coords)
coords.map {|coord| @grid[coord.first][coord.last]}.join("")
end
def get_row(row)
@grid[row].join("")
end
def get_col(col)
@grid.map {|x| x[col]}.join("")
end
def diagonals(col)
row = 0
diag = []
while col == 3
4.times do
diag << create_word([row, col])
row += 1
col -= 1
end
end
while col == 0
4.times do
diag << create_word([row, col])
row += 1
col += 1
end
end
diag
end
end
dice_grid = [["b", "r", "a", "e"],
["i", "o", "d", "t"],
["a", "c", "l", "r"],
["r", "e", "k", "a"]]
boggle_board = BoggleBoard.new(dice_grid)
puts boggle_board.create_word([1,2], [1,1], [2,1], [3,2]) # => dock
puts boggle_board.get_row(0) # => brae
puts boggle_board.get_row(1) # => iodt
puts boggle_board.get_row(2) # => aclr
puts boggle_board.get_row(3) # => reka
puts boggle_board.get_col(0) # => biar
puts boggle_board.get_col(1) # => roce
puts boggle_board.get_col(2) # => adlk
puts boggle_board.get_col(3) # => etra
puts boggle_board.create_word([3,2]) # => k
print boggle_board.diagonals(0) # => bola
puts
print boggle_board.diagonals(3) # => edcr
puts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment