Матем будет твоим другом здесь. Выполните быстрый поиск коллизии между точками и линиями (вот такая: Алгоритм обнаружения коллизии между отрезками и линиями? ).
То, что вы делаете, это бегите по массиву точек, создавая линии. Таким образом, линия 1 будет точками [0] и точками [1], а линия 2 будет точками [1] и точками [2]. После этого вы проверяете каждую линию против своего мяча (если вы хотите правильное столкновение, которое будет работать независимо от частоты кадров, то вы создаете линию шарика , которая является линией, по которой проходил мяч между последним кадр и этот). Сделайте свое обнаружение столкновения против линии шара и каждой линии, сделанной из ваших пунктов (есть тонны алгоритмов обнаружения столкновения линия-линия в сети). Из алгоритма, подобного этому, вы получите время, когда происходит столкновение на текущем временном шаге, а также нормали линии столкновения, которая даст вам угол отражения.
Если вы не знаете векторную математику, изучите ее, это сделает вашу жизнь намного проще. Опять же, в сети существует множество реализаций класса Vector2.
Вы можете произвольно удалять части стены по мере необходимости, просто игнорируя эти пункты в вашем чеке.
Другим ленивым решением было бы использование физического движка, такого как Box2D http://box2dflash.sourceforge.net/ или Nape: http://code.google.com/p/nape/ - это может быть излишним для того, что вы хотите для своей игры, но эй, это просто.
Для получения бонусных баллов другой техникой, которая может быть проще для вас, является Теорема о разделяющей оси, которая используется во флэш-игре N: http://www.metanetsoftware.com/technique.html