Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save pvergel/8041811 to your computer and use it in GitHub Desktop.
Save pvergel/8041811 to your computer and use it in GitHub Desktop.
phase 0 unit 2 week 1 boggle class challenge
class BoggleBoard
def initialize(dice_grid)
@dice_grid=dice_grid
end
def create_word(dice_grid, *coords)
coords.map { |coord| @dice_grid[coord.first][coord.last]}.join("")
end
def get_row(row)
@dice_grid[row]
end
def get_col(col)
arr=[]
count=0
until count==(@dice_grid.count)
arr <<@dice_grid[count][col]
count += 1
end
return arr
end
def get_coord(row,col)
@dice_grid[row][col]
end
def diagonal(arr1,arr2)
arr_d=[]
count=1
dif=((arr1[0]-arr2[0]).abs)
if (arr1[0]==arr2[0]|| arr1[1]==arr2[1])
return "NO DIAGONAL"
elsif arr1[0] < arr2[0]
until count == dif
val=@dice_grid[(arr1[0] + count)] [(arr1[0] + count)]
count += 1
arr_d << val
end
elsif arr1[0] > arr2[0]
until count == dif
val=@dice_grid[(arr1[0] - count)] [(arr1[0] - count)]
count += 1
arr_d << val
end
end
arr_d.unshift( @dice_grid[arr1[0]][arr1[1]])
arr_d << @dice_grid[arr2[0]][arr2[1]]
arr_d
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:
# create driver test code to retrieve a value at a coordinate here:
puts boggle_board.create_word(boggle_board, [2,1], [1,1], [1,2], [0,3])=="code"
puts boggle_board.create_word(boggle_board, [0,1], [0,2], [1,2])=="rad"
puts boggle_board.create_word(boggle_board, [1,3], [0,3], [0,2])=="tea"
puts boggle_board.create_word(boggle_board, [3,0], [3,1], [3,2], [3,3])=="take"
p boggle_board.get_row(1) == ["i", "o", "d", "t"]
p boggle_board.get_row(0) == ["b", "r", "a", "e"]
p boggle_board.get_row(2) == ["e", "c", "l", "r"]
p boggle_board.get_col(1)==["r", "o", "c", "a"]
p boggle_board.get_col(2)==["a", "d", "l", "k"]
p boggle_board.get_col(3)==["e", "t", "r", "e"]
p boggle_board.diagonal([0,0],[3,3])
p boggle_board.diagonal([3,3],[0,0])
p boggle_board.diagonal([1,1],[2,2])
p boggle_board.diagonal([0,0],[0,3])
p boggle_board.diagonal([0,0],[3,3])==["b","o","l","e"]
p boggle_board.diagonal([3,3],[0,0])==["e","l","o","b"]
p boggle_board.diagonal([1,1],[2,2])==["o","l"]
p boggle_board.diagonal([0,0],[0,3])== "NO DIAGONAL"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment