そこまで難しくないだろうと全部自作してみたら、
・当たり判定がなんか重い
・なぜか時々壁でハマる(動けなくなる)
なシロモノになってしまった……いったい何がおかしいんだ……
ちなみにアルゴリズムとしては、
・ブロック(壁)に衝突しない範囲でボールを動かす
・左右カーソルキーで左右移動、スペースキーでジャンプ、
シフトキー+カーソルキーでブロック設置/撤去
・当たり判定はコードの通り。「不自然にブロック1つ分空く」
ようなことがないように小細工した
といった感じ。
書いたコード→http://codepad.org/IoWBDOYN