Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save EmFoley/7378270 to your computer and use it in GitHub Desktop.
Save EmFoley/7378270 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
def retrieve(coord_array)
@grid[coord_array.first][coord_array.last]
end
def create_word(*letters)
word = []
letters.each {|x| word << retrieve(x)}
word.join
end
def get_row(row)
puts @grid[row].join
end
def get_col(column)
puts @grid.transpose[column].join
end
end
end
dice_grid = [["b", "r", "a", "e"],
["i", "o", "d", "t"],
["e", "c", "l", "r"],
["t", "a", "k", "e"]]
#Driver Code
boggle_board = BoggleBoard.new(dice_grid)
boggle_board.create_word([1,2],[3,0],[2,1]) #=> dtc
boggle_board.create_word([3,0],[3,1],[3,2],[3,3]) #=> tak
boggle_board.get_col(1) #=> roca
boggle_board.get_row(2) #=> eclr
# create driver test code to retrieve a value at a coordinate here:
boggle_board.retrieve([3,2])#=> "k"
@EmFoley
Copy link
Author

EmFoley commented Nov 8, 2013

Reviewing and reflecting- some parts of this were incredibly simple, and some were more tangled up. I'm still mentally getting hold of making sure to define what takes place within a class vs. main. Learning about transpose was awesomely helpful.

@shkurkin
Copy link

Sweet transpose, really elegant solution to get_col

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment