Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save jchod77/8732609 to your computer and use it in GitHub Desktop.
Save jchod77/8732609 to your computer and use it in GitHub Desktop.
phase 0 unit 2 week 1boggle class challenge
class BoggleBoard
def initialize(boggle_board)
@boggle_board = boggle_board
end
def create_word(*coords)
coords.map { |coord| @boggle_board[coord.first][coord.last]}.join("")
end
def get_row(row)
@boggle_board[row]
end
def get_col(col)
column = []
@boggle_board.each {|value| column << value[col]}
return column
end
def get_diagonal(first,last)
diagonal=[]
if last[0]-first[0] != last[1]-first[1] then raise "not a diagonal" end
for i in first[0]..last[0]
diagonal.push(@board[i][first[1]+i])
end
diagonal
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:
puts boggle_board.create_word([1,2], [1,1], [2,1], [3,2]) #=> outputs 'dock'
p boggle_board.get_row(0) #=> outputs ["b", "r", "a", "e"]
p boggle_board.get_row(1) #=> outputs ["i", "o", "d", "t"]
p boggle_board.get_row(2) #=> outputs ["e", "c", "l", "r"]
p boggle_board.get_row(3) #=> outputs ["t", "a", "k", "e"]
p boggle_board.get_col(0) #=> outputs ["b", "i", "e", "t"]
p boggle_board.get_col(1) #=> outputs ["r", "o", "c", "a"]
p boggle_board.get_col(2) #=> outputs ["a", "d", "l", "k"]
p boggle_board.get_col(3) #=> outputs ["e", "t", "r", "e"]
puts boggle_board.get_row(0).join #=> outputs brae
puts boggle_board.get_row(1).join #=> outputs iodt
puts boggle_board.get_row(2).join #=> outputs eclr
puts boggle_board.get_row(3).join #=> outputs take
puts boggle_board.get_col(0).join #=> outputs biet
puts boggle_board.get_col(1).join #=> outputs roca
puts boggle_board.get_col(2).join #=> outputs adlk
puts boggle_board.get_col(3).join #=> outputs etre
# create driver test code to retrieve a value at a coordinate here:
puts boggle_board.create_word([3,2]) #=> outputs k
# get_diagonal driver code
p boggle_board.get_diagonal([0,0], [3,3])
# 0,1,2,3
# 1,2,3,4
# 2,3,4,5
# 3,4,5,6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment