function [maze_figure, maze_axes] = drawMaze3d(maze)
title('this will become the 3d maze')
axis([0 maze.number_of_columns 0 maze.number_of_rows+2]);
set(gca, 'xlim', [0 maze.number_of_columns], 'ylim', [2 maze.number_of_rows+2], 'xtick', [], 'ytick', []);
set(gca, 'xtick', [], 'ytick', [], 'ztick', []);
for i_col = 1:maze.number_of_columns
for i_row = 1:maze.number_of_rows
if maze.hasWall(i_row, i_col, 1)
drawWallNorth(maze, i_row, i_col);
if maze.hasWall(i_row, i_col, 2)
drawWallEast(maze, i_row, i_col);
if maze.hasWall(i_row, i_col, 3)
drawWallSouth(maze, i_row, i_col);
if maze.hasWall(i_row, i_col, 4)
drawWallWest(maze, i_row, i_col);
function drawWallNorth(maze, row, column)
y1 = maze.number_of_rows - row + 3;
y2 = maze.number_of_rows - row + 3;
plot([x1, x2], [y1, y2], 'k', 'linewidth', 4);
function drawWallEast(maze, row, column)
y1 = maze.number_of_rows - row + 3;
y2 = maze.number_of_rows - row + 2;
plot([x1, x2], [y1, y2], 'k', 'linewidth', 4);
function drawWallSouth(maze, row, column)
y1 = maze.number_of_rows - row + 2;
y2 = maze.number_of_rows - row + 2;
plot([x1, x2], [y1, y2], 'k', 'linewidth', 4);
function drawWallWest(maze, row, column)
y1 = maze.number_of_rows - row + 3;
y2 = maze.number_of_rows - row + 2;
plot([x1, x2], [y1, y2], 'k', 'linewidth', 4);