Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save missingno15/8778860 to your computer and use it in GitHub Desktop.
Save missingno15/8778860 to your computer and use it in GitHub Desktop.
phase 0 unit 2 week 1boggle class challenge
class BoggleBoard
attr_reader :board
def initialize(board)
@board = board
end
def create_word(*coords)
coords.map { |coord| board[coord.first][coord.last]}.join("")
end
def get_row(row)
board[row]
end
def get_col(col)
board.map { |x_axis| x_axis[col] }
end
def pinpoint_val(x, y)
board[x][y]
end
def get_diagonal
x = 0
y = 0
diagonal = []
while y < board.size
diagonal << board[x][y]
x+=1; y+=1
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.get_col(0) == ["b", "i", "e", "t"]
puts boggle_board.get_col(1) == ["r", "o", "c", "a"]
puts boggle_board.get_col(2) == ["a", "d", "l", "k"]
puts boggle_board.get_col(3) == ["e", "t", "r", "e"]
puts boggle_board.get_row(0) == ["b", "r", "a", "e"]
puts boggle_board.get_row(1) == ["i", "o", "d", "t"]
puts boggle_board.get_row(2) == ["e", "c", "l", "r"]
puts boggle_board.get_row(3) == ["t", "a", "k", "e"]
puts boggle_board.pinpoint_val(1,2) == "d"
puts boggle_board.pinpoint_val(1,1) == "o"
puts boggle_board.pinpoint_val(2,1) == "c"
puts boggle_board.pinpoint_val(3,2) == "k"
puts boggle_board.get_diagonal == ["b", "o", "l", "e"]
# create driver test code to retrieve a value at a coordinate here:
puts boggle_board.pinpoint_val(1,2) == "d"
puts boggle_board.pinpoint_val(1,1) == "o"
puts boggle_board.pinpoint_val(2,1) == "c"
puts boggle_board.pinpoint_val(3,2) == "k"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment