Forked from dbc-challenges/0.2.1-boggle_class_from_methods.rb
Created
January 12, 2014 23:02
-
-
Save tylerstauss/8391911 to your computer and use it in GitHub Desktop.
phase 0 unit 2 week 1
boggle class challenge
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Solution for Challenge: A Nested Array to Model a Boggle Board. Started 2014-01-12T22:34:54+00:00 | |
class BoggleBoard | |
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) | |
column = [] | |
num = @board.length - 1 | |
0.upto(num) do |n| | |
column.push @board[n][col] | |
end | |
column | |
end | |
def get_letter(row, col) | |
@board[row][col] | |
end | |
def get_diagonal(coord1, coord2) | |
diagonal = [] | |
row1 = coord1[0] | |
col1 = coord1[1] | |
row2 = coord2[0] | |
col2 = coord2[1] | |
@board | |
end | |
end | |
dice_grid = [["b", "r", "a", "e"], | |
["i", "o", "d", "t"], | |
["e", "c", "l", "r"], | |
["t", "a", "k", "e"]] | |
# objective 2 | |
boggle_board = BoggleBoard.new(dice_grid) | |
p boggle_board.create_word([1,2], [1,1], [2,1], [3,2]) == "dock" | |
p boggle_board.get_row(1) == ["i", "o", "d", "t"] | |
p boggle_board.get_col(2) == ["a", "d", "l", "k"] | |
p boggle_board.create_word([0,0], [0,1], [0,2], [1,3]) == "brat" | |
# all rows as string | |
puts boggle_board.get_row(0).join("") | |
puts boggle_board.get_row(1).join("") | |
puts boggle_board.get_row(2).join("") | |
puts boggle_board.get_row(3).join("") | |
# all columns as string | |
puts boggle_board.get_col(0).join("") | |
puts boggle_board.get_col(1).join("") | |
puts boggle_board.get_col(2).join("") | |
puts boggle_board.get_col(3).join("") | |
# objective 3 | |
p boggle_board.get_letter(3,2) #=> "k" | |
# objective 4 - bonus | |
# reflect | |
# this challenge wasn't much different from the previous boggle board. I understand that now this is | |
# object oriented programming. I was unable to do the get_diagonal method by myself. I needed to research | |
# and find other people's solutions. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment