Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mattlewissf/8384939 to your computer and use it in GitHub Desktop.
Save mattlewissf/8384939 to your computer and use it in GitHub Desktop.
phase 0 unit 2 week 1 boggle class challenge
class BoggleBoard
def initialize(board)
@board = board
end
def create_word(*coords)
coords.map { |coord| @board[coord.first][coord.last]}.join("")
end
#Objective 2 : write method to return row elements.
def get_row(row)
return @board[row].join("")
end
#Objective 3 : Write method to return column elements.
def get_col(col)
required_col = []
@board.length.times do |row|
required_col << @board[row][col]
end
return required_col.join("")
end
def get_diagonal(start_corner_row = 0, start_corner_column = 0)
diagonal_array = []
if start_corner_row == 0 && start_corner_column == 0
@board.length.times do
diagonal_array << @board[start_corner_row][start_corner_column]
start_corner_row +=1
start_corner_column +=1
end
elsif start_corner_row == 0 && start_corner_column == 3 # can also be @board.length-1 (-1 as count starts from zero)
@board.length.times do
diagonal_array << @board[start_corner_row][start_corner_column]
start_corner_row +=1
start_corner_column -=1
end
elsif start_corner_row == 3 && start_corner_column == 0
@board.length.times do
diagonal_array << @board[start_corner_row][start_corner_column]
start_corner_row -=1
start_corner_column +=1
end
elsif start_corner_row == 3 && start_corner_column == 3
@board.length.times do
diagonal_array << @board[start_corner_row][start_corner_column]
start_corner_row -=1
start_corner_column -=1
end
end
return diagonal_array.inspect
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)
puts boggle_board.create_word([3,0],[3,1],[2,2],[3,2]) #=> returns "talk"
puts boggle_board.get_row(0) #brae
puts boggle_board.get_row(1) #iodt
puts boggle_board.get_row(2) #eclr
puts boggle_board.get_row(3) #take - is a word
puts "------inspecting joined columns"
puts boggle_board.get_col(0) #biet
puts boggle_board.get_col(1) #roca
puts boggle_board.get_col(2) #adlk
puts boggle_board.get_col(3) #etre
puts "------Accessing a co-ordinate-------------------------"
puts boggle_board.get_col(2).split("")[3]
puts "------Get Diagonal------------------------------------"
puts boggle_board.get_diagonal
puts boggle_board.get_diagonal(3,3)
puts boggle_board.get_diagonal(3,0)
puts boggle_board.get_diagonal(0,3)
# puts create_word(boogle_board, [0,0], [0,1], [1,0], [2,0]) #=> returns "brie"
# puts create_word(boogle_board, [3,0], [3,1], [2,2], [3,2]) #=> returns "talk"
#Objective 2 driver code
#puts " ------------------------ "
#puts "Checking for Boggle Board rows"
#puts boggle_board.get_row(0) #=> "t", "a", "l", "k"]
#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(4) #=> nil
#Objective 3 driver code
#puts " ------------------------ "
#puts "Checking for Boggle Board columns"
#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_col(4) #=> [nil, nil, nil, nil]
#your code here
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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment