function p.__get_is_solid() return true end
function p.__get_tex() return "block_room" end

function p.__main()
    set_default_block("r_room")
    
    create_rect("e", 1,1,1, 14,14,14)
    create_rect("e", 6,15,6, 8,15,8)
    create_rect("e", 6,0,6, 8,0,8)
    
    --Maze example.
    create_rect("r_brown", 7,7,1, 7,7,6)
    set_pos(7,7,7, "block_lev4_maze2b")
    add_bent(7,7,8, "bent_base_ring_green")

    set_pos(8,8,7, "grow")
    set_pos(8,6,7, "grow")
    set_pos(6,8,7, "grow")
    set_pos(6,6,7, "grow")

    local msg_str = "After you call maze_end, there are "
        .. "two other useful functions you can call. "
        .. "The first is ^x00ff00maze_num_edges_from_vertex^!. "
        .. "This will tell you the number of open edges "
        .. "incident to the given vertex. "
        .. "This is useful for determining which vertices\n\n"
        .. "are \"dead ends\". "
        .. "In the maze below, these \"dead ends\" are colored black.\n\n"
        .. "You could also probably use get_pos for the same purpose. "
    add_bent_s(7,7,12,"bent_base_txt",msg_str)

    msg_str = "A second useful function to call, "
        .. "after you have called maze_end, is "
        .. "^x00ff00maze_rank_deepest^!. "
        .. "You pass to this function an array of \"source positions\". "
        .. "The function will return an array of all the vertices, "
        .. "sorted by distance to the sources. "
        .. "The vertices farthest from the sources are listed first. "
        .. "In the example below, there is one source position (green) "
        .. "and the farthest away position from the source is brown. "
    add_bent_s(7,7,10,"bent_base_txt",msg_str)
end
