Возможно стоит использовать другой подход, не меняя языка программирования?
Да, стоит использовать другой подход.
Персонаж, стены и пол у вас должны быть объектами со своими координатами и размерами. Тогда вы сможете математически вычислять коллизии между ними. А, картинки (с фоном, без фона и т.д.) использовать как текстуры к этим объектам.